Javascript 在google maps多边形数组上设置单击优先级
我正在使用Google Maps API编写JavaScript代码,我很好奇是否有办法设置单击某个区域时显示的多边形数组信息窗口的优先级。我有两个重叠的多边形,我需要控制单击重叠区域时出现的信息气泡。谢谢大家! 单击将在最顶部的多边形上触发 多边形的顺序通常取决于它们添加到贴图的顺序(当设置了Javascript 在google maps多边形数组上设置单击优先级,javascript,google-maps,Javascript,Google Maps,我正在使用Google Maps API编写JavaScript代码,我很好奇是否有办法设置单击某个区域时显示的多边形数组信息窗口的优先级。我有两个重叠的多边形,我需要控制单击重叠区域时出现的信息气泡。谢谢大家! 单击将在最顶部的多边形上触发 多边形的顺序通常取决于它们添加到贴图的顺序(当设置了贴图-属性时)或通过设置自定义zIndex-属性 因此,当您要定义优先级时,必须为多边形定义zIndex 当您希望能够单击每个多边形(以及每个多边形的每个部分)时,有一种简单的方法: 观察多边形的鼠标悬停
贴图
-属性时)或通过设置自定义zIndex
-属性
因此,当您要定义优先级时,必须为多边形定义zIndex
当您希望能够单击每个多边形(以及每个多边形的每个部分)时,有一种简单的方法:
观察多边形的鼠标悬停,并将悬停多边形的zIndex
设置为高于其他多边形的zIndex的值。这将使多边形位于前面,您现在还可以单击先前覆盖的区域
您可以通过扩展多边形原型来实现这一点:
(function(){
var a=z=0;
google.maps.Polygon_=function(opts){
this.setValues(opts)
google.maps.event.addListener(this,'mouseover',function(){
this.set('zIndex',++z);
});
google.maps.event.addListener(this,'rightclick',function(){
this.set('zIndex',--a);
});
};
google.maps.Polygon_.prototype = google.maps.Polygon.prototype;
google.maps.Polygon = google.maps.Polygon_;}
)();
演示:
(使用右键单击将多边形发送回,例如,当它完全覆盖另一个多边形时)