2012-12-28 115 views
-1

你好,我正在開發一個應用程序,其中.jpg圖像將被用作地圖。我正在開發此應用程序,用於在我的大學附近徒步旅行,因爲互聯網連接太低。Android:離線地圖

因此,只使用預先保存的圖像作爲地圖和GPS,我希望讓用戶導航。我想了解如何顯示可以平移和縮放的圖像。此外,我希望在圖像上添加覆蓋圖以顯示其當前位置。 。

PLZ作一個簡單的想法....

回答

1

歡迎堆棧溢出 - 這當然是有可能與谷歌地圖。您可以告訴地圖爲您加載圖像 - 爲每個圖像提供邊界角。

這是一個容易解決的問題,因爲有許多,許多移動部件:

與地理參考角點
  1. 容易的部分實際上是獲取圖像 - 這種最簡單的形式是可能是GeoTIFFs(或者只是一個列出角點的XML)
  2. 您必須管理圖像緩存,一次加載太多圖像,並且會將所有可用內存全部刪除
  3. 您必須監視每個地圖pan/zoom /等來適當地加載/卸載圖像。理想情況下,您可以在縮小圖像時加載低分辨率圖像並逐漸降至更高分辨率的圖像

這是如何實現的?那麼 - 這是困難的部分。您基本上需要擴展Google Map's Overlay Class並覆蓋draw方法。

  1. 你給了圖像的角點(和圖像位圖本身),以地圖爲draw方法
  2. 當影像中來看,加載它,當它不是在視圖的一部分,卸載它。
  3. 當您在地圖視圖中加載/卸載圖像時,請致電postInvalidate強制它重繪瓦片。

值得注意的是,谷歌地圖將緩存一些影像 - 如果你的大學校園是足夠小,你可以以適應高速緩存中的整個事情。那麼你根本不需要做任何奇特的工作。