Автономная карта в Android с использованием файла .map - PullRequest
3 голосов
/ 14 марта 2012

Я нашел код для просмотра автономной карты с помощью файла .map.Но я не могу найти способ создать файл .map или создать его для конкретного города или штата.Кто-нибудь может сказать мне, как создать или сгенерировать файл .map для конкретного города или штата?Мой код для отображения автономной карты с использованием файла .map приведен ниже:

public class HelloMapView extends MapActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MapView mapView = new MapView(this);
        mapView.setClickable(true);
        mapView.setBuiltInZoomControls(true);
        mapView.setMapFile(new File("/sdcard/path/to/mapfile.map"));
        setContentView(mapView);
    }
}

Я не могу создать файл .map, поэтому, пожалуйста, предоставьте мне решение этой проблемы как можно скорее.

Ответы [ 7 ]

3 голосов
/ 13 апреля 2012

Сначала вам нужно получить данные OpenStreetMap для конкретного города, штата или страны.Вы можете найти ссылки на извлечения области здесь: http://wiki.openstreetmap.org/wiki/Planet.osm#Country_and_area_extracts.Я бы порекомендовал получать данные в PBF, потому что это обычно меньше загрузки.Если вам нужна меньшая или определенная область, которая не предусмотрена, вы можете вырезать ее, используя осмос во время преобразования (см. Ограничивающий прямоугольник / многоугольник в вики осмоса).

Далее вам необходимо преобразовать эти данные в карту mapsforge.формат.Это делается с помощью Osmosis (http://wiki.openstreetmap.org/wiki/Osmosis#Latest_Stable_Version) и плагина mapforge для mapforge (http://code.google.com/p/mapsforge/downloads/list).Инструкции по установке плагина здесь: http://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter.Вкратце - извлеките Osmosis, внутри директории osmosis создайте новые плагины директории и скопируйте туда map-writer.jar.Теперь из командной строки выполните что-то вроде этого:

$ bin/osmosis --rb file=../data/berlin.osm.pbf --mapfile-writer file=/tmp/berlin.map
1 голос
/ 22 января 2013

Вы можете найти список карт здесь используется mapsforge

1 голос
/ 14 марта 2012

Все ответы даны в вики на сайте mapsforge:

http://code.google.com/p/mapsforge/wiki/MapFileWriterOsmosis

Если вам нужна дополнительная помощь, я рекомендую использовать список рассылки проекта:

http://groups.google.com/group/mapsforge-dev?pli=1

1 голос
/ 14 марта 2012

Вы также можете взглянуть на карту с открытым исходным кодом для Android . Существует реализация тайлового источника, которая находится на растровом изображении, и ее можно использовать для ваших целей.

1 голос
/ 14 марта 2012

Вы можете использовать это, я использовал это во многих приложениях ....

http://leaflet.cloudmade.com/

0 голосов
/ 24 марта 2017

перейдите к http://download.mapsforge.org/maps/ для файлов .map

и перейдите к http://download.geofabrik.de/index.html для файлов .osm / pbf, которые предоставляют дополнительные функции (автономное обратное геокодирование, места, здания, имена, улицы и т.д ...)
Использовать плагин mapsforge / graphhopper

0 голосов
/ 07 ноября 2014

Я думаю, что вы хотите сделать приложение для Android для отображения указанной карты в автономном режиме, это хороший учебник. http://www.haakseth.com/?p=30

Первое, что вам нужно сделать, это создать карту города, которую вы хотите показать, с помощью приложения Mobile Atlas Creator (MOBAC). Затем вы можете отобразить карту в виде карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...