Построение координат LatLng из Json Array на Google Map --- все маркеры располагаются в одном месте - PullRequest
2 голосов
/ 10 сентября 2011

У меня есть массив Json, который содержит координаты широты и долготы. Вот образец:

"zones":[{"Zip":35824,"Latitude":34.647995,"Longitude":-86.738549},...

Я пытаюсь использовать цикл над массивом, чтобы проанализировать координаты и нанести их на карту Google. Вот мой Javascript:

function getLocations() {

    $.getJSON("http://localhost:1117/zones/latlng", function (json) {

        var location;


        $.each(json.zones, function (i, item) {
            location = item.Latitude + ',' + item.Longitude, addMarker(location);
        });

    });
};

function addMarker(location) {
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(location),
        map: map,
        icon: redImage
    });
    markersArray.push(marker);
}

Моя проблема в том, что маркеры накапливаются друг на друге в левом верхнем углу карты (прямо в середине океана). Место, где стопка маркеров не появляется нигде в моем массиве Json. Что я сделал не так?

Ответы [ 2 ]

5 голосов
/ 10 сентября 2011

Думаю, проблема в том, что новый google.maps.LatLng () ожидает (число, число) в качестве параметров, и вы передаете строку в формате «число, число».

Если вы измените функцию addMarker () на два параметра (например, широта, долгота), которые должны работать:

function getLocations() {

    $.getJSON("http://localhost:1117/zones/latlng", function (json) {

        var location;


        $.each(json.zones, function (i, item) {
            addMarker(item.Latitude,item.Longitude);
        });

    });
}

function addMarker(lat,lng) {
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(lat,lng),
            map: map,
            icon: redImage
        });
        markersArray.push(marker);
}
0 голосов
/ 12 сентября 2014

использовать кластеризацию .make группу маркеров, так как cluster.one кластер представит много маркеров внутри. Также можно сделать границы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...