Как установить непрозрачность для выбранного графика в карте ESRI - PullRequest
0 голосов
/ 27 декабря 2018

В моем приложении для 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 Ответ

0 голосов
/ 02 января 2019

Преобразование символа в PictureMarkerSymbol

if (selectedGraphic!= null && selectedGraphic?.symbol != null) {
    val pictureMarkerSymbol = selectedGraphic?.symbol as PictureMarkerSymbol
}
...