2013-02-10 64 views
12

我是一個新手打開街道地圖。我做了一些研究,發現我們可以下載並將地圖存儲到一個文件夾中。但我沒有找到提供離線開放街道地圖的任何教程或示例。有人可以提供一步一步的教程,請實施離線開放街道地圖指南。我正在關注這個示例http://android-coding.blogspot.com/2012/06/example-of-implementing-openstreetmap.html,但現在我想在沒有連接時使其可用。打開街道地圖離線工作android

回答

6

就像在教程中,您mentionned你可以使用osmdroid庫: https://code.google.com/p/osmdroid/

有如何osmdroid脫機作品在這裏映射了很好的解釋: https://stackoverflow.com/a/8286276/891479

使用MapTileProviderBasic在您的應用程序。 這裏的一些例子: http://www.androidadb.com/class/ma/MapTileProviderBasic.html

要生成離線地圖osmdroid格式使用移動阿特拉斯創造者: http://mobac.sourceforge.net/

您可以選擇地圖的來源和輸出格式。一旦生成,將你的地圖集以zip格式放入你的「/ osmdroid/map」目錄。

希望它會幫助!

+0

嗨@resus,......我只是發現了谷歌地球/地圖選項已經從移動阿特拉斯造物主功能去掉?如果是這樣的話......我如何創建支持osmdroid讀取的區域地圖? – gumuruh 2014-08-09 06:47:22

+0

由於許可原因,Google地圖可能不存在,您可以將openstreet地圖來源用於離線地圖。 – 2014-08-11 08:45:45

4

我發現這個tutorial可以一步一步解釋你需要的所有東西。

簡單:

1-必須使用Mobile Atlas Creator下載地圖圖塊。我已經解釋了步驟HERE

2-將生成的壓縮文件移動到設備上的/ mnt/sdcard/osmdroid /。

3-添加osmdroid-android-XXX.jarslf4j-android-1.5.8.jar到構建路徑項目

4-添加的MapView:您可以將MapView類添加到您的XML佈局

<org.osmdroid.views.MapView 
    android:id="@+id/mapview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tilesource="Mapnik" 
    /> 

或以編程方式創建MapView類:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    mResourceProxy = new ResourceProxyImpl(inflater.getContext().getApplicationContext()); 
    mMapView = new MapView(inflater.getContext(), 256, mResourceProxy); 
    return mMapView; 
} 

希望能幫到;)

+0

Mobile Atlas Creator現在被封鎖。現在做什麼 – 2017-09-07 10:30:05

0

MOBAC(移動阿特拉斯造物主)現在被阻止使用OSM 你可以看到here