我有一个包含几个字段GeoDjango内置的查询集,但希望只使用user_name
和location
(点场),我想在谷歌地图API 3.如何将Geodjango与Google Maps API 3集成?
多多包涵,因为我不知道一个标记使用Javascript和我有一系列的问题。
以此为概念集思广益对于一个新手来说:
我的SO搜索表明,我需要序列化对象的查询集来 JSON。我使用内置的序列化模块将其转换为JSON。
我认为JSON对象转换为views.py
(让我们 称之为json_data
)。这些JSON对象是否存储在PostGIS数据库中?这不是多余的吗?此外,如何在
map.js
(Google地图 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)问题会帮助你?它演示了如何将geodjango集成到JavaScript文件中。一旦你将成功地在文件中呈现一个JavaScript数组,它将很容易与地图集成。 –