leaflet.js wms图层缩放不能双击

时间:2014-04-17 19:16:29

标签: javascript click double leaflet wms

我有一个基于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?

谢谢!

2 个答案:

答案 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形成文件。