Вопрос

Я застрял, пытаясь перебрать этот массив GPS-координат, который размещает пин-коды на карте Google.

Вот мой код: http://pastie.org/466369

Проблема в том, что строка 27-36.

Если я изменю его на следующее, он разместит 1 вывод в этом точном местоположении, но я хочу, чтобы он выполнял цикл по массиву, чтобы я мог добавить несколько выводов:

//var markers = [];

    for (var i = 0; i < 1; i++) {
        var point = new GLatLng(39.729308,-121.854087);
        marker = new GMarker(point);
        map.addOverlay(marker);
        markers[i] = marker;
    }

Кто-нибудь знает, почему эта версия ниже ломается?

var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];

for (var i = 0; i < markers.length; i++) {
    var point = new GLatLng(markers[i]);
    marker = new GMarker(point);
    map.addOverlay(marker);
    markers[i] = marker;
}
Это было полезно?

Решение

Прежде всего, следующий код является некорректным JavaScript.

var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];

ты, наверное, хотел это сделать:

var markers = [
[39.729308,-121.854087],
[39.0,-121.0]
];

Во-вторых, согласно документации GLatLng принимает два параметра, а не массив.

Попробуйте это вместо этого:

var point = new GLatLng(markers[i][0], markers[i][1]);

Редактировать

Я исправил ваш код и разместил его в JS Bin.Кажется, это работает после устранения вышеупомянутых проблем:

http://jsbin.com/afojo

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top