Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在google maps多边形数组上设置单击优先级_Javascript_Google Maps - Fatal编程技术网

Javascript 在google maps多边形数组上设置单击优先级

Javascript 在google maps多边形数组上设置单击优先级,javascript,google-maps,Javascript,Google Maps,我正在使用Google Maps API编写JavaScript代码,我很好奇是否有办法设置单击某个区域时显示的多边形数组信息窗口的优先级。我有两个重叠的多边形,我需要控制单击重叠区域时出现的信息气泡。谢谢大家! 单击将在最顶部的多边形上触发 多边形的顺序通常取决于它们添加到贴图的顺序(当设置了贴图-属性时)或通过设置自定义zIndex-属性 因此,当您要定义优先级时,必须为多边形定义zIndex 当您希望能够单击每个多边形(以及每个多边形的每个部分)时,有一种简单的方法: 观察多边形的鼠标悬停

我正在使用Google Maps API编写JavaScript代码,我很好奇是否有办法设置单击某个区域时显示的多边形数组信息窗口的优先级。我有两个重叠的多边形,我需要控制单击重叠区域时出现的信息气泡。谢谢大家!

单击将在最顶部的多边形上触发

多边形的顺序通常取决于它们添加到贴图的顺序(当设置了
贴图
-属性时)或通过设置自定义
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_;}
)();
演示:

(使用右键单击将多边形发送回,例如,当它完全覆盖另一个多边形时)