我有一个基于leaflet.js的GIS网页:http://gisdev.clemson.edu/fireflies/。其中,有一个WMS图层(Counties)作为最后一层(在现有图层的顶部)添加。需要做的是,一旦有人双击地图(在任何郡),那么地图应该缩放。但事实并非如此。
如果点击了像海洋这样的空白区域,地图将会双击缩放。我想某种方式我需要使Counties层响应双击但我找不到任何示例/参考。
以下是如何添加Counties WMS图层:
var wmscounty = L.tileLayer.wms("<?php echo $geoserverwms_url; ?>", {
layers: '<?php echo $geoserverwms_layer_countypop; ?>',
format: 'image/png',
transparent: true,
version: '1.1.0',
attribution: "countypopulation"
}
);
wmscounty.addTo(map);
如果WMS图层由于某些原因无法响应双击,那么可能会有某种通用的地图事件监听器,它至少会缩放到双击区域?我认为WMS图层可能不起作用,因为它是一些平铺图像?如果你很好奇,它是由GeoServer生成的。
更新如果我禁用状态图层,则可以缩放Counties图层。所以不知何故,我要么使States层不可点击,要么更改一些z-order?
谢谢!
答案 0 :(得分:3)
您可以为图层本身添加缩放功能吗?我遇到了类似的问题,并通过在图层定义中添加它来解决它:
onEachFeature: function (feature, layer) {
layer.on({
dblclick: function(e) {map.setView(e.latlng, map.getZoom() + 1);}
});
}
在此处找到:https://www.mapbox.com/mapbox.js/example/v1.0.0/zoom-to-double-click/
答案 1 :(得分:0)
没关系。这听起来像一个已知问题:https://github.com/Leaflet/Leaflet/issues/2086
我通过发布一个国家&#39;来解决我的问题。通过GeoServer / WMS形成文件。