2013-03-27 68 views
6

我正在爲一所大學項目工作,我對其中的一部分非常困難。如何在iphone上本地存儲openstreetmap數據

簡單地說,我希望做以下5兩件事:

  1. 下載開放街道地圖數據,我的城市

  2. 商店,本地手機上的硬盤數據。

  3. 認爲,在地圖上以我的iPhone應用程序的數據作爲地圖

  4. 位置標記。

  5. 沿這些路徑之間的道路繪製路徑。

我一直在這個項目的這個特定的部分工作了幾個星期,我沒有得到它。我甚至都無法弄清楚如何在手機上存儲地圖,更不用說查看地圖數據。我嘗試過使用「Route-Me」庫,但無法使其工作(儘管它似乎是使用openstreetmap數據的最好的庫之一,所以我正在學習如何使用它)。我覺得自己被打敗了。

如果有人完成了我想要做的任何工作,請將我鏈接到您已使用過的教程/指南/視頻。

我不是在尋找人給我代碼或爲我做的工作,我想學習如何做到這一點,但如果任何人都可以指出我正確的方向,我可以學習的網站,我會非常感謝。

任何意見或反饋,將不勝感激

回答

5

下面是我最終解決問題的方法。

由於Tilemill本身不讀取.osm/.o5m/.pbf文件我使用Osmosis將.osm文件轉換爲.shp文件。

然後,我在Tilemill中創建了一個新項目,並將我想要的特定.shp文件作爲圖層添加到新項目中。它需要一點修補才能讓地圖看起來像你想要的,但它非常類似於CSS,並且隨時隨地輕鬆拾取。

一旦我找到了我想要的地圖,我將其導出爲.mbtiles文件。這需要很長時間才能完成,並且文件可能非常大,具體取決於貼圖的詳細程度。我做了一幅愛爾蘭地圖,縮放級別在7-14之間,我做了一個只有都柏林市的縮放級別爲11-17的地圖。儘管都柏林市的地圖鋪設的瓷磚少得多,但都是200MB大小。

然後我發現這個在線教程這也解釋瞭如何將.mbtiles文件存儲在你的應用程序,以及如何閱讀:http://martinsikora.com/creating-mbtiles-db-for-ios-mapbox-from-hi-res-map-image

這裏是我發現有用的其他幾個環節:

http://www.kindle-maps.com/blog/using-tilemill-with-openstreetmap-data.html

http://mapbox.com/developers/mbtiles/

http://mapbox.com/mapbox-ios-sdk/api/

http://mapbox.com/developers/api/#static_api

http://support.mapbox.com/discussions

我希望這是有用的人

+0

你做了什麼來減少你的.mbtiles文件的大小?我在問,因爲我的方式太大,我可以將其導入到我的應用程序中。 – arniotaki 2014-10-03 12:23:26

+0

我減少了一次使用的圖層數量。我將圖像類型更改爲png8(或更小的圖像類型),然後通過取出我不需要的東西來定製地圖,仍然大約是70-80 MB – Ian 2014-10-27 21:59:25

4

我建議嘗試MapBox iOS SDK。它實際上是從Route-Me庫中分離出來的,並且可以讓你完成列表中的所有內容。

需要記住的一個關鍵點是,您需要在下載OSM數據並將其存儲在iOS設備本地之間的另一個步驟,即生成地圖切片並將其存儲在某種數據庫中。

Here是一個使用MapBox SDK的示例iOS應用程序,它具有在線和離線地圖來源,並且是一個很好的起點。

+0

非常感謝您的回覆,我會考慮這個的時候了! – Ian 2013-03-28 12:51:02

相關問題