我想在谷歌地图中使用infowindow。 Map正在实现,但每当我以前点击任何标记时,控制台中总会出现错误“TypeError:b.P不是函数” 以下是我正在使用的代码。
var mapOptions_map2;
function initialize_map2() {
var locations_map2 = eval(document.getElementById('locations').value);
mapOptions_map2 = new google.maps.Map(document.getElementById('fullmap_view'), {
zoom: 4,
center: mapcenter,
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
var contentString = 'some content';
var infowindow_map2 = new google.maps.InfoWindow({
maxWidth: 200
});
var marker_map2, i;
for (i = 0; i < locations_map2.length; i++) {
marker_map2 = new google.maps.Marker({
position: new google.maps.LatLng(locations_map2[i][1], locations_map2[i][2]),
map: mapOptions_map2
});
google.maps.event.addListener(marker_map2, 'click', (function(marker_map2, i) {
return function() {
infowindow_map2.setContent(contentString);
infowindow_map2.open(map, marker_map2);
}
})(marker_map2, i));
}
}
google.maps.event.addDomListener(window, 'load', initialize);
答案 0 :(得分:5)
代码中没有“map”变量。你想要mapOptions_map2:
infowindow_map2.open(map, marker_map2);
应该是:
infowindow_map2.open(mapOptions_map2, marker_map2);