marker.addlistener 页面加载后立即启动

marker.addlistener gets fired up immediately after pageload

这是我的代码,基于 https://developers.google.com/maps/documentation/javascript/examples/event-simple 中的示例,但我不想在单击标记时放大,而是想显示一个消息框 (alert()):

<!DOCTYPE html>
<html>
  <head>
    <title>Simple click event - modified</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
    </style>

  </head>
  <body>
    <div id="map"></div>
    <script>
function initMap() {
  var myLatlng = {lat: -25.363, lng: 131.044};

  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: myLatlng
  });

  var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title: 'Click to show alert'
  });

  marker.addListener('click', alert('Hello World!'));
}

    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&signed_in=true&callback=initMap" async defer>
    </script>
  </body>
</html>

当然,我没有使用 YOUR_API_KEY,而是从 Google Maps API v3.

中填写了我自己的 API 键

每当我加载此页面时,该页面一加载就会显示警报,点击标记根本没有效果。

问题出在 addlistener,消息框的命令必须在 function() { ... }:

之间
marker.addListener(   'click', function() {  alert('Hello World!');  }    );

会解决问题![​​=13=]