# 拾取图元要素
# 使用示例
<script>
var map = L.map('map', {
crs: L.CRS.CustomEPSG4326,
center: {lon: 120.09215287988154, lat: 30.277052933991797},
zoom: 12,
inertiaDeceleration: 15000,
maxZoom: 20
})
//添加底图
var layer = new L.GXYZ(window.leaflet.vmapUrl + '&x={x}&y={y}&l={z}', {tileSize: 512})
map.addLayer(layer)
map.on('click', function (e) {
var event = e.originalEvent
//拾取要素
var features = layer.getFeatureByXY(event.x, event.y, function (layerFeatures) {
var ids = 'featureIDs : '
for (var layername in layerFeatures) {
ids = ids + layername + ': '
for (var key in layerFeatures[layername]) {
ids = ids + key + ' '
}
}
//打印拾取到的图层名和图层内的要素id
alert(ids)
})
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
运行结果