如何在Mapbox SDK中过滤标记

时间:2019-06-01 15:32:49

标签: android filter sdk mapbox markers

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

我在任何地方都找不到sdk示例,由于这是我的第一个应用程序,因此我真的无法自行解决。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以查看示例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引用)中的“元素”与“历史最高温度”进行比较值。如果解析为true,将显示该功能,否则将被隐藏。