leaflet下对arcgis server的服务进行属性识别
使用arcgis 自己的服务是可以的,但其实也可以esri-leaflet.js这个提供的插件会方便很多,贴上插件地址:https://esri.github.io/esri-leaflet/api-reference/tasks/identify-features.html
function identify(graphic) { if (identifiedFeatures && identifiedFeatures.length > 0) { for(var i = 0;i<identifiedFeatures.length;i++) map.removeLayer(identifiedFeatures[i]); } layer .identify() .layers('all') // just the counties sublayer .on(map) .at(graphic) .run(function (error, featureCollection) { if (error) { alert('识别地块错误') return; } // make sure at least one feature was identified. getAllDJH(featureCollection) }); }
map.on('click', function (e) {
identify(e.latlng)
})
layers是要识别的哪一个图层,具体语法 [top | visible | all]:layerId1,layerId2
例子:layers('all ')或者 layers('visible:2,5')
属性识别还有很多其他的参数,比如layerDef是用于识别的时候过滤要素,比如time用于过滤某段时间的要素。