Google Maps API v3信息泡泡

时间:2012-07-26 14:29:21

标签: events google-maps google-maps-api-3 infowindow

  

可能重复:
  InfoWindow not Displaying

仍然挥之不去,我不明白的问题。我不明白为什么这不起作用,我确信它非常简单。我改变了一些事情,但仍然没有改变。我想让用户点击地图上的任意位置,infoWindow会告诉他们该位置的纬度/经度。感谢

var window;
function InfoWindow(location) {
  if ( window ) {
    window.setPosition(location);
  } else {
    window = new google.maps.infoWindow({
      position: location,
      content: "sam"
    });
  }
}

google.maps.event.addListener(map, 'click', function(event) {
  InfoWindow(event);
});

1 个答案:

答案 0 :(得分:1)

这里有很多问题。首先,我不会将window用作变量名。其次,当您创建InfoWindow时,它需要大写

new google.maps.InfoWindow()

第三,您将事件对象传递给InfoWindow创建函数。传递事件对象是不好的。所以现在,在InfoWindow函数中,location指的是事件对象,而不是位置。您应该传递event.latLng。您还需要在InfoWindow上调用open方法。

var infoWindow;
function InfoWindow(location) {
  if ( infoWindow ) {
    infoWindow.setPosition(location);
  } else {
    infoWindow = new google.maps.InfoWindow({
      position: location,
      content: "sam"
    });
  }
  infoWindow.open();
}
google.maps.event.addListener(map, 'click', function(event) {
  InfoWindow(event.latLng);
});