2013-07-01 5 views
0

Мне нужно создать приложение, которое будет работать в системе Linux. В принципе, я хочу достичь чего-то вроде Google Maps, но с гораздо меньшей функциональностью. Приложение должно быть в состоянии сделать следующее:OpenStreetMap - библиотека java для обработки автономной карты

  • открытые и отображения карты в автономном режиме, так как там не будет никакого подключения к Интернету
  • будет статический маршрут, как железная дорога, которая должна быть отображается, это не изменит
  • будет один динамически изменяющиеся точки, она должна быть обновлена ​​

Я никогда не разработал такого рода заявления, я только используется Google Maps для андроид v2, который является весьма прямо вперед, поэтому у меня не было бы проблем, но без подключения к интернету on, это не вариант. Итак, вот мои вопросы:

  • Я загрузил карту в формате .osm, который мне нужен. Если я правильно понимаю, мне нужно предварительно обработать эти файлы, используя что-то вроде Mapnik. Правильно ли этот подход? Если да, как я могу использовать Mapnik для этого рендеринга? Если нет, что вы рекомендуете?
  • Скажем, я закончил с частью рендеринга. Если я правильно понимаю, теперь я должен использовать что-то вроде JMapViewer. Я должен просто импортировать .jar в свой проект, тогда этот api предоставит mapview, и с некоторым кодированием я могу использовать api для отображения моих уже отображенных автономных карт. Это верно?

Кроме того, если вы можете предложить что-нибудь, что бы мне помогло, я был бы благодарен.

Спасибо заранее, ура

+1

Если вы используете приложение на компьютере с Linux, вы можете попробовать настроить свой собственный сервер для плитки http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ – user902383

ответ

1

в основном вы должны выполнить следующие шаги:

  • настроить mapnik server нагружают * .osm файл и PreRender все плитки вам нужно. (хранить их в каком-то zip-архиве, так как они становятся довольно большими в более высоких масштабах, вы также заполняете неиспользуемое пространство в секторах вашего жесткого диска [tar.gz])
  • напишите свой собственный класс, простирающийся от AbstractOsmTileSource, чтобы связать с сохраненным данные
  • написать свой собственный класс, реализующий интерфейс TileLoader для загрузки необходимых фрагментов внутри архива
  • создать экземпляр JMapViewer и установить предыдущий определяются TileLoader и TileSource
  • добавить железную дорогу в MapPolygon
  • добавить текущую позицию MapMarker
+1

Благодарим вас за ваш комментарий, мне удалось решить это некоторое время назад, я нашел lib под названием mapsforge, что делал все, что я хотел. :) – hundeva