尝试使用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);
答案 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,}