Android Mapbox标记标签

时间:2018-11-24 21:12:33

标签: android label mapbox mapbox-marker

我试图弄清楚如何使动态生成的标记列表在地图上(而不是在infoWindow中)显示动态文本标签。我知道这是可能的,因为我已经在Mapbox Studio中使用了此功能-我只是不知道如何在Android上做到这一点!我考虑过创建一个包含文本的静态位图图标,但是与Mapbox Studio版本相比,这似乎不太灵活,所以我想避免这种情况!有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您正在尝试做所谓的data-driven styling

您应该使用SymbolLayer在地图上显示文本。如果要显示的文本基于数据集中的GeoJSON功能,请在get的{​​{1}}属性中使用textField表达式。

SymbolLayer

The Annotation Plugin简化了其中的一部分。另外,还有the Mapbox Android demo app。供参考以了解如何使用FeatureCollection featureCollection = FeatureCollection.fromFeatures(); GeoJsonSource geoJsonSource = new GeoJsonSource("source-id", featureCollection); mapboxMap.addSource(geoJsonSource); SymbolLayer symbolLayer = new SymbolLayer("layer-id", "source-id") .withProperties(PropertyFactory.textField(Expression.get("FEATURE-PROPERTY-KEY"))); mapboxMap.addLayer(symbolLayer);