web-dev-qa-db-ja.com

オフラインで動作するオープンストリートマップandroid

私はオープンストリートマップの初心者です。調べてみると、地図をダウンロードしてフォルダに保存できることがわかりました。しかし、オフラインのオープンストリートマップを提供するチュートリアルやサンプルは見つかりませんでした。誰かがステップバイステップのチュートリアル、オフラインのオープンストリートマップを実装するためのガイドを提供できますか?私はこの例に従っています http://Android-coding.blogspot.com/2012/06/example-of-implementing-openstreetmap.html しかし今、接続がないときにそれを利用できるようにしたいです。

12
Dimitri

あなたが言及したチュートリアルのように、osmdroidライブラリを使用できます: https://code.google.com/p/osmdroid/

Osmdroidがオフラインマップでどのように機能するかについての良い説明がここにあります: https://stackoverflow.com/a/8286276/891479

アプリでMapTileProviderBasicを使用します。ここにいくつかの例: http://www.androidadb.com/class/ma/MapTileProviderBasic.html

Osmdroid形式でオフラインマップを生成するには、Mobile Atlas Creatorを使用します: http://mobac.sourceforge.net/

マップのソースと出力形式を選択できます。生成されたら、マップアトラスをZip形式で「/ osmdroid/map」ディレクトリに配置します。

それが役立つことを願っています!

6
L. G.

私はこれを見つけました チュートリアル これはあなたが必要とするすべてのものを段階的に説明しています。

簡単に言うと:

1- Mobile Atlas Creator を使用してマップタイルをダウンロードする必要があります。手順を説明しました [〜#〜] here [〜#〜]

2-結果のZipファイルをデバイスの/ mnt/sdcard/osmdroid /に移動します。

3-プロジェクトのビルドパスに osmdroid-Android-XXX.jar および slf4j-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;
}

それが役に立てば幸い ;)

4
Milad Faridnia

MOBAC(Mobile Atlas Creator)は、OSMを使用するためにブロックされました。 ここ を参照してください。

0
Eugene Lezov