popup 和 Frame 和 FrameColud 有什么区别?
而且,似乎弹出的方向取决于标记相对于地图的位置。流行音乐可能在标记上方或下方。
例如:
以上:
以下:
现在,我想知道如何使弹出窗口始终位于标记的上方?
popup 和 Frame 和 FrameColud 有什么区别?
而且,似乎弹出的方向取决于标记相对于地图的位置。流行音乐可能在标记上方或下方。
例如:
以上:
以下:
现在,我想知道如何使弹出窗口始终位于标记的上方?
好吧,我自己回答这个问题。
您可以calculateRelativePosition
像这样覆盖 FramedCloud 的函数:
OpenLayers.FramedCloud.prototype.calculateRelativePosition=function(){
return 'tr';
}
而这个函数是继承自OpenLayers.Popup.Anchored
.
计算相对位置:函数(像素){
var lonlat = this.map.getLonLatFromLayerPx(px); var extent = this.map.getExtent(); var quadrant = extent.determineQuadrant(lonlat); return OpenLayers.Bounds.oppositeQuadrant(quadrant);
},