当我向折线添加箭头时,当箭头位于地图图块的边缘时,它会被切断。这可以使用文档(https://developers.google.com/maps/documentation/javascript/examples/overlay-symbol-arrow)中的示例代码重现,只需将其拖动并移动一点。
以下是不在边缘时的样子:
以下是它的外观:
版本(3.16)和实验(3.17)版本都存在问题。我已在google's bugtracker上报告了这一点,但可能需要数年时间才能解决问题。那么,有没有人知道解决方法?
编辑:哦,我应该补充说,它不会发生在小行程中,它必须像图像上那样大一些。
答案 0 :(得分:3)
<强>问题:强>
使用预定义的符号路径时会发生错误。
// Define a symbol using a predefined path (an arrow)
// supplied by the Google Maps JavaScript API.
var lineSymbol = {
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW
};
<强>解决方案:强>
创建自己的符号路径,问题将不再出现。
// Define your custom symbol path
var lineSymbol = {
path: 'M -2,0 0,-2 2,0 z',
strokeColor: '#F00',
fillColor: '#F00',
fillOpacity: 1
};
非常容易修复但它仍然是一个错误,所以我认为你创建一个错误报告是件好事。
修改强>
我们收到了Google的反馈。
jsfiddle显示的符号太大了。
https://developers.google.com/maps/documentation/javascript/3.exp/reference#Symbol
'scale'参数的文档说'缩放后,符号必须位于以符号锚'为中心的22像素的正方形内