Как установить непрозрачность для выбранного графика в карте ESRI
В моем приложении для Android я добавляю символ маркера изображения на карту ESRI, используя класс PictureMarkerSymbol (используя Kotlin), например:
val markerSymbol = PictureMarkerSymbol.createAsync(ContextCompat.getDrawable(context!!, icon) as BitmapDrawable?).get()
Здесь я добавляю несколько маркеров на карту, устанавливая непрозрачность по умолчанию для символа и добавляя его к оверлею, например:
markerSymbol.opacity = 0.3f
//add a new graphic as marker point
val markerGraphicPoint = Point(activeCall.lang, activeCall.lat, spatialReference)
val graphic = Graphic(markerGraphicPoint, markerSymbol)
graphicsOverlay.graphics.add(graphic)
Теперь я хочу установить непрозрачность для выбранного изображения (в любом случае я получаю выбранный графический символ из массива). Я могу получить символ из выбранной графики, например:
selectedGraphic?.symbol
Я хочу установить непрозрачность для выбранного символа что-то вроде:
selectedGraphic?.symbol = 1.0f // Need this one
Но как установить непрозрачность, в этом классе символов нет setOpacity
ИЛИ как получить PictureMarkerSymbol из выбранного графика.?
Я пытался бросить его PictureMarkerSymbol
сюда:
selectedMarker?.symbol as PictureMarkerSymbol
но здесь я получаю исключение приведения класса
Также попробовал:
val markerGraphicsOverlay = selectedMarker?.graphicsOverlay
markerGraphicsOverlay?.opacity = 0.1f
но результат тот же.
1 ответ
В ролях символ PictureMarkerSymbol
if (selectedGraphic!= null && selectedGraphic?.symbol != null) {
val pictureMarkerSymbol = selectedGraphic?.symbol as PictureMarkerSymbol
}