0302-二维地图开发-叠加业务图层

在二维地图上叠加业务数据是一个最基本的功能需求。API提供了很多类型的图层来帮助开发者添加所需要的业务数据。其中最常用的是以下两类:
1. MapImageLayer:
- 跟它的名字一样“地图图像图层”,字面理解是负责加载一份地图图像的图层。对应加载ArcGIS Server发布的MapServer服务,每次客户端请求地图服务的时候,GIS服务器根据请求的地图范围,将该范围内的数据生成一张图片返回客户端。它的优点是数据量大时(百万级别),由于由GIS服务器处理,所以速度很快。另外,由于返回的是图片,所以在客户端获取不到要素的信息(坐标和属性)。如果需要获取要素的信息,需要通过空间查询完成。
- 构造一个MapImageLayer对象时,地图服务的地址是MapServer,完整的地址格式类似
http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer
2. FeatureLayer
- FeatureLayer:要素图层,加载的是要素对象信息。对于加载ArcGIS Server发布的FeatureServer,每次客户端请求服务的时候,GIS服务器将根据请求的地图范围,返回该范围内的数据给客户端,注意返回的是要素的信息,包括几何坐标、属性信息和符号,由客户端对要素进行符号化。
- 构造一个FeatureLayer对象时,地图服务的地址是FeatureServer中的一个图层,完整的地址格式类似:
http://services.arcgis.com/V6ZHFr6zdgNZuVG0/ArcGIS/rest/services/Oklahoma_earthquakes/FeatureServer/0
- 适合少量数据(2000条数据是Esri建议的最大显示要素数)的可视化,可以配合热点图、聚合图功能使用。另外,由于返回的信息中包含了属性信息,所以开发者习惯的直接点击地图上的要素弹出该要素的信息的需求,可以直接满足而不需要再去执行空间查询。之所以FeatureLayer不建议返回过多的要素在客户端渲染,是由于目前的API不管是符号化的接口还是渲染器,主要采用SVG来渲染。SVG有自己的优势,譬如内存占用率低,渲染性能略高,并且用户使用浏览器的内置的缩放功能时符号不会变模糊。但是在图形数量比较多的时候,就会导致浏览器加载卡顿的问题。
- 基于上述问题,Esri目前正在推出基于WebGL的FeatureLayer渲染,以提高要素量较大的情况下的渲染性能表现,并在动画和视觉特效方面有所推进,目前在官网上推出的Sample 对18万个要素进行渲染,效果非常给力。
以下这个Demo,加载了MapImageLayer和FeatureLayer,代码很简单,我们直接看代码:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值