【问题标题】:Loop issue with Google Map markers谷歌地图标记的循环问题
【发布时间】:2012-06-02 15:49:13
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    }

    【讨论】:

    • 是的,“故事”是一个对象。 “故事”也是如此。我需要找到一种方法来遍历对象。
    • 你能把你日志中的信息给我,让我看看故事和故事是什么样的吗?
    【解决方案2】:

    我建议你检查两点:

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

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

    【讨论】:

    • 我也不认为你可以制作这样的对象;但是,我只是认为这是一些 django 的事情。
    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 2021-12-23
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多