无法让信息显示在Google Maps V3上

时间:2014-03-11 06:40:16

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

我是javascript编程的新手,正在尝试使用Google Maps V3 API。

根据Google的示例,我可以添加一个标记,并在每次更新窗口时将其移至中心。但是,我希望在单击标记时添加一个infowindow,这似乎不起作用。我尝试添加一些其他功能来测试标记点击事件是否被触发。这确实有效,所以我会相信我创造信息的方式有问题。

var map;

function initialize() {
  var bboxstr;

  var mapOptions = {
    zoom: 8,
    center: new google.maps.LatLng(-34.397, 150.644)
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);

  var myMarker = new google.maps.Marker({
    position: map.getCenter(),
    map: map
  });

  google.maps.event.addListener(map, "click", function(event) {
    addMarker(event.latLng);
  });

  google.maps.event.addListener(map, "dragend", function(event) {
    var center = map.getCenter();
    myMarker.setPosition(center);
    bboxstr = map.getBounds();
    alert("new center is " + center + " and new bbox is " + bboxstr);
  });

  var infowindow = new google.maps.InfoWindow({
      content: bboxstr
  });

  google.maps.event.addListener(myMarker, 'click', function() {
    infowindow.open(map,myMarker);
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

我一直在我的桌面上使用HTML文件(我用文本编辑器创建)来测试它。我试图将示例移植到jsfiddle,但似乎无法使其工作。如果有人能帮助我,那就太好了.. :(

http://jsfiddle.net/himenohogosha/CL6cH/

更新:我能够在下面的帮助下显示信息窗口。我剩下的问题是,为什么infowindow的内容不会更新?

2 个答案:

答案 0 :(得分:0)

您的代码运行正常。只改变你风格的height:300px。您无法看到地图,因为它没有高度定义。

DEMO

答案 1 :(得分:0)

您有两次Google API:来自jsfiddle和via tag的外部资源。

未显示地图,因为map-canvas的头部,正面和宽度没有样式规则。

未定义函数add-marker。注释掉。

Infowindow未显示,因为bboxstr未定义。即使你稍后在事件监听器中设置它。

请参阅updated fiddle