Android 地图框SymbolLayer隐藏标记
我使用符号层在地图上绘制一组点:Android 地图框SymbolLayer隐藏标记,android,kotlin,mapbox,mapbox-android,mapbox-marker,Android,Kotlin,Mapbox,Mapbox Android,Mapbox Marker,我使用符号层在地图上绘制一组点: var imgId = R.drawable.ic_route_stop var featureCollection = FeatureCollection.fromFeatures(mSelectedBusStops!!.map { stop -> Feature.fromGeometry(com.mapbox.geojson.Point.fromLngLat( stop.
var imgId = R.drawable.ic_route_stop
var featureCollection = FeatureCollection.fromFeatures(mSelectedBusStops!!.map { stop ->
Feature.fromGeometry(com.mapbox.geojson.Point.fromLngLat(
stop.Lon.toDouble(),
stop.Lat.toDouble()))
});
map?.addSource(
GeoJsonSource(mMarkerSourceIdentifier,
featureCollection,
GeoJsonOptions()
))
val image = BitmapFactory.decodeResource(activity?.resources, imgId)
map?.addImage(mMarkerImgIdentifier, image)
var layer = SymbolLayer(mMarkerStyleLayerIdentifier, mMarkerSourceIdentifier)
layer.setProperties(PropertyFactory.iconImage(mMarkerImgIdentifier),
PropertyFactory.iconAllowOverlap(true))
map?.addLayer(layer)
在此之后,我在地图中添加了几个标记(这些标记需要定期设置动画)
这里重要的部分是一个标记,我在后面添加的是,这些标记应该始终可见。但是我的符号层隐藏了标记图标,我需要把标记带到前面。有没有办法解决这个问题
这就是它的样子
您需要将
symbolayer
放置在层堆栈中标记层的下方。您可以使用map?.addlayerblow(layer,“com.mapbox.annotations.points”)
实现这一点
mSelectedBusCurrentStops?.forEach { stop ->
(map ?: return).addMarker(MarkerOptions()
.icon(icon)
.position(LatLng(stop.lat, stop.lon)))
}