Нажмите на маркер с помощью листовки, чтобы увидеть больше действий
У меня проблема, когда я пытаюсь сделать масштабирование маркера, я получил ошибку:
Uncaught 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 в порядке, но все равно не работает:(Кто-то мне помог? Спасибо!
1 ответ
Решение
Вы должны сделать что-то еще для одного маркера
function zoomToFeature(e)
{
var latLngs = [e.target.getLatLng()];
var markerBounds = L.latLngBounds(latLngs);
map.fitBounds(markerBounds);
}
Сначала получите маркер latlng
массив и создать latLngBounds
с этим. Вы можете тогда соответствовать этим границам.
Рабочий пример: https://jsfiddle.net/8282emwn/175/