如何在 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
,该功能将被显示,否则将被隐藏。
我正在使用 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
,该功能将被显示,否则将被隐藏。