12

Я новичок в Open Street Map. Я провел некоторое исследование и обнаружил, что мы можем загрузить и сохранить карту в папку. Но я не нашел никакого учебника или образца, который предоставляет автономную открытую карту улиц. Может ли кто-нибудь предоставить пошаговое руководство, руководство для реализации автономной открытой карты улиц, пожалуйста. Я следую этому примеру http://android-coding.blogspot.com/2012/06/example-of-implementing-openstreetmap.html, но теперь я хочу сделать его доступным, когда нет соединения.Open Street Map работает автономно android

ответ

6

Как и в учебнике вы упоминались вы можете использовать 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».

Надеюсь, это поможет!

+0

Привет @resus, ... я только узнал, что параметры Google Планета Земля/Карты были удалены из функций Mobile Atlas Creator? Если это так ... как я могу создать карту своей области, которая поддерживается для чтения osmdroid? – gumuruh

+0

Карты Google, вероятно, отсутствуют по причине лицензирования, вы можете использовать источники openstreet для офлайн-карт. –

4

Я нашел это tutorial, который объясняет все, что вам нужно, шаг за шагом.

Вкратце:

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; 
} 

Надеюсь, что это поможет;)

+0

Мобильный Atlas Creator заблокирован сейчас. что делать сейчас –

0

MOBAC (Mobile Atlas Creator) заблокирован сейчас для использования OSM . Вы можете видеть here

Смежные вопросы