diff --git a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/Marker.kt b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/Marker.kt index a1423b6cae6791c9d5c9901e178f49c6a3fe5abd..bbb89993c9e1a06b10ae5ac468f3540c88fff6f3 100644 --- a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/Marker.kt +++ b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/Marker.kt @@ -27,6 +27,7 @@ import com.mapbox.mapboxsdk.plugins.annotation.AnnotationManager import com.mapbox.mapboxsdk.plugins.annotation.Symbol import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions import com.google.android.gms.dynamic.unwrap +import com.google.android.gms.maps.model.BitmapDescriptorFactory import org.microg.gms.maps.mapbox.AbstractGoogleMap import org.microg.gms.maps.mapbox.GoogleMapImpl import org.microg.gms.maps.mapbox.LiteGoogleMapImpl @@ -40,7 +41,9 @@ abstract class AbstractMarker( internal var visible: Boolean = options.isVisible internal var anchor: FloatArray = floatArrayOf(options.anchorU, options.anchorV) internal var infoWindowAnchor: FloatArray = floatArrayOf(0.5f, 1f) - internal var icon: BitmapDescriptorImpl? = options.icon?.remoteObject.unwrap() + internal var icon: BitmapDescriptorImpl = + options.icon?.remoteObject.unwrap() ?: + BitmapDescriptorFactoryImpl.defaultMarker().unwrap()!! internal var alpha: Float = options.alpha internal var title: String? = options.title internal var snippet: String? = options.snippet @@ -73,10 +76,8 @@ abstract class AbstractMarker( override fun getPosition(): LatLng = position override fun setIcon(obj: IObjectWrapper?) { - obj.unwrap()?.let { icon -> - this.icon = icon - update() - } + this.icon = obj?.unwrap() ?: BitmapDescriptorFactoryImpl.defaultMarker().unwrap()!! + update() } override fun setVisible(visible: Boolean) {