私はいくつかのフィールドを含むgeodjangoのクエリセットを持っていますが(ポイントフィールド)のみuser_name
とlocation
を使用したい3.Google Maps API 3にGeodjangoを統合するには?私と一緒にGoogle MapsのAPIで、私がマーカーとして使用したい
ベア私にはわからないようJavascriptと私は一連の質問があります。
は、初心者のための概念ブレーンストーミングとしてこれを取る:
私のSOの検索は、私はクエリセットがJSONに オブジェクトシリアライズする必要があることを示唆しています。私は組み込みのシリアライザモジュールを使用してJSONに変換します。
JSONオブジェクトがviews.py
に変換されていると思います( としましょう。json_data
)。これらのJSONオブジェクトはPostGISデータベースに格納されていますか?冗長ではないでしょうか?さらに、どのように私は
map.js
(Google MapsのAPI 3)のJavaScriptファイルでそれらを参照していますか?
JSONオブジェクトをインポート(リンクをインポートする)して、位置マーカーとして表示します。javascript変数を宣言して反復する方法を知りたい
locations
For var(i=0;i< locations.length;i++){[
[json_data.user_name, json_data.point],
]
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(49.279504, -123.1162),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
icon: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png'
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
私は不必要に単純な作業を行うための複雑な方法を行った場合は、私をガイド。
私は_geodjango_に精通していませんが、[this](https://stackoverflow.com/q/23077089/863110)質問がお役に立てますか?これは、JavaScriptファイルにgeodjangoを統合する方法を示しています。ファイルにjavascript配列をレンダリングすることが成功すれば、マップと簡単に統合できます。 –