Ich möchte auf Google Maps ausgewählt Markierungssymbol ändern, so habe ich folgenden Code:Wie kann ich das Google Maps-Markersymbol ändern?
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
if (null != currentMarker) {
currentMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_arrowautougasen));
}
currentMarker = marker;
currentMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_autoselektovan));
return true;
}
});
googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
if(null != currentMarker) {
currentMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_arrowautougasen));
}
currentMarker = null;
}
});
Auf dieser Linie I-Fehler erhalten von unten:
if(null != currentMarker) {
currentMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_arrowautougasen));
}
ist hier die Ausnahme:
java.lang.IllegalArgumentException: Unmanaged descriptor
at com.google.maps.api.android.lib6.common.k.b(:com.google.android.gms.DynamiteModulesB:162)
at com.google.maps.api.android.lib6.impl.o.c(:com.google.android.gms.DynamiteModulesB:75)
at com.google.maps.api.android.lib6.impl.db.a(:com.google.android.gms.DynamiteModulesB:334)
at com.google.android.gms.maps.model.internal.q.onTransact(:com.google.android.gms.DynamiteModulesB:204)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.maps.model.internal.zzf$zza$zza.zzL(Unknown Source)
at com.google.android.gms.maps.model.Marker.setIcon(Unknown Source)
at ba.kordinata.kogps.live.map.MapFragment$5.onMapClick(MapFragment.java:212)
Haben Sie diese [Antwort] geprüft (http://stackoverflow.com/questions/41902478/illegalargumentexception-unmanaged-descriptor-using-gms -Maps-Model-Marker-Setic) –
https://Stackoverflow.com/a/45564994/6616489 arbeitete für mein Projekt. Ich hatte einen Vektor-Asset. also, wandelte es in Bitmap um und fügte das Symbol als Markierung hinzu –