1

会社とその住所のリストを含む管理者の change_list があります。これをGoogleマップにプロットしたい。Google マップが表示され、change_list に適切なデータが表示されました。change_lsit テンプレートをコピーしたので、オーバーライドします。

彼らの問題は、ページからデータを取得する必要があることです。これは、change_list オブジェクトにあると想定し、それを javascript に入れて、アドレスをマップにプロットできるようにします。

しかし、change_list オブジェクトで doco を見つけることも、表示されるデータを取得する方法も見つけることができませんでした。通常、{% model.attribute %} のようなことを実行できますが、そのようなことを実行して for ループでラップすることができれば、それは素晴らしいことです。

では、change_list 内のデータを取得する方法について何か考えはありますか?

乾杯

マーク

4

1 に答える 1

1

少なくとも 2 つのアプローチがあります。1 つは、javascript からの API 呼び出しを使用してデータを取得することです。もう 1 つは、あなたが計画していることだと思いますが、データを change_list からテンプレートに渡すことです。以下に例を示します (Google マップでは古くなっている可能性がありますが、アイデアは得られます)。change_list に lat と longt の 2 つのフィールドがあると仮定します。

<div id="map" style="width: 100%; height: 300px;"></div>
<script type="text/javascript" charset="utf-8">
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setUIToDefault();

        {% for location in change_list %} 
            var point = new GLatLng({{ location.lat|default:"0.0" }}, {{ location.longt|default:"0.0" }});
            map.addOverlay(new GMarker(point)); 
        {% endfor %}
  }
</script> 
于 2011-01-11T16:32:09.383 に答える