2

我正在尝试在谷歌地图中使用信息窗口。Map 正在实现,但是每当我用来单击任何标记时,控制台中总会出现错误“TypeError:bP 不是函数”以下是我正在使用的代码。

 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);
4

1 回答 1

5

您的代码中没有“地图”变量。你想要 mapOptions_map2 代替:

        infowindow_map2.open(map, marker_map2);

应该:

        infowindow_map2.open(mapOptions_map2, marker_map2);

例子

于 2013-05-08T13:32:16.800 回答