Как отфильтровать маркеры в Mapbox Sdk - PullRequest
0 голосов
/ 01 июня 2019

Я создаю приложение для Android с помощью MapBox.Я уже настроил простую функциональность карты с маркерами из файла .json.Следующим шагом является фильтрация маркеров на карте, как в примере с gl-js: https://docs.mapbox.com/mapbox-gl-js/example/filter-markers/

Я не могу найти ни одного примера sdk, и так как это мое первое приложение, я действительно могу 'не могу понять это самостоятельно.Любая помощь будет оценена.

1 Ответ

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

Вы можете проверить этот пример https://docs.mapbox.com/android/maps/examples/multiple-expressions-temperature-change/, который имеет два слоя, которые извлекают минимальную или максимальную температуру из источника данных и отображают ее.

Фильтрация завершена здесь :

      // Only display Maximum Temperature in this layer
      maxTempLayer.setFilter(eq(get("element"), literal("All-Time Maximum Temperature")));
      loadedMapStyle.addLayer(maxTempLayer);

Фильтры принимают выражения в качестве аргументов, а здесь Expression.eq используется для сравнения «элемента» из источника данных GeoJSON (на который ссылается Expression.get) сзначение максимальной температуры за все время.Если оно разрешается до true, функция будет отображаться, в противном случае она будет скрыта.

...