javascript - 被 map 图 block chop 的符号

标签 javascript google-maps google-maps-api-3

当我向多段线添加箭头时,当箭头位于 map 图 block 的边缘时它会被切断。这可以使用文档 ( 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 的反馈。

The jsfiddle shows a symbol that's too big.

https://developers.google.com/maps/documentation/javascript/3.exp/reference#Symbol

The documentation for the 'scale' parameter says: after scaling, the symbol must lie inside a square 22 pixels in size centered at the symbol's anchor.

关于javascript - 被 map 图 block chop 的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24853312/

相关文章:

javascript - 奇怪的 Google map 行为 : Pop up boxes and zoom bar not displaying correctley

javascript - 折线段的不同颜色

Javascript - 具有多个语句的三元运算符

java - Jquery post到Spring Controller 返回java bean以进行jSTL解析

javascript - Nodejs 无法读取未定义错误的属性 'emit'

javascript - 谷歌地图边界不准确

javascript - 具有标准样式的 Google map 自定义按钮

javascript - 如何记住 NAV 的滚动位置(固定/溢出-y :scroll)

android - 棘手的 Android 谷歌地图缩放,同时保持中心点

javascript - 如何在调整浏览器大小时将 Google map 标记设置为中心?