我正在使用 SVG 路径表示法创建标记以及使用 Google Maps API v3 的折线。有时,添加一些标记后,它们就会停止从地图上显示。如果我平移地图,即使只是 1px,它们也会再次显示。
添加一些 SVG 标记后停止显示
平移后再次显示 SVG 标记
这发生在 FF、Safari、Chrome 和 iPhone 浏览器中。
这是我的折线代码:
var lineSymbol = {
path: g.SymbolPath.FORWARD_OPEN_ARROW,
scale:1.5
};
polyOptions = {
strokeColor: '#0026b3',
strokeOpacity: 1.0,
strokeWeight: 1,
geodesic: true,
icons: [{
icon: lineSymbol,
repeat: '100px'
}],
zIndex: 10
};
polyLine = new g.Polyline(polyOptions);
polyLine.setMap(map);
以及 SVG 标记的代码:
var path = polyLine.getPath();
path.push(event.latLng);
var icon = {
path: "M68.501,23.781 43.752,48.529 66.918,71.695 66.918,120.362 70.085,120.362 70.085,71.694 93.249,48.529",
fillColor: iconColor,
fillOpacity: .8,
anchor: new g.Point(70.085, 120.362),
strokeWeight: 0,
scale:.4
};
var marker = new g.Marker({
position: event.latLng,
map: map,
draggable: false,
icon: icon,
title: title,
zIndex : -20
});
知道为什么我的标记实际上在地图上时就消失了吗?提前致谢。
这是一个可以重现问题的小提琴:http: //jsfiddle.net/upsidown/gNQRB/
这是一个说明问题的 YT 视频:https ://www.youtube.com/watch?v=uGAiwAuasmU
编辑:
已在 Google 创建错误报告:http : //code.google.com/p/gmaps-api-issues/issues/detail ?id=5351