Как получить геометрию из Mapbox GL Native GeoJSONSource? - PullRequest
0 голосов
/ 20 февраля 2019

Я использую Mapbox GL Native Android SDK v 7.1.2 в приложении NativeScript {N} .

У меня есть линия, нарисованная на карте с использованием источника GeoJSON.

Я хотел бы получить геометрию из линии в более поздней точке кода (в отличие от сохранения координат, лежащих отдельно).

Я могу получить ссылку на источник строки, используя Style.getSource (id) , однако я не могу найти пример или объяснение, как правильно сформировать фильтр Expression для querySourceFeatures () для получения геометрии первого объекта из списка.

Если не включить параметр в querySourceFeatures (), NativeScript не сможет разрешить вызов, но передаст ему значение nullвозвращает пустой список.

Как мне сформировать фильтр выражений для возврата геометрии первого объекта из источника GeoJSON?

1 Ответ

0 голосов
/ 03 марта 2019

Оказывается, что в Android Mapbox GL Native SDK вы не можете сразу запросить источник для его геометрии после того, как вы добавили его.

Чтобы получить все функции из источника, вы можете использовать:

source.querySourceFeatures( com.mapbox.mapboxsdk.style.expressions.Expression.literal(true));

однако вы должны дать карте возможность обновить источник перед вызовом этого метода.В моем тесте я просто сделал:

setTimeout( () => {
  ....
}, 500 );

В работе вы, вероятно, установите обратный вызов onDidBecomeIdleListener .

К сожалению, я заметил, что исходные значения измененыпосле добавления на карту.То, что я запрашиваю из источника, не совсем соответствует тому, что я вставил, поэтому этот подход оказался для меня бесполезным.

...