Jinja Google 地图与 Flask 中的多个信息窗口
我今天一直在为这个问题苦恼。
下面的代码从Flask获取一个jinja数组,如果我不想要信息框的话,一切都运行得很好。
但是一旦我添加了下面的信息框代码,它就只显示一个标记,并且没有信息窗口。这让我非常困扰。我还想使用聚合功能,因为我有大约500个标记,但这只是个次要问题。
我在StackOverflow上看过,尝试了很多答案,但都没有解决。似乎有一种叫做闭包的神奇东西,正是这个问题的核心,但我显然不太理解。
任何帮助都将不胜感激。
谢谢大家的期待。
function initialize() {
var infowindow = new google.maps.InfoWindow();
var map = new google.maps.Map(
document.getElementById('map_canvas'), {
center: new google.maps.LatLng(10.455177, 12.584731),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
function addMarker(lat,long,name,content){
var info = content;
var message = name;
var point = new google.maps.LatLng(lat,long);
var newmarker = new google.maps.Marker({position: point,
map: map,
title: name
});
\\take this block of code out and I get all the markers fine
google.maps.AddListener(point, 'click', function(map, newmarker){
infowindow.setContent(info)
infowindow.open(map,newmarker)
});
}
{% for marker in markers %}
addMarker({{marker.lat}},{{marker.long}},'{{marker.name}}', '{{marker.url}}');
{% endfor %}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
1 个回答
1