проверьте мой пост, ответ там был, ссылка.
как отобразить карту на андроид с маркером
для перемещения маркера на карте вам нужно создать статический метод в вашем классе, который расширяет MapActivity, как
private static GeoPoint markerPoint;
public static void updateLocation(Location location){
lat = location.getLatitude();
lng = location.getLongitude();
// now use this lat/lng value to convert into the GeoPoint object
markerPoint = new GeoPoint(lat * 1e6, lng * 1e6);
mapview.invalidate();
}
ваш пользовательский класс оверлея, который расширяет класс Overlay.
public void draw(Canvas canvas, MapView mapView, boolean Shadow){
Point screenPts = new Point();
mapView.getProjection().toPixels(markerPoint, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.cur_loc_1);
canvas.drawBitmap(bmp, screenPts.x-(xCurLocOffset), screenPts.y-yCurLocOffset, null);
}
здесь, чтобы отобразить отображаемое изображение с помощью класса Bitmap для рисования изображения на карте.