カスタム クラスを使用して、ウィジェットOverlay
にマーカーを表示しています。MapView
見つけた別の例と同じ画像を使用していますが、オーバーレイに影がありません。
ここにオリジナルがあります:
..そしてここに私のものがあります:
その影はどのように作られるのですか?それは別の描画可能なリソースですか、それともクラスのdraw
メソッドのいくつかのトリックですか。Overlay
ありがとう。
--
これが私のOverlay
クラスです:
public class Mappin extends com.google.android.maps.Overlay {
private final GeoPoint geoPoint;
private final Context ctxContext;
public Mappin(Context ctxContext, GeoPoint geoPoint) {
super();
this.geoPoint = geoPoint;
this.ctxContext = ctxContext;
}
public boolean draw(Canvas canCanvas, MapView mvwMap, boolean booShadow, long lngWhen) {
super.draw(canCanvas, mvwMap, booShadow);
Point screenPts = new Point();
mvwMap.getProjection().toPixels(this.geoPoint, screenPts);
Bitmap bmp = BitmapFactory.decodeResource(this.ctxContext.getResources(), R.drawable.ic_location_marker);
canCanvas.drawBitmap(bmp, screenPts.x - bmp.getWidth() / 2, screenPts.y - bmp.getHeight(), null);
return true;
}
}