0
По какой-то причине я замечаю, что маркеры, которые я загружаю для этого значка, не вставляются в их lon/lat, когда я увеличиваю и уменьшаю масштаб. Однако, если я использую активы, которые находятся в проекте, этого не происходит. Кто-нибудь знает, почему?Android - Карты Google, перемещающиеся вокруг
я загружаю активы с помощью:
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;
}
}
Не могли бы вы поделиться 'реализации Target', что вы используете? – antonio
Я бы сказал, что проблема - неправильный якорь значка. Не могли бы вы добавить 'mMarker.setAnchor (0.5f, 1f);' после 'setIcon' на ваш' CustomMarker.onBitmapLoaded'? – antonio
@antonio спасибо! это сработало! – Mikerizzo