OpenLayers学习笔记1——地图数据的加载

在OpenLayers中,我认为地图数据的关系为 Map包含Layer,Layer包含Source。

Map是容器用于存放Layer。Layer的数据使用Source指定的

Source与Layer

 Source和Layer是一一对应的,有一个Source,必然需要一个Layer,然后把Layer添加到Map上,就可以显示出来了。

Source与Layer的子类分别为ImageTileVector。其中,矢量图层Vector通过样式(Style)来设置矢量要素渲染的方式和外观。

Image对应的是一整张图。

Vector直接实例化创建矢量数据的数据源(支持各种格式的矢量数据),其子类则为扩展的某类矢量数据的数据源。

Tile为瓦片抽象基类,其子类作为各类瓦片数据的数据源。

(图源网络侵权必删)

上图中的类是按照继承关系,从左向右展开的,左边的为父类,右边的为子类。

在使用时,一般来说,都是直接使用叶子节点上的类,基本就可以完成需求。

父类需要自己进一步扩展或者处理才能有效使用。(可直接使用任意对象进行实例化)

Source下的子类

其中最复杂的是Tile类,其中包括:

在线服务的Source,包括ol.source.BingMaps(使用的是微软提供的Bing在线地图数据)、ol.source.Stamen(使用的是Stamen提供的在线地图数据)。没有自己的地图服务器的情况下,可直接使用它们,加载地图底图。

    支持协议标准的Source,包括ol.source.TileArcGISRest、ol.source.TileWMS、ol.source.WMTS、ol.source.UTFGrid、ol.source.TileJSON。如果要使用它们,首先你得先学习对应的协议,之后必须找到支持这些协议的服务器来提供数据源,这些服务器可以是底图服务提供商提供的,也可以是自己搭建的服务器,关键是得支持这些协议。

        ol.source.XYZ,这个需要单独提一下,因为是可以直接使用的,而且现在很多地图服务(在线的,或者自己搭建的服务器)都支持xyz方式的请求。国内在线的地图服务,高德、天地图等,都可以通过这种方式加载,本地离线瓦片地图也可以,用途广泛,且简单易学

参考:OpenLayers多源数据加载一:数据组织_openlayers加载多个wkt-CSDN博客

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值