Можно ли кэшировать карты iOS для использования, когда телефон отключен?

Можно ли запросить, чтобы приложение iOS сохраняло изображения карты местоположения, чтобы они были доступны, когда пользователь не подключен к Интернету?

т. е. если пользователь находится в Лондоне, можно ли заставить приложение получать исходные изображения карты для Барселоны и сохранять их в кэше, чтобы после того, как пользователь прибыл в местоположение (без подключения к Интернету), карты уже были кэшированы?

Спасибо

3 ответа

Решение

К сожалению, яблоко не позволяет никому делать это. MapKit.framework строго для отображения их. Однако используйте CoreGraphics, чтобы сделать "скриншот" определенной области (то есть карты) и сохранить его как изображение, а затем отобразить это изображение позже.

Это невозможно сделать с помощью собственного приложения "Карты" (Google Maps на iOS 5/ "Apple Maps" на iOS 6), которое поставляется с iOS, поскольку просто Apple ограничивает использование MapKit.framework. Однако вы можете попробовать другое решение для карт, например Bing Maps или OpenStreetMap. Эти альтернативы также предоставляют полезные картографические данные, которые вы можете использовать.

Если вы хотите онлайн / оффлайн карты, вы должны использовать что-то вроде Route-me.

Он в основном заимствует набор функций и API MapKit и предоставляет гораздо более широкий диапазон опций для сопоставления источников данных.

Кроме того, некоторые заметные ветви произошли от этого проекта, а именно https://github.com/Alpstein/route-me, которые предоставляют еще больше возможностей и лучшую производительность.

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