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").

来实现