Как получить список загруженных автономных пакетов карт с помощью Mabox и Swift? - PullRequest
1 голос
/ 19 мая 2019

Я хочу добавить функцию автономной карты в сборку приложения для iOS, используя Swift и Mapbox. Для загрузки пакета региона карты есть отличная документация и примеры , но мне сложно разобраться, как получить список автономных пакетов. Их документация здесь дает эти инструкции о том, как получить:

"Чтобы определить, когда объект общего автономного хранилища завершил загрузку своего свойства пакетов, просмотрите уведомления об изменениях KVO по пути ключа пакетов. Первоначальная загрузка приводит к изменению NSKeyValueChangeSetting."

Но мне трудно найти какие-либо примеры или объяснения того, что это значит. Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Массив всех известных автономных пакетов можно получить с помощью атрибута .packs класса MGLOfflineStorage.Вот так:

MGLOfflineStorage.shared.packs

Чтобы получить доступ к этим пакетам, вам просто нужно выполнить итерацию по массиву или передать определенный индекс и извлечь из пакетов любую интересующую вас информацию.

Тамхороший пример использования этого массива для создания представления таблицы завершенных автономных пакетов на устройстве в тестовом приложении с открытым исходным кодом SDK *1011* (примечание: этот пример написан на Obj-C).


⚠️ Отказ от ответственности: в настоящее время я работаю в Mabpox ⚠️

0 голосов
/ 06 июня 2019

Я наконец-то смог прийти к решению. Чтобы наблюдать за извлечением пакетов с помощью Swift, вы можете использовать этот код:

MGLOfflineStorage.shared.observe(\.packs, options: [.new, .old]){ object, change in
    var offlinePacksArr : [MGLOfflinePack] = object.packs // Access to packs array here
}
...