使用Google地图标记循环问题

时间:2012-06-02 15:49:14

标签: javascript ajax google-maps-api-3

尝试使用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);

2 个答案:

答案 0 :(得分:2)

我不熟悉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]);
}

}

答案 1 :(得分:1)

我建议你检查两点:

1)django =&gt;关于{{和}}

可能存在问题

2)js =&gt;最后一个','导致错误,你不能做这样的对象:{lat:1,lng:2,}