尝试使用lat和long对每个对象从Django后端在Google Map上放置标记。这样做非常令人沮丧。我相信问题在for循环内,但我无法确切确定问题所在(我可能只需要第二个循环)。任何帮助或见识将不胜感激。

var stories = [{% for story in stories %}
        {latitude:{{story.latitude}},longitude:{{story.longitude}}}, {% endfor %}];




function loadMarkers(stories){
    for (i=0;i<stories.length;i++) {
        var story = stories[i];
        var point = new google.maps.LatLng(story.latitude, story.longitude);
        var marker = new google.maps.Marker({position: point, map: map});
    }
}

loadMarkers(stories);

最佳答案

我对Django不熟悉,但是如果您遇到的是纯javaScript代码,我可以提供我所需要的第一位。

检查以确保您要循环数组而不是对象。 javascript中的每个对象都有一个length属性。

在某些调试器(例如FF或chrome)中执行以下操作。

function loadMarkers(stories){
for (i=0;i<stories.length;i++) {
    var story = stories[i];
    var point = new google.maps.LatLng(story.latitude, story.longitude);
    var marker = new google.maps.Marker({position: point, map: map});

console.log(i);
console.log(stories);
console.log(stories[i]);
}


}

10-06 08:21