在Google Map上绘制来自Json Array的LatLng坐标---所有标记都堆叠在同一位置

hug*_*dan 2 javascript jquery google-maps

我有一个包含纬度和经度坐标的Json数组.这是一个示例:

"zones":[{"Zip":35824,"Latitude":34.647995,"Longitude":-86.738549},...
Run Code Online (Sandbox Code Playgroud)

我试图在数组上使用循环来解析坐标并在谷歌地图上绘制它们.这是我的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);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是标记最终堆叠在彼此的顶部,绘制在地图的左上角(正好在海洋的中间).标记堆栈的位置在我的Json数组中无处出现.我做错了什么?

C. *_* S. 5

我认为问题是新的google.maps.LatLng()期望(数字,数字)作为参数,并且您传入的格式为"number,number".

如果你改变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);
}
Run Code Online (Sandbox Code Playgroud)