Я новичок в Open Street Map. Я провел некоторое исследование и обнаружил, что мы можем загрузить и сохранить карту в папку. Но я не нашел никакого учебника или образца, который предоставляет автономную открытую карту улиц. Может ли кто-нибудь предоставить пошаговое руководство, руководство для реализации автономной открытой карты улиц, пожалуйста. Я следую этому примеру http://android-coding.blogspot.com/2012/06/example-of-implementing-openstreetmap.html, но теперь я хочу сделать его доступным, когда нет соединения.
Open Street Map работает в автономном режиме
Ответ 1
Как и в упомянутом учебнике, вы можете использовать библиотеку osmdroid: https://code.google.com/p/osmdroid/
Хорошее объяснение того, как osmdroid работает с офлайн-картами здесь: fooobar.com/questions/322767/...
Используйте MapTileProviderBasic в своем приложении. Вот некоторые примеры: http://www.androidadb.com/class/ma/MapTileProviderBasic.html
Чтобы создать автономные карты в формате osmdroid, используйте Mobile Atlas Creator: http://mobac.sourceforge.net/
Вы можете выбрать источник карт и формат вывода. После сгенерирования разместите атлас карт в формате zip в каталоге "/osmdroid/map".
Надеюсь, это поможет!
Ответ 2
Я нашел этот учебник, который объясняет все, что вам нужно поэтапно.
Вкратце:
1- Вы должны скачать фрагменты карты, используя Мобильный Atlas Creator. Я объяснил шаги ЗДЕСЬ
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;
}
Надеюсь, что это поможет;)
Ответ 3
MOBAC (Mobile Atlas Creator) теперь заблокирован для использования OSM Вы можете увидеть здесь