Mapbox SymbolLayer 隐藏标记
Mapbox SymbolLayer hides markers
我使用符号图层在地图上绘制一堆点:
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)
在此之后我在地图中添加了几个标记(这些标记需要定期设置动画)
mSelectedBusCurrentStops?.forEach { stop ->
(map ?: return).addMarker(MarkerOptions()
.icon(icon)
.position(LatLng(stop.lat, stop.lon)))
}
这里重要的部分是标记,我后来添加的,这些标记应该始终可见。但是我的符号层隐藏了标记图标,我需要将标记放在前面。有什么办法可以解决吗?
这是它的样子
您需要将 SymbolLayer
定位在图层堆栈中标记图层的下方。你可以用 map?.addLayerBelow(layer, "com.mapbox.annotations.points")
.
来实现
我使用符号图层在地图上绘制一堆点:
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)
在此之后我在地图中添加了几个标记(这些标记需要定期设置动画)
mSelectedBusCurrentStops?.forEach { stop ->
(map ?: return).addMarker(MarkerOptions()
.icon(icon)
.position(LatLng(stop.lat, stop.lon)))
}
这里重要的部分是标记,我后来添加的,这些标记应该始终可见。但是我的符号层隐藏了标记图标,我需要将标记放在前面。有什么办法可以解决吗?
这是它的样子
您需要将 SymbolLayer
定位在图层堆栈中标记图层的下方。你可以用 map?.addLayerBelow(layer, "com.mapbox.annotations.points")
.