【发布时间】:2012-10-06 23:37:44
【问题描述】:
测试链接:http://kwestievan.nl/reizen
我在这里做什么:实现我自己的 OverlayView 来绘制从标记到标记的曲线,并在每行的末尾使用 SVG 绘制箭头。我在地图中添加了一个 div 元素,该元素具有一定的宽度和高度以包含线条和箭头。然后我将内联 SVG 代码放入该 div 中,让浏览器绘制线条和箭头。
如果在 Safari 或 Chrome 中查看,会出现一些非常烦人且意外的行为。在 Safari 中,整个 SVG 图形在超过一定的缩放级别后消失,而在 Chrome 中,行尾的箭头消失并以随机缩放级别重新出现,看起来如此。在 Firefox 和 Opera 中,这种行为不会发生,并且箭头在任何缩放级别都可见。
不要介意红色框和/或某些箭头的位移。这项工作正在进行中。
这里发生了什么? SVG 与 Google 地图不完全兼容还是我做错了什么?
【问题讨论】:
-
你见过
google.maps.Polyline和google.maps.Polygon吗?如果你对路径进行编码,它比 SVG 更高效和一致,请参阅google.maps.geometry.encoding.decodePath -
@PauloScardine 相信我,我已经尝试了很多东西来获得漂亮的曲线,从标记到标记带有箭头。到目前为止,我在像这样的 SVG 图形方面取得了最大的成功。内置 Polyline 和 Polygon 函数的问题在于它们不提供内置曲线选项。这有很多扩展,但它们是在地图上绘制的,而不是在屏幕上绘制的。结果:在大距离上,由于测地线校正,线会出现偏差。所以我需要用像素完全“在屏幕上”绘制。为此,我决定使用 SVG。
标签: google-maps google-chrome google-maps-api-3 safari