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