Google maps api 3 google.maps.Marker zIndex不';t适用于两种图标类型-符号和字符串

Google maps api 3 google.maps.Marker zIndex不';t适用于两种图标类型-符号和字符串,google-maps-api-3,Google Maps Api 3,当我向Google地图添加更多具有不同图标类型的标记时,如: ... var marker = new google.maps.Marker({ position: markerLatLng, map: map, icon: "http://www.test.com/marker.png", zIndex: 10 }); ... 及 zIndex不起作用,符号标记出现在顶部

当我向Google地图添加更多具有不同图标类型的标记时,如:

...
var marker = new google.maps.Marker({
             position: markerLatLng,
             map: map,
             icon: "http://www.test.com/marker.png",
             zIndex: 10
         });
...

zIndex不起作用,符号标记出现在顶部


我的代码有问题吗?或者我如何使zIndex工作?

您必须指定一个
zIndex
并添加

optimized: false
每个标记构造函数,例如

var marker = new google.maps.Marker({
    position: markerLatLng,
    map: map,
    icon: resultIcon,
    optimized: false,
    zIndex: 5
})
这似乎是新的基于画布的标记渲染的问题

编辑:

这确实解决了问题。 但需要指出的是,每个标记都必须具有“optimized:false”属性。只要一个标记没有它,它就不会工作

从LeJared的fiddle中删除任何“optimized:false”属性,您将遇到错误

我做了一点小动作:

看起来像一个bug,必须由谷歌修复

添加
optimized:false
不会改变任何东西


编辑:看起来仍然像bug,但是tborychowski和Codetoffel的两个解决方案似乎都能工作。

将圆的zIndex设置为-99似乎有帮助:

当您不指定自定义图标时,您的应用程序能正常工作吗?嘿,这也是一个不错的解决方案。感谢您更正fiddl。注意:此解决方案的问题是,符号“窃取”了图像中的鼠标悬停和单击等事件,即使它是在图像下方直观绘制的。检查这把小提琴,看看圆圈的工具提示如何显示,而不是pin工具提示,即使圆圈被放置在pin下:我希望谷歌能以一种好的方式解决这个问题,因为设置optimized=false在所有情况下都不理想,-99或任何数量的标记,更安全的加上-99999你帮我省下了无数个小时的拔头发的时间。为我工作!然而,它在阅读优化文档时的工作是:“优化将多个标记渲染为单个静态元素。默认情况下,将启用优化渲染。禁用动画GIF或PNG的优化渲染,或者当每个标记必须渲染为单独的DOM元素时(仅限高级使用)。”(请参阅)哇,这是一个多么晦涩的小技巧。谢谢有没有办法用markerClusterer将optimized设置为
false
?无论“You is Here”标记的z索引如何,我的群集标记都会出现在我的“You is Here”标记上。谢谢!这很难理解。
var marker = new google.maps.Marker({
    position: markerLatLng,
    map: map,
    icon: resultIcon,
    optimized: false,
    zIndex: 5
})