2011-05-02 111 views
2

我在Android中使用Google地圖,在地圖上填充不同的標記。同時,我很難實現覆蓋地圖上所有標記的縮放級別。zoomToSpan實現問題

任何人都可以告訴我在android中實現zoomToSpan的正確方法。

回答

3

你需要跟蹤所有標記的位置,以確定正確的邊界:

  1. 初始化4個整數:與Integer.MIN_VALUE的,底部的頂部和右側邊界和界限左爲Integer.MAX_VALUE。
  2. 迭代所有標記的位置並適當地更新邊界:左邊應該是最小緯度,右邊是最大緯度,底邊是最小經度,頂邊是最大緯度(所有這些都使用緯度E6值)。
  3. 通過zoomToSpan左右之間的區別和上下之間的區別,你應該很好。

您可能需要做一些額外的工作才能正確地管理地圖的中心位置,因此所有內容都可以看到,但應該這樣做。

+0

我試過它在某些情況下它正在工作,而在某些情況下它給了我錯誤的輸出。 – Altaf 2011-05-02 01:50:21

+0

其可能存在Map縮放實現中的錯誤,但更可能是代碼中存在錯誤:這對我來說非常可靠。當你說出錯的輸出時,你的意思是什麼:它根本不縮放,或者它不縮放以覆蓋所有標記?你確定你正在從主循環線程調用zoomToSpan,並且所有的標記都在上面的邊界檢查中使用(你在調用zoomToSpan之後沒有在其他線程上添加新的標記)? – Femi 2011-05-02 03:08:22

+0

它沒有涵蓋所有的標記 – Altaf 2011-05-09 00:16:00