Итак, у меня есть .mbtiles
источник данных (составленный из одного .GeoJSON
) в Mapbox.
Я подключаю к нему свое приложение iOS, и оно работает нормально, как для отображения многоугольников, но каждый многоугольник вмой файл имеет определенное количество функций внутри.
Когда я пытаюсь запросить эти функции с помощью этого кода:
map.visibleFeatures (at: <# T ## CGPoint #>, styleLayerIdentifiers: <# T ## Set ? #>)
, я получаю только одну функцию из всего массива, которая может включатьдо 20 функций. Я заметил, что эта особенность является первой в моем файле .mbtiles
.
Поэтому я подумал, что некорректно использовать map.visibleFeatures
, потому что он покажет первую функцию (видимую), но я не вижу никакойальтернативы этой функции.
Я также рассматривал другие варианты, такие как queryrenderedfeatures
и querysourcefeatures
, но не могу найти никакой информации об этих функциях в документации Mapbox iOS (только JS и Android).
Может ли кто-нибудь помочь мне понять, как я могу получить все функции из многоугольника в swift
?
PS Я нашел кое-что, что может помочь здесь :
Почему querySourceFeatures()
не дает мне все мои данные? Причина: querySourceFeatures()
дает вам результаты только из загруженных векторных плиток. Если вам нужны все данные, используйте другой метод.
Следующий вопрос был:
Как мы получаем все данные из векторных плиток? (Это относится к предыдущему ответу: «Если вам нужны все данные, используйте другой метод» -> каков другой метод?
И ответ:
Ответ на этот вопрос сильно зависит от вашего варианта использования. Если вы выполняете серьезную обработку данных, вы можете использовать что-то вроде https://wiki.openstreetmap.org/wiki/Overpass_API для прямого доступа к данным OSM. Наши векторные плитки оптимизированы для рендеринга, а не дляобработка данных.
Сейчас я глубоко растерялся, если можно решить мою проблему. Большое спасибо тем, кто может помочь, потому что эта проблема убивает меня каждый день.