1

如何向我的标记添加一个侦听器,当单击标记时读取“Hi”。我的代码看起来像:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAGcwOypxqebsKcF-A6pZUqDvijKbjltw0&sensor=false">
    </script>
    <script type="text/javascript">
      function initialize() {
    var myLatlng = new google.maps.LatLng(61.455019, 23.84559);

    var myOptions = {
        zoom: 15,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.TERRAIN
    }

    var myMap = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

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

    google.maps.event.addListener(myMarker, 'click',
      function() 
      {
         var htmlString = "Hi";
         myMarker.openInfoWindowHtml(htmlString);
      }
   );
}
    </script>
  </head>
  <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
  </body>
</html>

我想我在调用 addListener 事件时出错了。

4

2 回答 2

2

请参阅Google Maps API v3 的 infowindow文档,没有 .openInfoWindowHtml 方法。

文档中的工作示例

使用 v3 语法的地图工作版本

于 2012-10-07T15:04:59.750 回答
0

我认为问题可能出在点击功能上...您可以从您的 var myMarker 替换此代码。

        var myMarker  = new google.maps.Marker({

                position: myLatlng,
                map: myMap,
                title: 'xxxxx'
            });

            google.maps.event.addListener(myMarker  , 'click', function() {
                var infowindow = new google.maps.InfoWindow;
                infowindow.setContent('Hi');
                infowindow.open(myMap, myMarker);
            });
于 2014-04-28T08:12:04.813 回答