当我使用不同的图标类型向谷歌地图添加更多标记时,例如:
...
var marker = new google.maps.Marker({
position: markerLatLng,
map: map,
icon: "http://www.test.com/marker.png",
zIndex: 10
});
...
和
...
var resultIcon = {
path: google.maps.SymbolPath.CIRCLE,
fillColor: "black",
strokeColor: "black",
strokeWeight: 1,
};
var marker = new google.maps.Marker({
position: markerLatLng,
map: map,
icon: resultIcon,
zIndex: 5
});
...
比 zIndex 不起作用,符号标记出现在顶部。
我的代码有问题,或者如何使 zIndex 工作?
您必须指定zIndex
并添加
optimized: false
到每个标记构造函数,例如。
var marker = new google.maps.Marker({
position: markerLatLng,
map: map,
icon: resultIcon,
optimized: false,
zIndex: 5
})
这似乎是基于画布的新标记渲染的问题。
编辑:
这确实解决了问题。值得一提的是,每个标记都必须具有"optimized: false"属性。只要一个标记没有它,它就不起作用。
从LeJared的小提琴中删除任何"优化:false"属性,您会遇到该错误。
http://jsfiddle.net/BNWYq/1/
将圆圈的 zIndex 设置为 -99 似乎有帮助:http://jsfiddle.net/rq4vs/2/
我做了一个小提琴:http://jsfiddle.net/gSRmV/
看起来像一个错误,必须由谷歌修复。
添加
optimized: false
不会改变任何内容。
编辑:看起来仍然像错误,但tborychowski和Codetoffel的两个解决方案似乎有效。