0

尝试使用每个对象的 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);
4

2 回答 2

2

我对 Django 不熟悉,但如果您的问题是纯 JavaScript 代码,我可以提供我想看的第一个位置。

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

在 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]);
}

}

于 2012-06-02T16:12:32.787 回答
1

我建议你检查两点:

1)django => {{ 和 }} 可能有问题

2)js =>最后一个','导致错误,你不能像这样:{lat:1,lng:2,}

于 2012-06-02T16:13:57.570 回答