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