设置标记的 z-index 时无效

No effect when setting z-index of marker

我的浏览器应用程序跟踪在地图上移动的车辆。这些车辆表示为 DomMarkers。

集群标记分组在我们通过 H.Map.addLayer() 添加到地图的一层中。

通过 H.Map.addObject() 将其他未聚类的车辆(例如用户选择并希望在地图周围跟随的特定车辆)添加到地图中,这样它们就不会合并到集群层。

我们希望非集群标记在渲染时始终位于集群标记的前面。正因为如此,我们明确设置了我们创建的每个标记的 z 索引,并且为非集群标记设置了更高的值。我们使用 DomMarker.setZIndex().

来设置它

但是,当呈现 HTML 时,呈现的 SVG 元素的 z 索引不会反映我们明确设置的值。这就像 Here Maps 库忽略了我们在代码中设置的 z-indexes 而只是自己设置 z-indexes。

我们是否通过使用带有聚类标记的一层然后在 H.Map.addObjects() 中添加非聚类标记来正确地做到这一点?

谢谢

我做了一些实验,所以我将分享我的解决方法。

基本上,我无法在使用 DomMarkers 时设置 z-index。它只是什么都不做。

但是,诺基亚开发者页面确实展示了如何修改 z-index,但他们使用的是 Marker 对象而不是 DomMarker 对象:

https://developer.here.com/api-explorer/maps-js/v3.0/markers/ordering-overlapping-markers

我试过了,它起作用了,所以我们只是用 Marker 对象替换了代码中的 DomMarker 对象。

可以使用 addLayer 函数的 opt_idx 参数为整个图层设置 z-index https://developer.here.com/documentation/maps/topics_api/h-map.html#h-map__addlayer

如果其中一个标记显示信息窗口,它将显示在所有其他标记的前面。 也许您将 infoWindow 用作其中一个标记