2014-04-17 55 views
0

我有一個基於leaflet.js的GIS網頁:http://gisdev.clemson.edu/fireflies/。在那裏,有一個WMS圖層(縣)被添加爲最後一層(在現有圖層之上)。需要發生的事情是,一旦有人雙擊地圖(在任何縣),地圖應該放大。但事實並非如此。leaflet.js wms圖層縮放無法雙擊

如果單擊海洋這樣的空白區域,地圖將雙擊放大。我想我需要讓縣級圖層響應雙擊,但我找不到任何示例/參考。

這裏是正在爲如何添加縣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); 

IF WMS層不能工作,因爲某些原因對雙擊迴應則可能存在某種普通地圖事件偵聽這將至少縮放到雙擊區域?我認爲WMS圖層可能不起作用,因爲它是一些平鋪圖像?如果您好奇,它由GeoServer生成。

更新如果我禁用States層,Counties圖層是可縮放的。所以不知何故,我要麼使國家層不可點擊或更改一些Z-訂單?

謝謝!

回答

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/

+0

德魯:看起來像一個巧妙的方法來獲取變焦的工作,但我的問題是已經固定。仍然你的解決方案可以得到方便的一天。謝謝! – IrfanClemson