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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Динамическое создание интерфейса http://www.cyberforum.ru/android-dev/thread1377615.html
Здравствуйте уважаемые. Помогите справиться с задачей. Хочу динамически создать несколько LinearLayout c TextView, ImageView и Button (как на картинке В верху TextView по центру ImageView ниже...
Программирование Android Adb not found in ANDROID_HOME Windows 7 x64 Всем привет Решил познакомиться с инструментом автотестирования SDK UIAutomator, но сразу же возникла беда: уже при написании двух строк на Пайтоне from uiautomator import device as d d.info ... http://www.cyberforum.ru/android-dev/thread1377543.html
Программирование Android Зависание при создания экземпляров классов
Создал игру Libgdx+Box2d для андроид. Возникла проблема: когда захожу в игровой экран-игра зависает(зависает сильно). Выяснил что зависание происходит в момент создания экземпляров классов:...
Программирование Android При нажатии на кнопку меню приложение падает
Здравствуйте. Учусь делать свое приложение)) В процессе заметил вот что. Если нажать на кнопку вызова меню (я не знаю, как ее еще назвать... сенсорная кнопка на самом устройстве, а не что-то из...
Программирование Android Добавление элемента в Toolbar http://www.cyberforum.ru/android-dev/thread1377318.html
хочу добавить один элемент в тулбар, но вместо этого в тулбаре только три точки (кнопка overflow) при нажатии на которую выпадает вариант "Добавить". но я хочу чтобы вместо трёх точек был мой элемент...
Программирование Android Прочитать файл из res/raw Привет. Можно ли как нибуть прочитать файл из res/raw не с помощью openRawResource()? То есть получить его имя и прочитать самому, а не через ссылку на InputStream. Пробовал getResourceName(), но... подробнее

Показать сообщение отдельно
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248

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

18.02.2015, 19:14. Просмотров 6655. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru