2012年8月26日 星期日

出國必備的離線地圖--Mobile Atlas Creator+RMaps

每次出國最怕的就是人不生地不熟迷路了,雖然現在一些國家可以3G上網,打開Google map就可以觀看地圖,但是還是有些許不方便。
Mobile Atlas Creator 是一個離線地圖擷取程式,他支援很多格式跟地圖,可是…他在某一個版本被一堆地圖provider抗議之後,就移除了支援Google Map,目前在官網只能抓到最新版本,舊版本支援Google Map已經找不到下載連結,但是可以從Dr.TYT找到舊版本^^
既然有舊版本,為什麼我堅持要想辦法去使用新版本1.9,因為新版本1.9支援多邊形(Polygon)選取,大大減少一些不必要的區域選取,降低儲存空間和提高地圖的精準度,舊版本只能矩形選取,例如想做一份台北市離線地圖,舊版本矩形選取會圈選到其他縣市滿大區域。
***新版本的多邊選取***
image
1.9的要怎樣支援Google Map,大致可以參考此篇做法,不過我不喜歡裝一堆軟體,身為一個網路人,就要用聽封包方式!
打開Map Evaluator,可以看到底下的地圖網址http://和X、Y…
image
打開聽封包軟體,我是使用Network Monitor去抓取,使用IE打開Google Map任意瀏覽地圖,看到封包內容,有沒有網址,有沒有X、Y…
image
套用那篇文章教學,Map Evaluator就可以顯示Google Map啦,接下來就可以把自訂地圖丟進去Mobile Atlas Creator 1.9
如果還是不會… … 把底下複製貼上存成 mapsource.bsh 放到 Mobile Atlas Creator mapsources目錄底下
/**
 OpenStreetMap Example:
 Input parameters for this script: "zoom", "x" and "y"
**/
String getTileUrl( int zoom, int x, int y ) {
   return "http://mt0.google.com/vt/lyrs=m@180000000&hl=zh-TW&src=app&x=" + x + "&y=" + y + "&z=" + zoom +"&s=.png";    
} 
void addHeaders( java.net.HttpURLConnection conn) {
  // Optional: set HTTP Referer or Cookies 
  conn.addRequestProperty("Cookie","test=12345");
  conn.addRequestProperty("Referer","http://mt0.google.com");
}

tileType = "png"; // required - image format "png" "jpg" or "gif"

// Default size of each tile is 256x256 pixel
tileSize = 256; // optional
minZoom = 0;    // optional
maxZoom = 22;   // optional

tileUpdate = TileUpdate.None; // optional - possibilities: 
// TileUpdate.IfNoneMatch, TileUpdate.ETag, TileUpdate.IfModifiedSince, TileUpdate.LastModified, TileUpdate.None 



在Map source選擇BeanShell….即可使用。

2012-12-26_003742

image

產生好離線地圖後,接下來把地圖檔案丟到手機或者平板,使用RMaps讀取地圖,最大好處就是可以在出國前,先把自己想去的景點標示在地圖上,出國後打開RMaps透過GPS定位(非3G)就可以開始快樂使用!!



ScreenShot[1345952690][945729]

5 則留言:

  1. 感謝你 這篇很實用!

    回覆刪除
  2. 感謝你, Copy 你的 mapsuurce.bsh 直接可以使用 , 但是似乎有

    "最大允許地圖圖片塊數為500000 " ????

    ps: 我是用最新 1.9.15 版.

    回覆刪除
    回覆
    1. 新版的限制,怕你下載太大地圖,可以找找看舊版1.8,1.8沒有此限制。

      刪除
    2. 嗯! 1.8 沒限制 , 但是無法使用多邊形選擇要抓的範圍 , 為了要圖檔盡量小, 城市範圍要分好幾次選,好幾個layer, 很不方便! 謝謝你!!

      刪除
  3. 對了!...在下實在愚昧...電腦知識有限, 不會寫那個 bsh , 可以厚臉皮的麻煩你幫我加一個地圖源 Google 的衛星圖嗎? 感謝!!

    回覆刪除