簡體   English   中英

根據地圖的縮放級別和單擊次數顯示多邊形圖層

[英]Display Polygons Layers according to zoom level of the map and clicks

所以我有一個OpenStreetMap地圖(帶Leaflet),並放了一個歐洲javascript層(我在javascript中插入了ID以區分每個國家)。 當我用鼠標懸停在每個國家時,都會突出顯示。 當我單擊一個國家時,它會自動放大。

而且我想,當我單擊國家/地區時,國家/地區的圖層會消失(根據縮放級別)(但是其他國家/地區必須保持“分層”狀態。)(在此之后,我將嘗試將標記放在僅在國家/地區圖層消失時才會顯示的國家/地區上,我們可以通過單擊將其放大。

附言:此刻,我關注了這個網站,以做我擁有的一切: https : //leafletjs.com/examples/choropleth/

和我的代碼: https : //jsfiddle.net/Gio687351/3bwsnu8z/2/

map.on('zoomend ', function(e) {
    if (map.getZoom() < 3) {
        map.fitBounds(layer.getBounds())
        map.removeLayer(Europe-Layer.js)
        map.setStyle({
            'fillOpacity': '0.7'
        });
    } else if (map.getZoom() >= 3) {
        map.fitBounds(layer.getBounds())
        map.addLayer(statesData);
        map.setStyle({
            'fillOpacity': '0.0'
        });
    }
}); 

圖層可見性可以通過fill-opacityopacity 樣式屬性進行管理,如下所示:

function toggleLayerVisibility(map, layer) {
  if (selectedLayerId) {
    geojson.resetStyle(layer);
    selectedLayerId = null;
  } else {
    //hide a layer
    layer.setStyle({
      opacity: 0,
      fillOpacity: 0.0
    });
    selectedLayerId = layer._leaflet_id; //save identifier of a selected layer
  }
}

說明:

  • 設置opacity: 0fillOpacity: 0隱藏圖層
  • selectedLayerId用於存儲當前選定圖層的標識符

給定所提供的示例, 以下演示演示了如何隱藏單擊的圖層

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM