0

オブジェクトごとにlatとlongを使用して、DjangoバックエンドからGoogleマップにマーカーを配置しようとしています。そうすることで非常に苛立たしい時間を過ごします。問題はforループ内にあると思いますが、問題が何であるかを正確に特定することはできません(2番目のループが必要な場合があります)。どんな援助や洞察も大歓迎です。

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のすべてのオブジェクトには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]);
}

}

于 2012-06-02T16:12:32.787 に答える
1

次の 2 点を確認することをお勧めします。

1)django => {{ と }} に問題がある可能性があります

2)js = > 最後の ',' はエラーを引き起こします。次のようなオブジェクトを作成することはできません:{lat:1,lng:2,}

于 2012-06-02T16:13:57.570 に答える