Mapbox SymbolLayer скрывает маркеры

Я использую слой символов для рисования множества точек на карте:

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)))
            }

Важная часть здесь - это маркеры, которые я добавил позже, эти маркеры должны быть видны всегда. Но мой слой символов скрывает значки маркеров, мне нужно вывести маркеры на передний план. Есть ли способ исправить?

вот как это выглядит

введите описание изображения здесь


person Nininea    schedule 24.07.2018    source источник


Ответы (1)


Вам нужно расположить SymbolLayer под слоем маркеров в стеке слоев. Вы можете добиться этого с помощью map?.addLayerBelow(layer, "com.mapbox.annotations.points").

person Łukasz Paczos    schedule 19.09.2018