Я масштабирую маркеры в MapView со следующим кодом
OverlayItem oi = new OverlayItem(point,"Title", "Desc");
oi.setMarker(getCustomMarker(0.5f, 0.5f));
itemizedOverlay.addOverlay(oi);
и
private BitmapDrawable getCustomMarker(float scaleWidth, float scaleHeight){
int width = originalMarker.getWidth();
int height = originalMarker.getHeight();
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bitmap = Bitmap.createBitmap(originalMarker, 0, 0, width, height, matrix, true);
BitmapDrawable bm = new BitmapDrawable(bitmap);
bm.setBounds(0,0,bitmap.getWidth(),bitmap.getHeight());
return bm;
}
, который работает, но тень под маркером имеет неправильное смещение при масштабировании. Также; я переопределяю public boolean onTap(int index)
в ItemizedOverlay, чтобы обнаруживать нажатия на маркеры, но это кажется неточным. Я могу щелкнуть некоторый диапазон за пределами маркера и все еще активировать OnTap ...