Нажмите на маркер с помощью листовки, чтобы увидеть больше действий - PullRequest
0 голосов
/ 01 июня 2018

У меня проблема, когда я пытаюсь сделать масштабирование маркера, я получил ошибку:

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 Ответ

0 голосов
/ 01 июня 2018

Вы должны сделать что-то еще для одного маркера

function zoomToFeature(e)
{
  var latLngs = [e.target.getLatLng()];
  var markerBounds = L.latLngBounds(latLngs);
  map.fitBounds(markerBounds);
}

Сначала получите массив маркер latlng и создайте с ним latLngBounds.Затем вы можете вписаться в эти границы.

Рабочий пример: https://jsfiddle.net/8282emwn/175/

...