маркеры листовок не отображаются

1
for (var f=0; f<group.length; f++) {
    var longitude = group[f][1];
    var latitude = group[f][0];
    var popupText = group[f][2];

    var markerLocation = new L.LatLng(longitude,latitude);
    var marker = new L.Marker(markerLocation);
    mymap.addLayer(marker);

    marker.bindPopup(popupText);
} 

мой массив групп находится в этом формате

 [0]
 [0]53.522753
 [1]-1.126298
 [2]ASB

моя консоль говорит

Uncaught Error: Invalid LatLng object: (undefined, 53.522731)
    at new M (leaflet.js:5)
    at create_marker (hello.html:212)
    at JSON_callback (hello.html:169)
    at XMLHttpRequest.xmlhttp.onreadystatechange (requests.js:26)

группа уставок

var group = [];
var n = 3;

for (var i = 0, j = 0; i < current_lat_lng.length; i++) {
    if (i >= n && i % n === 0)
        j++;
    group[j] = group[j] || [];
    group[j].push(current_lat_lng[i])
}

Я думаю, что объект правильный? но я не уверен, почему это происходит. любая помощь приветствуется.

  • 0
    Где вы устанавливаете значение group[0][1] ?
  • 0
    Обновлено первое сообщение!
Показать ещё 1 комментарий
Теги:
arrays
leaflet

1 ответ

1
Лучший ответ

Попробуйте следующее:

for (var f=0; f<group.length; f++) {
    var longitude = group[f][1];
    var latitude = group[f][0];
    var popupText = group[f][2];

    if (longitude && latitude && popupText) {
        L.marker([latitude, longitude]).bindPopup(popupText).addTo(mymap);
    } else {
        console.error('group[' + f + '] has invalid entries:');
        console.error('longitude', longitude);
        console.error('latitude', latitude);
        console.error('popupText', popupText);
    }
}
  • 0
    Однако это лучшая практика, я не думаю, что это исправит ошибку, с которой он сталкивается.
  • 1
    Мне нравится ваше редактирование. Это поможет с отладкой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню