当我在折线中添加箭头时,当箭头位于 map 图块的边缘时,它会被切除。可以使用docs(https://developers.google.com/maps/documentation/javascript/examples/overlay-symbol-arrow)中的示例代码来复制此代码,只需使其可拖动并稍微移动一下即可。

以下是不在边缘时的外观:

这是它的外观:

此问题在发行版(3.16)和实验版(3.17)中均存在。我已经在google's bugtracker上报告了它,但是他们可能需要几年的时间才能对其进行修复。那么,有人知道解决方法吗?

编辑:哦,我可能应该补充一点,它不会在小strokeWeight时发生,它必须像图像上的一样大一些。

最佳答案

问题:

使用预定义的符号路径时会发生错误。

// 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
};

JSFiddle demo

解决方案:

创建您自己的符号路径,问题将不再出现。
// Define your custom symbol path
var lineSymbol = {
    path: 'M -2,0 0,-2 2,0 z',
    strokeColor: '#F00',
    fillColor: '#F00',
    fillOpacity: 1
};

JSFiddle demo

很简单的修复程序,但它仍然是一个错误,因此我认为创建错误报告是一件好事。

编辑:

我们收到了Google的反馈。

09-16 20:43