2015-10-20 45 views
0

我已經顯示在側面板在地圖上的國家和他們的名字的高亮顯示列表中的應用縮放當你點擊一個國家的名稱列表中的地圖上的國家

我想發生以下情況:當您在側面板中點擊國家的名稱時。你在地圖上縮放到國家。

我不知道如何做到這一點,並希望,如果有人點我一個例子或暗示要做到這一點

+0

你可以使用'geocode'得到'latitude'和'全國longitude',然後設置地圖的中心就是它。 –

+0

我將如何使用地理編碼?你能指點我一個例子嗎? – ChrisJ

+0

https://esri.github.io/esri-leaflet/examples/center-map-on-address.html是在傳單中使用地理編碼的一個示例。 –

回答

0

真的取決於你的設置和我'假設你的最佳途徑正在使用geoJSON。在我工作的一個項目中,我創建了一個函數,該函數在您從放大到相應的geoJSON的列表中單擊時運行,或者您可以將每個geoJSON圖層的小冊子ID附加到列表的相應元素(如果列表從geoJSON填充。

標記 - 收集GeoJSON的
layer.feature.properties.pin - 隨GeoJSON的上市記錄(這需要符合您的數據)
引腳匹配相應的鍵 - 從列表中對應的元素(這需要以匹配您的數據)
第一屆的setStyle - 突出了以GeoJSON
map.fitbounds - 縮放到突出顯示的信息
第二屆的setStyle - 改變了所有其他以GeoJSON層回原來的風格。

function selectedparcel(pin){ 
    markers.eachLayer(function (layer){ 
    if (layer.feature.properties.pin === pin){ 
     layer.setStyle({ 
      fillColor: '#2262CC', 
      fillOpacity: 1, 
      weight: 3 
     }); 
//this is where the zoom happens 
     map.fitBounds(layer.getBounds()); 

    } else { 
     layer.setStyle({ 
      color: '#ff7800', 
      weight: 1, 
      opacity: 1, 
      fillOpacity: 0 
     }); 
    } 
}); 

我希望這是你要找的。如果你想使用單張ID方法布賴恩·麥克布萊德有一個例子他的js代碼中的位置:

https://github.com/bmcbride/building-damage-reporter

相關問題