Esri Leaflet示例索引及说明

本文对Esri Leaflet 网站上的例子进行了整理,加了一些简要的说明,方便需要时查阅。原文地址:http://esri.github.io/esri-leaflet/examples/

基础底图

要素图层L.esri.featureLayer


featureLayer.query()
.nearby(e.latlng, 500)
.ids(function(error, ids){
      for (var j = 0; j < previousIds.length; j++) {
        stops.resetStyle(previousIds[j]);
      }
  • 空间查询:比如可以查询点是否在多边形内,线与多边形的交集等。
neighborhoods.query()
//这里的relationship.value表示空间操作,可以是within,contains,intersects,overlaps等。
//inputGeometry表示操作范围。
[relationship.value](inputGeometry)
.ids(function(error, ids){
      previousIds = ids;
      for (var i = ids.length - 1; i >= 0; i--) {
        neighborhoods.setFeatureStyle(ids[i], { color: 'red', weight: 2 });
      };
    });
  • 简化复杂要素:在服务器上简化复杂的要素以获得更快的响应时间,可用于放大和查看高分辨率的矢量数据时。比如本例中当鼠标浮动到某个多边形上时,高亮显示多边形。定义图层时用simplifyFactor表示简化参数,数值越大,显示性能更好,数值越小表示更精确。
  • 缩放到所有要素#1:将地图缩放到某一个边界范围内
featureLayer.query()
.bounds(function (error, latlngbounds) {
    map.fitBounds(latlngbounds);
  });
  // 取回所有数据的响应函数
  fl.once("load", function(evt) {
    // 创建一个Leaflet边框数据
    var bounds = L.latLngBounds([]);
    // 遍历要素,将要素的外包矩形逐一添加到上述的边框数据中
    fl.eachFeature(function(layer) {
      // 获得单个要素的外包矩形
      var layerBounds = layer.getBounds();
      // 扩展数据集的边框
      bounds.extend(layerBounds);
    });

    // 最后,缩放到选中数据集的范围
    map.fitBounds(bounds);

 

要素图层插件

切片图层

动态图层 L.esri.DynamicMapLayer

动态地图服务和切片数据不同,渲染方式是在用户发出请求后在客户端动态绘制的,可以动态修改每个图层的样式,可以执行属性查询、空间查询等操作。

影像图层 L.esri.ImageMapLayer

非墨卡托投影

  • 要素图层:用 L.esri.TiledMapLayer 和 Proj4Leaflet 插件使用非墨卡托投影的切片数据。风险自担,Esri Leaflet只支持墨卡托参考椭球(WKID 102100/3857),需要对投影、空间参考、切片方式有很深的了解。
  • 动态图层

查询

认证

地理编码 Esri Leaflet Geocoder 

其他插件

杂项

转载自:https://blog.csdn.net/meizi454089902/article/details/81316996

You may also like...