1
我正在嘗試學習傳單庫並嘗試縮放到單擊的功能。可能是一個簡單的問題,但我對js和傳單很新。 我見過如何做到這一點的例子,就像這篇文章How to zoom on marker click event in Mapbox Leaflet? 但我不認爲這個例子是從ajax調用獲取數據,因此在這裏不起作用?放大點擊功能
function callback (response) {
quake = L.geoJson(response,
{
onEachFeature: function (feature, layer)
{
layer.bindPopup("Mag: " + String(feature.properties.mag));
}
}).addTo(map);
map.fitBounds(quake.getBounds());
};
quake.on('click', function(e) {
map.setView([e.latlng], 12)
});
我也試過這個,但它拋出一個錯誤,標記沒有定義。但是,如果我理解正確,L.geoJson將默認創建標記,並將它們保存爲「quake」,如上面的示例,目前不起作用。
marker.on('click', function(e) {
map.setView([e.latlng], 12)
});
這裏是我的codepen codepen example
一個完整的鏈接我希望有人能指出我在正確的方向
謝謝!這正如我所希望的那樣工作。我實際上試圖把處理程序放在forEach函數中,但我把它放在標記上而不是圖層上。 所以我想,當你從ajax的geoJSON工作,你所有的交互式代碼與該層需要在forEach方法? – geogrow
您已經添加了一個圖層,因此它需要定位圖層而不是標記。是的數據如果返回asnc,將需要在函數的成功部分。 – RedCrusador