В SDK Mapbox iOS не работают запросы функций - PullRequest
0 голосов
/ 08 ноября 2019

Итак, у меня есть .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. Наши векторные плитки оптимизированы для рендеринга, а не дляобработка данных.

Сейчас я глубоко растерялся, если можно решить мою проблему. Большое спасибо тем, кто может помочь, потому что эта проблема убивает меня каждый день.

1 Ответ

0 голосов
/ 12 ноября 2019

Спасибо за пример данных. Когда я использовал эти данные, я получил все функции на тот момент. В зависимости от того, когда вы вызываете этот метод, возможно, что исходные данные загружены не полностью. Видите ли вы такое же поведение при использовании visibleFeaturesInRect:?

...