将Django变量传递到Google Maps javascript中
Passing Django variables into Google Maps javascript
我可以将带有相关数据的位置列表返回到Django表单中。这段代码将running_list显示为Django表单中的文本。
{% for running in running_list %}
<div class="eventholder">
<div class="event_running">
<div class="event-contents">
<p><b>Crew number: {{ running.team }}</b></p>
<p><b>Site Address & Job No:</b> {{ running.event.name }}</p>
<p><b>Coords:</b> {{ running.coords }}</p>
<p><b>Job Type:</b> {{ running.event.job_type }}</p>
<p><b>Field personnel name:</b> {{ running.owner }}</p>
<p><b>Crew contact number:</b> {{ running.owner.phone_number }}</p>
</div>
</div>
</div>
{%endfor%}
好的,现在我希望在javascript变量位置中插入相同的变量列表。
var locations = [
['NSW 01 Wadalba, 201-237 Figtree Blvd - 594094', -33.201016, 151.484362],
['NSW 02 Cessnock, Lot 702, 43 Trebbiano Dr - 616388', -33.023586, 151.557490],
['NSW 03 Redhead, 34 Burns St - 619553', -32.927678, 151.713359],
['NSW 04 Maitland, Bulwer St', -32.702620, 151.408145],
['NSW 05 Cameron Park, 4 Seacrest Dr - 591516', -33.059075, 151.657199]
];
这是完整的谷歌地图脚本。
<script type="text/javascript">
var locations = [
['NSW 01 Wadalba, 201-237 Figtree Blvd - 594094', -33.201016, 151.484362],
['NSW 02 Cessnock, Lot 702, 43 Trebbiano Dr - 616388', -33.023586, 151.557490],
['NSW 03 Redhead, 34 Burns St - 619553', -32.927678, 151.713359],
['NSW 04 Maitland, Bulwer St', -32.702620, 151.408145],
['NSW 05 Cameron Park, 4 Seacrest Dr - 591516', -33.059075, 151.657199]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-32.927191, 151.520385),
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
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
您可以在包含所需数据的视图中创建location_json
var。
import json
location_json = json.dumps([
[running.event.name, running.coords.latitude, running.coords.longitude] for running in running_list
])
然后在模板中:
var locations = {{ location_json|safe }};
相关文章:
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 使用Google Maps API向标记添加多个字符
- Google Maps API OverlayView()在AngularJS指令中不起作用
- 使用Google Maps API驱动时间多边形
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- 在for循环中使用多维数组设置google.maps.Marker图标
- 可扩展的画布作为Google Maps Javascript API中的覆盖
- 在自动完成中使用Google Maps Places API;API不工作
- google.maps.event.addDomListener(window, 'load', fun
- 根据PHP中数组的长度在Google Maps API中循环遍历标记
- 加载Google MAPS API v3的JSON数据
- 如何使用Dojo引用Google Maps事件中的包含类
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 来自JSON数组的Google Maps API生成器
- Google Maps JavaScript API v3:getDetails(请求,回调),用于多个位置
- "现代的“;在Google Maps JS API v3上使用字母标记
- Google Maps Javascript v3 自定义控件子类化标准控件
- Google Maps panTo conflicts with addListener
- 来自plugin.google.maps(不是com.google.maps)的标记不会改变其位置