当我尝试在标记上进行缩放时遇到问题,我收到错误:
未捕获的TypeError:e.target.getBounds不是函数
var rotas = L.geoJSON(paradas, {
onEachFeature: onEachFeature
}).addTo(map);
function onEachFeature(feature, layer){
layer.on('click', function(e){
$('.orange').html(feature.properties.nome);
$('.city').html(feature.properties.imagem);
$('.event').html(feature.properties.descricao);
console.log(e.target);
zoomToFeature(e)
});
}
function zoomToFeature(e) {
console.log("pass here")
map.fitBounds(e.target.getBounds());
}
但是当我执行console.log时它会正确返回。我错了什么?我的源代码在这里:
http://github.com/eltonsantos/analise_integrada
map.fitBounds出现是好的,但仍然无法正常工作:( 谁来帮帮我?谢谢!
答案 0 :(得分:2)
您必须为单个标记执行其他操作
function zoomToFeature(e)
{
var latLngs = [e.target.getLatLng()];
var markerBounds = L.latLngBounds(latLngs);
map.fitBounds(markerBounds);
}
首先获取标记latlng
数组并使用它创建latLngBounds
。然后你可以适应这个界限。