Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.61
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248
#1

Интеграция карт OSM в проект - Программирование Android

18.02.2015, 19:14. Просмотров 6153. Ответов 23
Метки нет (Все метки)

Доброго времени суток! Необходимо сделать навигатор по городу, планируется его использование без постоянного подключения к интернету. Думаю для этого необходимо использовать карты от OpenStreetMap, т.к. они единственные офлайновые. Но вот в чем загвоздка, я не смог в просторах интернета найти примера как подключать и использовать данные библиотеки, сами библиотеки конечно же есть (вот ссылка: https://github.com/osmdroid/osmdroid). На официальном сайте, описание неполное и не понятное. Может кто поможет разобраться или объяснить как это делать, буду очень благодарен!

Добавлено через 3 часа 48 минут
В общем нашел кое что интересное по данной теме
Офлайн карты OpenStreetMap.
Скачаем основную библиотеку (osmdroid-android-3.0.7.jar) и вспомогательную (slf4j-android-1.5.8.jar), которая требуется для работы основной и добавим их в наш проект.
Далее в MainActivity добавляем код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.yourpackage.name;
 
 
 
import org.osmdroid.util.GeoPoint;
 
import org.osmdroid.views.MapView;
 
 
 
import android.app.Activity;
 
import android.os.Bundle;
 
 
 
public class OSMDroidMapActivity extends Activity {
 
    public void onCreate(Bundle savedInstanceState){
 
        super.onCreate(savedInstanceState);
 
 
 
        MapView mapView = new MapView(this, 256); //constructor
 
        mapView.setClickable(true);
 
        mapView.setBuiltInZoomControls(true);
 
        setContentView(mapView); //displaying the MapView
 
        mapView.getController().setZoom(15); //set initial zoom-level, depends on your need
 
        mapView.getController().setCenter(new GeoPoint(52.221, 6.893)); //This point is in Enschede, Netherlands. You should select a point in your map or get it from user's location.
 
        mapView.setUseDataConnection(false); //keeps the mapView from loading online tiles using network connection.
Этого достаточно для отображения карт и их прокрутки и зумирования.

Ещё необходимо скачать карты с помощью Mobile Atlas Creator. Там выбираем формат сохранения карт "Osmdroid ZIP". На карте находим необходимую локацию, выделяем ее. Выбираем тип карты а также масштабы тайлов. Называем карты и нажимаем на "add selection". После того как все настроено нажимаем на "Create atlas". Начнут скачиваться карты. Когда карты загрузятся просто переместите архив в /mnt/sdcard/osmdroid/. Либо разорхивировав в /mnt/sdcard/osmdroid/tiles/. Вот в приципе и все.

Добавлено через 3 минуты
Кстати, если будет ошибка и будет подчеркнуто
Java
1
OSMDroidMapActivity
то замените на
Java
1
MainActivity
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248
01.03.2015, 14:52  [ТС]     Интеграция карт OSM в проект #21
из main.xml самособой тоже удалял)
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248
24.03.2015, 15:08  [ТС]     Интеграция карт OSM в проект #22
я так понял в приложении graphhopper используется только mapsforge для карт? и osmdroid там даже близко нету?
4kict
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 10
18.05.2015, 15:27     Интеграция карт OSM в проект #23
ТС, приветствую!
"попробую 2 проекта сделать с векторными и с растровыми картами"
удалось ли сделать на векторных картах?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2015, 19:16     Интеграция карт OSM в проект
Еще ссылки по теме:
Границы google карт Android
Реализация карт с метками Android
Android Нужен совет с программой с использованием карт
Android Ошибка при запуске Яндекс Карт
Android Google maps метод поиска фрагмента карт на разметке для разных версий андроид

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248
18.05.2015, 19:16  [ТС]     Интеграция карт OSM в проект #24
4kict, выше я описал последовательность своих действий для получения векторных карт
Ура! ну наконец то заработало!)
Опишу порядок своих действий:
Скачал проект graphhopper с официального сайта.
Скачал Android Studio (Eclipse не поддерживается почемуто).
Использовал эту инструкцию по настройке проекта в Android Studio.
Скачал cygdrive и maven (т.к. сижу под виндой).
Проделал все манипуляции в командной строке для получения графа маршрутов.
Получил apk файл из android studio и установил его на телефон.
Закинул граф маршрутов с картой на карту памяти телефона.
Вот в принципе и все много мороки было с обрезкой карты, пришлось скачать сначала карту страны, потом с помощью osmosis удалось ее обрезать и преобразовать в формат .map с помощью плагина от mapsforge.
Yandex
Объявления
18.05.2015, 19:16     Интеграция карт OSM в проект
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru