route-me вместе с libosmscout (автономные векторные карты для iOS)

Я пытаюсь использовать каркас route-me вместе с библиотекой C++ libosmscout.

Что я сделал до сих пор:

  • импортировать данные OSM в формат libosmscout
  • компиляция примера проекта iOS из libosmscout-repo

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

То, что я хочу сделать, это использовать функциональность вида карты в route-me, но с исходными данными карты из libosmscout.

Есть кто-нибудь, кто справился с этой проблемой или мог бы дать мне несколько советов?

1 ответ

Я пытаюсь сделать то же самое.
Но до сих пор я не смог скомпилировать libosmscout для iOS.

Во всяком случае, я не уверен, насколько вам комфортно со мной, но я постараюсь ответить на ваш вопрос. Если вы собираетесь использовать libosmscout для использования данных карт в виде файлов osm xml или pbf (возможно, для автономного использования), вам нужно реализовать новый MapSource и написать код самостоятельно.

вам лучше наследовать от RMAbstractWebMapSource и реализовать метод imageForTile:tile inCache:tileCache для удовлетворения ваших требований. Route-me - это средство просмотра карт на основе плиток, поэтому вам необходимо преобразовать эти векторные данные в плитки, для этого вам нужно будет преобразовать запросы плиток в boundingbox (несколько примеров доступно в вики OSM), а затем попытаться извлечь данные из вашего OSM-файла и передайте его в route-me в качестве экземпляра изображения (например, png).

Не забывайте, что Route-me кэширует загруженные изображения, поэтому вы должны рассмотреть возможность передачи правильного изображения для использования в будущем. Не обманывайте себя тем фактом, что ваши данные находятся на устройстве, чтение векторных файлов может быть столь же сложным, как и чтение растровых файлов из Интернета.

Другие вопросы по тегам