本文对Esri Leaflet 网站上的例子进行了整理,加了一些简要的说明,方便需要时查阅。原文地址:http://esri.github.io/esri-leaflet/examples/
L.Icon
自定义样式
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 });
};
});
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.DivIcon
和L.MarkerCluster
选项自定义聚合样式。动态地图服务和切片数据不同,渲染方式是在用户发出请求后在客户端动态绘制的,可以动态修改每个图层的样式,可以执行属性查询、空间查询等操作。