您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > SuperMap-iClient-for-JavaScript开发教程_部分1
SuperMapiClientforJavaScript开发教程北京超图软件股份有限公司2015年9月目录第一章开发基础……………………………………………………………………1开发基础知识概述……………………………………………………………5SuperMapiServer介绍…………………………………………………………13SuperMapiClientforJavaScriptAPI介绍……………………………………20第二章Hello,world………………………………………………………………25快速入门……………………………………………………………………27总结…………………………………………………………………………46第三章地图显示与操作……………………………………………………………47地图显示的主要对象和方法…………………………………………………49访问浏览IServerREST地图…………………………………………………59访问浏览超图云地图………………………………………………………61访问浏览WMS地图…………………………………………………………63访问WMTS地图……………………………………………………………65第四章辅助控件开发………………………………………………………………72控件整体介绍…………………………………………………………………74辅助控件开发…………………………………………………………………76第五章绘制几何对象………………………………………………………………81矢量数据标绘………………………………………………………………83点对象客户端标注方法……………………………………………………92交互式绘制几何对象的方法………………………………………………98气泡窗口的显示方法………………………………………………………106第六章GIS功能开发……………………………………………………………110开发思路……………………………………………………………………112查询功能……………………………………………………………………132专题图………………………………………………………………………176空间分析……………………………………………………………………196网络分析……………………………………………………………………228数据编辑……………………………………………………………………251第七章开发进阶…………………………………………………………………265第三方地图服务的访问……………………………………………………267时空数据展示………………………………………………………………274海量数据标绘………………………………………………………………282鼠标样式……………………………………………………………………290业务数据整合………………………………………………………………292第八章应用部署…………………………………………………………………301部署前准备工作……………………………………………………………303应用系统的部署……………………………………………………………304第九章性能优化…………………………………………………………………320性能损耗分析………………………………………………………………322地图数据调优………………………………………………………………324地图响应效率调优…………………………………………………………328客户端显示调优……………………………………………………………355系统部署策略………………………………………………………………365关于本教程本教程共9章,包括开发基础,地图的显示与操作,GIS功能开发等内容,是基于SuperMapiServer7C(2015)v7.1.2版本编写的,后续会根据软件版本,逐渐更新本教程。本教程适合网络GIS入门人员使用。由于教程编写时间有限,书中难免有不足和疏忽之处,恳请读者批评指正。联系电话:010-59896626。联系邮箱:xinyu@supermap.com或chenying@supermap.com。本章主要介绍SuperMapiServer以客户端开发工具包SuperMapiClientforJavaScript的主要特点,以及进行客户端开发需要的基本知识。1REST介绍REST:表述状态转移(RepresentionalStateTransfer),是RoyThomasFielding(HTTP规范的主要编写者之一)博士在2000年他的博士论文中提出来的一种软件架构风格,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。REST并不是一个标准,而是通过表述(Representional)来描述传输状态的一种原则。其宗旨是从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表述。获得这些表述致使这些应用程序转变了其状态。随着不断获取资源的表述,客户端应用不断地在转变着其状态。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC相对比,更加简洁,越来越多的Web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。1.1REST的原则要理解RESTful架构,最好的方法就是去理解RepresentationalStateTransfer这个词组到底是什么意思,它的每一个词代表了什么涵义。1、REST的名称“表述性状态转化”中,省略了主语。“表述性”其实指的是“资源”(Resources)的“表述性”。所谓“资源”,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。所谓上网,就是与互联网上一系列的资源互动,调用它的URI2、表述:Representation,资源是一种信息实体,它可以有多种外在表现形式。我们把资源具体呈现出来的形式,叫做它的Representation。比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。3、状态转化(StateTransfer);互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生“状态转化”(StateTransfer)。而这种转化是建立在表述之上的,所以就是“表述状态转化。4、CRUD:客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。即CRUD(增加create,查询Retrieve,更新update,删除delete)5、无状态通信:首先,需要着重强调的是,虽然REST包含无状态性(statelessness)的观念,但这并不是说暴露功能的应用不能有状态——事实上,在大部分情况下这会导致整个做法没有任何用处。REST要求状态要么被放入资源状态中,要么保存在客户端上。或者换句话说,服务器端不能保持除了单次请求之外的,任何与其通信的客户端的通信状态。这样做的最直接的理由就是可伸缩性——如果服务器需要保持客户端状态,那么大量的客户端交互会严重影响服务器的内存可用空间(footprint)。(注意,要做到无状态通信往往需要需要一些重新设计——不能简单地将一些session状态绑缚在URI上,然后就宣称这个应用是RESTful。)但除此以外,其它方面可能显得更为重要:无状态约束使服务器的变化对客户端是不可见的,因为在两次连续的请求中,客户端并不依赖于同一台服务器。一个客户端从某台服务器上收到一份包含链接的文档,当它要做一些处理时,这台服务器宕掉了,可能是硬盘坏掉而被拿去修理,可能是软件需要升级重启——如果这个客户端访问了从这台服务器接收的链接,它不会察觉到后台的服务器已经改变了。1.2REST的特点REST是一种架构,而不是一个规范。在REST架构中,服务器是无状态的,也就是说服务器不会保存任何与客户端的会话状态信息。所有的状态信息只能放在双方沟通的Message(消息)中。REST架构是幂等的,对于相同的请求,服务器返回的结果也是相同的,因此服务器端返回的结果是可以缓存的,既可以存在客户端也可以存在代理服务器端。REST是一种典型的Client-Server架构,但是强调瘦服务器端,服务器端只应该处理跟数据有关的操作,所有有关显示的工作都应该放在客户端。2JavaScript开发基础什么是JavaScript:简单的说它是一种运行在客户端的脚本语言,结构简单,使用方便,其代码可以直接放入HTML文档中,可以直接在支持JavaScript的浏览器中运行。JavaScript使得网页制作的交互性更强,更生动和灵活。当在浏览网页时做了某种操作就产生一个事件,JavaScript所编写的程序对相应的事件做出反应。JavaScript语言的特点1)脚本编写语言--基于对象的语言JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。2)简单性JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。3)安全性JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。4)动态性JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(HomePage)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。5)跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。综合所述JavaScript是一种新的描述语言,它可以被箝入到HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件(如:form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。3JSON介绍JSON(JavaScriptObjectNota
本文标题:SuperMap-iClient-for-JavaScript开发教程_部分1
链接地址:https://www.777doc.com/doc-4482441 .html