如何增加JavaScript变量名称

时间:2014-06-02 20:59:48

标签: javascript google-maps

搜索发现了一些类似的问题,所有答案都表明OP使用数组,但在我的情况下我不能(或者我还不够熟悉)。

我使用Google Maps API v3从页面中获取此代码段。

// var locations is defined outside this snippet. it's an array of location data (long/lat, name, etc)
var infowindow = new google.maps.InfoWindow();
var marker, i;

for (i = 0; i < locations.length; i++) {
  marker = new google.maps.Marker({
      position: new google.maps.LatLng(locations[i][1], locations[i][2]),
      map: map,
      icon: iconImage
  });

  google.maps.event.addListener(marker, 'click', (function(marker, i) {
      return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
      }
  })(marker, i));
}

我需要能够通过Google地图代码之外的点击触发google.maps.event.addListener。我的问题是变量marker不是唯一的,我甚至不能100%确定这个代码段是如何工作的(marker每次都不会被覆盖和丢失?)。

如何触发特定marker的点击?

1 个答案:

答案 0 :(得分:0)

正在编辑问题:

要触发对特定标记的点击,您可以使用:

google.maps.event.trigger(marker, 'click');

为了做到这一点,你需要在创建标记时将标记存储在某个位置。