Javascript 将自定义标记放置在markerclusterer上

Javascript 将自定义标记放置在markerclusterer上,javascript,google-maps-api-3,google-maps-markers,markerclusterer,Javascript,Google Maps Api 3,Google Maps Markers,Markerclusterer,我正在使用谷歌地图api 3和agm(角度谷歌地图)在地图上放置许多自定义标记。其中一些标记的优先级较低,因此我在这些标记上实现了集群(使用markerClusterer),以帮助提高性能 但是,较高优先级的标记需要始终位于簇之上,当前簇似乎位于其自己的层上,并且该层始终位于标记层之上 有没有办法强制集群和标记位于同一层上,以便实现zIndex?或者至少,强制makers层位于clusters层之上 或者,我们可以检测集群是否位于标记上方,并移动集群,使其不碍事。经过多年的研究,我发现唯一的方法

我正在使用谷歌地图api 3和agm(角度谷歌地图)在地图上放置许多自定义标记。其中一些标记的优先级较低,因此我在这些标记上实现了集群(使用markerClusterer),以帮助提高性能

但是,较高优先级的标记需要始终位于簇之上,当前簇似乎位于其自己的层上,并且该层始终位于标记层之上

有没有办法强制集群和标记位于同一层上,以便实现zIndex?或者至少,强制makers层位于clusters层之上


或者,我们可以检测集群是否位于标记上方,并移动集群,使其不碍事。

经过多年的研究,我发现唯一的方法是创建一个窗格,以便使用getPanes方法,然后将markerLayer(标记所在的位置)移动到OverlyMouseTarget,下面是一个半工作的示例:

首先,设置一个或多个标记的zIndex

marker.setZIndex(9999);
marker.setMap(this.map);
我使用了一种相当长的方法来检查json信息以更改zIndex编号,因此在本例中,我只说所有标记都需要位于集群上方,然后在我计划放入集群的任何标记中,我将该标记设置为10并推送到一个数组,然后将该数组设置为markercluster。现在进入分层:

const overlay = function() {};

overlay.prototype = new google.maps.OverlayView();
overlay.prototype.onAdd = function() {

  const panes = this.getPanes();

  for(let i = 0; i < panes.markerLayer.childNodes.length; i++) {
    panes.overlayMouseTarget.appendChild(panes.markerLayer.childNodes[i]);
  }

  console.log(panes.overlayMouseTarget);
};

const x = new overlay();
x.setMap(this.map); 
const overlay=function(){};
overlay.prototype=new google.maps.OverlayView();
overlay.prototype.onAdd=函数(){
const panes=this.getPanes();
for(设i=0;i

这样,就可以将所有标记和集群推到同一个dom元素中,因此zIndex得到了尊重。

您使用的是哪个
MarkerClusterer
?如何将更高优先级的
标记添加到地图?请提供一份说明问题的报告。