Google Maps API v3:绘图管理器

时间:2012-06-13 17:42:13

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

我正在使用绘图库中的绘图管理器,并出现了一个问题。任何帮助将不胜感激。提前谢谢。

问题: 创建一个对象(标记,圆圈等)后,我该如何调用它?一个例子是我放置了一个标记。我现在想要附上一个信息窗口。在分配信息窗口的功能中,我需要我刚刚放置的标记的“名称”。

如果您需要进一步澄清,请与我们联系。

-Seth

1 个答案:

答案 0 :(得分:5)

您可以使用事件侦听器来获取对创建的对象的引用(event.overlay)。 In this demo,创建的标记用于打开InfoWindow,其内容存储在标记本身中。

单击以创建标记,然后切换到" Hand"图标模式并单击标记以打开InfoWindow。

  var markers = [];
  var infowindow = new google.maps.InfoWindow();

  function initialize() {
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    drawingManager.setMap(map);
    google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
      if(event.type == google.maps.drawing.OverlayType.POLYLINE) {
        alert("polyline complete");
      }
      else if(event.type == google.maps.drawing.OverlayType.MARKER) {
        var newMarker = event.overlay;
        newMarker.content = "marker #" + markers.length;
        google.maps.event.addListener(newMarker, 'click', function() {
          infowindow.setContent(this.content);
          infowindow.open(map, this);
        });
        markers.push(newMarker);
      }
    });
  }