2012-10-03 28 views
3

我在使用Android的谷歌地圖API頭疼......我在地圖上繪製一些重疊,這一切都很好,它會定期更新,並處理好姿態,沒有問題......然而,當我放大到15-16級或更高級時,一個或多個較大的多邊形不會重新繪製。這隻發生在例如圓的質心超出屏幕邊界並且僅在放大時發生的情況下。當縮小時不會發生,如果在任何方向上平移地圖也不會發生這種情況(翻譯)。Android的地圖覆蓋圖上消失變焦

當非常接近放大,我猜系統無視覆蓋/形狀,把它當作不重要嗎?我想要任何形狀與屏幕的邊界相交來繪製。我在這裏錯過了一些明顯的東西,因爲我似乎無法找到關於如何處理這種情況的明確答案。

回答

0

我倒是有類似的問題,但我只用方塊,這使得它更容易解決。

問題的詳細說明(在免得與方塊):

canvas.drawRect()只繪製矩形,如果兩個頂部和底部有可視屏幕內的座標的矩形。只要矩形的頂部或底部在屏幕外有一個座標,它就不會被繪製。

解決方案,我用正方形

我croped廣場,使之始終適應可見的屏幕座標內,它被正確地繪製。

如果使用更復雜的人物,這種解決方案可能更難治實現。

祝你好運。

+0

所以這是一個預期的行爲。我不明白爲什麼繪製任何相交形狀的力量至少不是繪製地圖時切換的選項。無論如何,非常感謝您的澄清。好吧,我不確定如何去解決這個問題的圈子和其他更復雜的形狀。我可以計算屏幕邊界和圓形的兩個交點,然後繪製一條弧線,但我猜測這將排除任何明智的填充選項。我必須考慮一下。謝謝您的幫助。 – Chaos

+0

@Stephen我在覆蓋層中使用上面的解決方案,只用建議的方式來調試我的應用程序。所以,一旦我明白了發生了什麼,以及我能做些什麼來避免它,我就沒有尋找更好的解決方案。可能有一個更優雅的解決方案,我使用的解決方案。祝你好運。 – Luis

1

我實現它使用的方式mapviewballons作爲庫here然後使用調用
super(boundCenter(defaultMarker), mapView);

的boundCenter保持其覆蓋在屏幕上和縮放它不受影響屏幕上的重心。

+0

謝謝,我會研究這個。 :) – Chaos

+0

@Stephen:任何運氣與此解決方案? – topwik

+0

我正在使用相同的庫,但仍然我的方向消失可以分享你的解決方案嗎? – Hunt