Javascript 如何获取GoogleMaps标记的HTMLDOM元素?

Javascript 如何获取GoogleMaps标记的HTMLDOM元素?,javascript,dom,google-maps,Javascript,Dom,Google Maps,给定一个GMarker JS变量,如何获取表示它的HTML DOM元素?我需要这个,这样我就可以用正确的z索引将我自己的插入地图 谢谢。谷歌地图API似乎没有提供返回标记的DOM元素的方法 是否只想创建自己的自定义标记?如果是这样,您可以创建一个扩展GOverlay的marker类。是如何实现这一点的一个很好的例子(以下是示例) 如果你只需要一个自定义图标,那就是如何做到这一点。很抱歉就这么一个老问题发帖,但我自己也遇到了这个问题。我在Google Maps APIv3中使用的解决方案是从中复制

给定一个GMarker JS变量,如何获取表示它的HTML DOM元素?我需要这个,这样我就可以用正确的z索引将我自己的
插入地图


谢谢。

谷歌地图API似乎没有提供返回标记的DOM元素的方法

是否只想创建自己的自定义标记?如果是这样,您可以创建一个扩展GOverlay的marker类。是如何实现这一点的一个很好的例子(以下是示例)


如果你只需要一个自定义图标,那就是如何做到这一点。

很抱歉就这么一个老问题发帖,但我自己也遇到了这个问题。我在Google Maps APIv3中使用的解决方案是从中复制“自定义标记”,并添加一个简单的方法
getdoElement
,该方法返回标记构造中生成的
div

CustomMarker.prototype.getDOMElement = function() {
  return this.div_;
}

然后可以使用
marker.getdoElement().style
动态更改标记的样式,并且
marker.getdoElement()的
img
子元素是使用的图标,因此您也可以动态更改它。

这是我正在使用的一个更简单的自定义标记。只要给它提供一个DOM元素,它就会被用作标记

// based on http://gmaps-samples-v3.googlecode.com/svn/trunk/overlayview/custommarker.html

function CustomMarker(options) {
  this.options = options;
  this.element = options.element;
  this.map = options.map;
  this.position = options.position;
  this.positionFunction = options.positionFunction || function () {
    var point = this.getProjection().fromLatLngToDivPixel(this.position);
    if (point) {
      this.element.style.position = 'absolute';
      this.element.style.left = (point.x - jQuery(this.element).width()/2) + 'px';
      this.element.style.top = (point.y - jQuery(this.element).height()) + 'px';
      this.element.style.cursor = 'pointer';
    }
  };

  this.setMap(this.map);
}

CustomMarker.prototype = new google.maps.OverlayView();
CustomMarker.prototype.draw = function() {
  if (!this.div_)
    this.getPanes().overlayImage.appendChild(this.element);
  this.positionFunction();
};
CustomMarker.prototype.getPosition = function() {
  return this.position;
};
CustomMarker.prototype.setVisible = function(bool) {
  jQuery(this.element).toggle(bool);
};
~

可能重复的: