如何在 Mapbox Sdk 中过滤标记

How to filter markers in Mapbox Sdk

我正在使用 MapBox 创建一个 Android 应用程序。我已经使用来自 .json 文件的标记设置了一个简单的地图功能。下一步是过滤地图上的标记,就像这里的 gl-js 示例一样: https://docs.mapbox.com/mapbox-gl-js/example/filter-markers/

我在任何地方都找不到任何 sdk 示例,而且由于这是我的第一个应用程序,我真的无法自己弄清楚。任何帮助将不胜感激。

您可以查看此示例 https://docs.mapbox.com/android/maps/examples/multiple-expressions-temperature-change/,它具有两个图层,可从数据源获取最低或最高温度并显示它。

过滤部分完成here:

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

过滤器接受 expressions 作为参数,这里 Expression.eq 用于比较来自 GeoJSON 数据源(用 Expression.get 引用)的 "element" 和 "All-Time Maximum Temperature" 值。如果它解析为 true,该功能将被显示,否则将被隐藏。