我正在创建一个扩展google.maps.OverlayView的自定义叠加层,当我将dom元素附加到叠加层组成的图层时,我有点困惑。这是一些伪代码:
MyOverlay = function(latlng) {
this.latlng = latlng;
this.root = document.createElement('div');
this.root.style.postion = "absolute";
this.root.style.height = "20px";
this.root.style.width = "20px";
this.root.style.background = "red";
};
MyOverlay.prototype = new google.maps.OverlayView();
MyOverlay.prototype.onAdd = function() {
var panes = this.getPanes();
panes.overlayLayer.appendChild(div); // <<< is it the right layer?
};
MyOverlay.prototype.draw = function() {
var overlayProjection = this.getProjection();
var point = overlayProjection.fromLatLngToDivPixel(this.latlng);
var panes = this.getPanes();
panes.overlayLayer.style.left = position.x - 10 + 'px'; // -10 to center it horizontally
panes.overlayLayer.style.top = position.y - 10 + 'px'; // -10 to center it vertically
};
正如您所看到的,我正在使用overlayLayer
layr将我的叠加层附加到地图上,但我的问题是:“它是否是正确的图层?”
我很欣赏它工作得很好,但为什么一层而不是另一层呢?例如,为什么不overlayImage
?
TA