私のAndroidアプリでは、次のようなPictureMarkerSymbolクラス(Kotlinを使用)を使用して、ESRIマップに画像マーカーシンボルを追加しています。
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
しかし同じ結果。
シンボルをキャストする PictureMarkerSymbol
if (selectedGraphic!= null && selectedGraphic?.symbol != null) {
val pictureMarkerSymbol = selectedGraphic?.symbol as PictureMarkerSymbol
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加