[轉]MBTiles 離線地圖示範 - 基於 Google Maps JavaScript API v3 + SQLite

來源:互聯網
上載者:User

標籤:分享圖片   使用   inf   百度地圖   探討   span   blog   from   tle   

MBTiles 是一種地圖瓦片儲存的資料規範,它使用SQLite資料庫,可大大提高海量地圖瓦片的讀取速度,比通過瓦片檔案方式的讀取要快很多,適用於Android、IPhone等智能手機的離線地圖儲存。詳情請參考:MBTiles移動儲存簡介。
       在WEB地圖介紹中我們看到,瓦片是參照了他們的z/x/y 形式座標,在磁碟儲存上,他們通常儲存在以z、x為名字上的目錄中,這樣就有一個瓦片檔案路徑是0/0/0.png。

       

同樣用Google或百度地圖JS API很方便調用。但是有個缺點就是檔案多了,佔用磁碟空間比實際檔案大很多,產生很多檔案片段,移動起來非常麻煩,速度慢。MBTiles提供了這樣一個功能:瓦片表,tiles:

sqlite> SELECT * FROM tiles;zoom_level | tile_column | tile_row | tile_data5          | 13          | 23       | [PNG data]5          | 13          | 24       | [PNG data]5          | 14          | 23       | [PNG data]5          | 14          | 24       | [PNG data]5          | 15          | 25       | [PNG data]複製代碼

這張表很容易查詢一張特定的瓦片:比如查詢層級為 8,列號為116,行號為192的瓦片資料:

sqlite> SELECT tile_data FROM tiles WHERE zoom_level = 8 AND tile_column = 116 AND tile_row = 192;[PNG data]
tile_data 為二進位的流檔案,不管用在傳統型程式還是Android、iOS應用都可以很方便的從Mbtiles資料庫裡面讀取瓦片資料了。

以下是我用Delphi做的一個示範程式的:

 

引文串連:

 i-gps
出處: MBTiles 離線地圖示範 - 基於 Google Maps JavaScript API v3 + SQLite

歡迎探討交流Google Maps相關技術,QQ:64445322 QQ群:242284018 

[轉]MBTiles 離線地圖示範 - 基於 Google Maps JavaScript API v3 + SQLite

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.