关于webgis:Web-GIS原理与应用开发读书笔记6

43次阅读

共计 1612 个字符,预计需要花费 5 分钟才能阅读完成。

第六章 应用 Web 地图 API 拜访地图服务

以下均掺杂集体了解
书目:Web GIS 原理与利用开发 —— 刘光 曾敬文 曾庆丰 著

6.1 Web 地图 API

API:Application Programming Interface,利用程序接口。是编写程序的一个框架,蕴含了一组封装了底层代码的类与性能。

API 并不是一种编程语言,只是某种语言或者某些语言可调用的一组类和性能

6.1.1 Web 地图 API 的抉择

  • 运行在挪动端或者 pc 端
  • 应用程序或者是浏览器查看
  • 开发与保护的难度
  • 开源 API 或者是商业 API
  • 等等方面

6.1.2 次要 FOSS 类型的 Web 地图 API

6.1.2.1 Openlayers

Openlayers 采纳面向对象形式开发,并应用来自 Prototype.js 和 Rico 中的一些组件。

较为成熟,尽管文档较难了解,然而有大量的实例,还有社区。

6.1.2.2 Leaflet

玲珑不便,易于上手,在挪动设施上有良好的体验。

强调应用切片地图以及客户端的矢量图 <u> 绘制 </u>。

实例较少

6.1.2.3 D3

罕用于绘制图表

将数据绑定到页面的 DOM(文档对象模型)上,而后利用数据驱动转换到文档(页面元素),从而实现数据灵便地动画与变换成果。

6.1.2.4 Polymaps

在地图风格化方面有一个相似于 CSS 的选择器

6.1.3 次要的商业 Web 地图 API

6.1.3.1 谷歌地图与必应地图 API
6.1.3.2 ArcGIS APIs

6.2 应用 Web 地图 API 的根本步骤

尽管 API 应用办法不尽相同,每种 API 都是本人的长处和毛病,然而这个 API 都有一些通用模式与过程。

该形式为 HTML 页面援用形式,若应用框架开发,还需理解框架的具体操作办法。

6.2.1 援用 Javascript 与款式文件

在应用前,须要在 html 的 head 标签内,对 API 进行援用。

须要留神的是:援用的 js 越多,页面加载工夫越长(页面的 js 是通过网络申请获取到的)

援用 API 的形式

  • 将 API 下载并部署到本人的服务器上,这样做的益处是将加载工夫减到最小,而且能够自定义 API。
  • 援用别人服务器上的 API。内容散发网络(Content Delivery Network,CDN)站点专门用于存储通用 API。

对于 Web 地图 API,在援用 js 文件的同时,个别会有配套的款式文件(css)须要援用。

6.2.2 地图 div 与对象

在创立地图对象前,须要在页面创立一个 div 元素,用于显示地图,一个 div 对应一个地图对象,个别通过 id 属性进行绑定。

6.2.3 Layer 对象

在某种意义上,图层就代表 WMS 或者切片地图的一个 Web 服务,它自身也能够蕴含许多数据图层

图层对象通常是一个抽象类,提供一系列通用的属性办法,开发人员不能间接对其进行实例化,而是实例化它的子类(如 ArcGIS APIs 中的 WMSLayer、FeatureLayer、GraphicsLayer 等等)

创立好 Layer 对象后,不要遗记将其增加至地图对象中

6.2.4 图层款式化机制

对于从服务端获取的地图元素来说,款式曾经提前定义好了,而对于在客户端动静绘制的地图元素,咱们须要为其定义款式,API 会提供一些定义款式的办法,包含符号、填充色彩、填充款式等等。

6.2.5 事件与交互元素

最罕用的交互有两类,一类为鼠标或键盘事件,一类为图层显示管制

API 会提供地图的事件监听,创立监听对象时能够定义事件产生的回调函数

图层显示管制即管制某个图层的显示与暗藏。须要留神的是,切片服务无法控制外部某个图层,只能管制整体

6.2.6 异步解决

在 Web 地图 API 中,大部分操作都是异步的,这就要求咱们解决好代码运行的先后问题。

若没有解决好,在运行过程中通常会呈现的情况是某后果变量为 undefined。

最根底的解决方案是在 回调函数中定义回调函数,若回调过长会呈现回调天堂,大大降低代码可浏览性。

较好的解决方案为应用 promisepromise 配合 es6 的 async 函数

有些 API 也提供 链式调用 的计划。

正文完
 0