Javascript 谷歌地图-商店定位器创建的标记上的事件侦听器

Javascript 谷歌地图-商店定位器创建的标记上的事件侦听器,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我是从这个例子开始工作的: 我希望能够向所有这样的标记添加侦听器,但我不知道如何引用它们,因为它们是由存储定位器从数据源创建的 google.maps.event.addListener(marker, 'click', //myCode); 这是示例中的确切面板代码: google.maps.event.addDomListener(window, 'load', function() { var map = new google.maps.Map(document.getElement

我是从这个例子开始工作的:

我希望能够向所有这样的标记添加侦听器,但我不知道如何引用它们,因为它们是由存储定位器从数据源创建的

google.maps.event.addListener(marker, 'click', //myCode);
这是示例中的确切面板代码:

google.maps.event.addDomListener(window, 'load', function() {
  var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: new google.maps.LatLng(-28, 135),
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var panelDiv = document.getElementById('panel');

  var data = new MedicareDataSource;

  var view = new storeLocator.View(map, data, {
    geolocation: false,
    features: data.getFeatures()
  });

  new storeLocator.Panel(panelDiv, {
    view: view
  });
});
相反,请看。如果您只想自定义infowindow内容,只需使用该部分即可

// Store locator with customisations
// - custom marker
// - custom info window (using Info Bubble)
// - custom info window content (+ store hours)

var ICON = new google.maps.MarkerImage('medicare.png', null, null,
    new google.maps.Point(14, 13));

var SHADOW = new google.maps.MarkerImage('medicare-shadow.png', null, null,
    new google.maps.Point(14, 13));

google.maps.event.addDomListener(window, 'load', function() {
  var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: new google.maps.LatLng(-28, 135),
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var panelDiv = document.getElementById('panel');

  var data = new MedicareDataSource;

  var view = new storeLocator.View(map, data, {
    geolocation: false,
    features: data.getFeatures()
  });

  view.createMarker = function(store) {
    var markerOptions = {
      position: store.getLocation(),
      icon: ICON,
      shadow: SHADOW,
      title: store.getDetails().title
    };
    return new google.maps.Marker(markerOptions);
  }

  var infoBubble = new InfoBubble;
  view.getInfoWindow = function(store) {
    if (!store) {
      return infoBubble;
    }

    var details = store.getDetails();

    var html = ['<div class="store"><div class="title">', details.title,
      '</div><div class="address">', details.address, '</div>',
      '<div class="hours misc">', details.hours, '</div></div>'].join('');

    infoBubble.setContent($(html)[0]);
    return infoBubble;
  };

  new storeLocator.Panel(panelDiv, {
    view: view
  });
});

这不是最好的例子。看看谷歌自己的。虽然它使用的是一个数据库,但它可以修改为使用其他数据源
view.createMarker = function(store) {
  var markerOptions = {
    position: store.getLocation(),
    title: store.getDetails().title
  };
  var marker = new google.maps.Marker(markerOptions);
  google.maps.event.addListener(marker, "click", function() {
      alert("my code");
  });
  return marker;
}