0
Aus irgendeinem Grund merke ich, dass die Marker, die ich das Symbol für nicht in ihrem lon/lat, wenn ich hinein und heraus zoomen. Wenn ich jedoch Assets verwende, die sich im Projekt befinden, geschieht dies nicht. Weiß jemand warum?Android - Google Karten Marker bewegen sich
Ich lade die Vermögenswerte mit:
Picasso.with(mActivity).load(strUrl).into(currentMarker.getCurrentMarker());
--edit -
public class CustomMarker implements Target {
Marker mMarker;
private boolean doneLoad;
public CustomMarker(Marker marker) {
mMarker = marker;
doneLoad = false;
}
@Override
public int hashCode() {
return mMarker.hashCode();
}
@Override
public boolean equals(Object o) {
if(o instanceof CustomMarker) {
Marker marker = ((CustomMarker) o).mMarker;
return mMarker.equals(marker);
} else {
return false;
}
}
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) throws IllegalArgumentException {
if (doneLoad == false) {
try {
mMarker.setIcon(BitmapDescriptorFactory.fromBitmap(bitmap));
doneLoad = true;
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
public Marker getmMarker() {
return mMarker;
}
public boolean isDoneLoad() {
return doneLoad;
}
public void setDoneLoad(boolean doneLoad) {
this.doneLoad = doneLoad;
}
}
Könnten Sie die 'target' Implementierung teilen, die Sie verwenden? – antonio
Ich würde sagen, dass das Problem ein falscher Anker des Symbols ist. Könnten Sie 'mMarker.setAnchor (0.5f, 1f);' nach 'setIcon' auf Ihrem' CustomMarker.onBitmapLoaded' hinzufügen? – antonio
@antonio danke! es funktionierte! – Mikerizzo