谷歌地图API第3版:SVG图形卡/消失变焦

问题描述:

测试链接时:http://kwestievan.nl/reizen谷歌地图API第3版:SVG图形卡/消失变焦

我在做什么在这里:实现我自己的OverlayView的从标记绘制曲线在每行的末尾用箭头标记来与SVG。我将一个div元素添加到具有特定宽度和高度的地图中,以包含线条和箭头。然后,我在该div中内嵌SVG代码,让浏览器绘制线条和箭头。

如果在Safari或Chrome浏览器中查看,会出现一些非常烦人和意外的行为。在Safari中,整个SVG图形消失超过一定的缩放级别,并且在Chrome中,行尾的箭头消失并以随机缩放级别重新出现,因此看起来像。在Firefox和Opera中,这种行为不会发生,箭头在任何缩放级别都可见。

不要介意红色方块和/或某些箭头的位移。这是正在进行中的工作。

这是怎么回事? SVG是否与Google地图不完全兼容,或者我做错了什么?

+0

你见过'google.maps.Polyline'和'google.maps.Polygon'吗?如果你编码的路径,它比SVG更有效率和一致性,请参阅'google.maps.geometry.encoding.decodePath' – 2012-03-08 22:17:25

+0

@PauloScardine相信我我已经尝试了很多事情来获得很好的曲线,来自标记的箭头到标记。到目前为止,我在SVG图形方面取得了最大的成功。内置折线和多边形功能的问题是它们不提供内置的曲线选项。这有很多扩展,但他们画在地图上,而不是在屏幕上。结果:由于测地线校正,线路在很大距离上有偏差。所以我需要用像素完全“在屏幕上”绘制。为此,我决定使用SVG。 – Coen 2012-03-09 12:56:42

我曾尝试过,但未能在SVG中嵌入地图。我也在浏览器之间获得了非常不同的行为。仔细观察,Map本身是非常复杂的SVG。浏览器处理SVG的方式当然有很大的不同。我把这种发展放在了后面,等待浏览器一起行动。 我知道这不是一个答案,而只是分享经验。

+1

唯一的区别是我没有试图将地图嵌入到SVG中,而是反过来。我想在地图上绘制SVG图形。 – Coen 2012-03-08 21:55:51

我正在取得进展。如果您现在查看测试链接,您会发现,在Chrome中,无论您处于哪种缩放级别,箭头都会保持在需要保持一致的位置。 Safari仍然会丢失整个SVG图形超过一定的缩放级别。即使正常的Google InfoWindow实例也存在这个问题,正如您可以在测试网站上看到最后一个标记(缩小一点看到它)。

就此判断,我认为Google地图中实际存在一个错误。其他人可以确认InfoWindow本身(而不是影子)在某个缩放级别之后(中间级别之后的某处)消失吗?像这样:

Safari looses InfoWindow past zoom level

+0

我大量使用Google Maps,并且从未经历InfoWindows消失,曾经 – Hubro 2012-05-02 13:12:28

与信息窗口阴影的标志? 显然,您的标记阴影设置为与infoWindow相同的值。重复的变量可能?更改标记阴影'路径'的名称。您可能会无意中使用与infoWindow阴影路径相同的标记路径名称。

我同意星。 开始为polyLine图标创建复杂的SVG路径,并且当放置在特定位置和缩放级别(即跨骑2个地图图块时)它们一半消失。这被归咎于测地学校正。

在Firefox中,您的SVG外线将在更大范围内随机浮动在屏幕周围。与关闭问题有关。虽然可以修复。

我不明白为什么polyLine及其图标不能坐的图层上方,从而避免其特性。

基本上我也浪费了大量的时间和非常失望,将SVGs在polyLine的结果。我确实想把我的公交时刻表和地图脚本卖给公交公司。但从图形上来说,它只是不符合我感觉舒服的标准。也就是说,巴士一半消失并重新出现在下一个瓷砖上。

我现在要为我的巴士图标使用标记,因为它们似乎坐在地图上方的图层上,因此没有测地线附件。

顺便说一句。您可以使用多边形和多边形创建弧线可以