2012-03-07 96 views
0

測試鏈接時: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

回答

0

我曾嘗試過,但未能在SVG中嵌入地圖。我也在瀏覽器之間獲得了非常不同的行爲。仔細觀察,Map本身是非常複雜的SVG。瀏覽器處理SVG的方式當然有很大的不同。我把這種發展放在了後面,等待瀏覽器一起行動。 我知道這不是一個答案,而只是分享經驗。

+1

唯一的區別是我沒有試圖將地圖嵌入到SVG中,而是反過來。我想在地圖上繪製SVG圖形。 – Coen 2012-03-08 21:55:51

0

我正在取得進展。如果您現在查看測試鏈接,您會發現,在Chrome中,無論您處於哪種縮放級別,箭頭都會保持在需要保持一致的位置。 Safari仍然會丟失整個SVG圖形超過一定的縮放級別。即使正常的Google InfoWindow實例也存在這個問題,正如您可以在測試網站上看到最後一個標記(縮小一點看到它)。

就此判斷,我認爲Google地圖中實際存在一個錯誤。其他人可以確認InfoWindow本身(而不是影子)在某個縮放級別之後(中間級別之後的某處)消失嗎?像這樣:

Safari looses InfoWindow past zoom level

+0

我大量使用Google Maps,並且從未經歷InfoWindows消失,曾經 – Hubro 2012-05-02 13:12:28

1

與信息窗口陰影的標誌? 顯然,您的標記陰影設置爲與infoWindow相同的值。重複的變量可能?更改標記陰影'路徑'的名稱。您可能會無意中使用與infoWindow陰影路徑相同的標記路徑名稱。

我同意星。 開始爲polyLine圖標創建複雜的SVG路徑,並且當放置在特定位置和縮放級別(即跨騎2個地圖圖塊時)它們一半消失。這被歸咎於測地學校正。

在Firefox中,您的SVG外線將在更大範圍內隨機浮動在屏幕周圍。與關閉問題有關。雖然可以修復。

我不明白爲什麼polyLine及其圖標不能坐的圖層上方,從而避免其特性。

基本上我也浪費了大量的時間和非常失望,將SVGs在polyLine的結果。我確實想把我的公交時刻表和地圖腳本賣給公交公司。但從圖形上來說,它只是不符合我感覺舒服的標準。也就是說,巴士一半消失並重新出現在下一個瓷磚上。

我現在要爲我的巴士圖標使用標記,因爲它們似乎坐在地圖上方的圖層上,因此沒有測地線附件。

順便說一句。您可以使用多邊形和多邊形創建弧線可以