구글맵에서 사람모양 아이콘을 만들어서 화면에 찍으면 그 아이콘이 그 위치로 움직임니다.

그래서 그 아이콘이 그려진 곳의 위치값을 구하고 싶은데요

아무리해도 오류만 날뿐 어떻게 해야 할지 모르겠습니다.

밑에 부분은 제가 지금 사용하고 있는 소스의 내용을 적어 놓겠습니다.

package jp.hews.hellomap;

import java.util.List;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.ZoomControls;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;

public class HelloMapActivity extends MapActivity {

      static final String TAG = "HelloMapActivity";

    static final int INITIAL_ZOOM_LEVE = 15;
    static final int INITIAL_LATITUDE = 35455281;
    static final int INITIAL_LONGITUDE = 139629711;

    GeoPoint pointP;
    TextView vText;
    String text;
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

              setContentView(R.layout.main);

            MapView map_view = (MapView) findViewById(R.id.mapview);

               ZoomControls zoom = (ZoomControls) map_view.getZoomControls();
        ViewGroup.LayoutParams layout = new ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT);
        zoom.setLayoutParams(layout);
        zoom.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
        map_view.addView(zoom);

             MapController controller = map_view.getController();
        GeoPoint point =
            new GeoPoint(INITIAL_LATITUDE, INITIAL_LONGITUDE);
        controller.setCenter(point);
        controller.setZoom(INITIAL_ZOOM_LEVE);

              setOverlay(point);
        IconOverlay d = new IconOverlay();
       
        text=d.getStr();
        vText = (TextView)findViewById(R.id.text1);
        vText.setText(text);
    }

    
    
   

     protected boolean isRouteDisplayed() {
        return false;
    }

    private void setOverlay(GeoPoint point) {

        /     
     
        Bitmap icon = BitmapFactory.decodeResource(getResources(),
                                                   R.drawable.man);
        IconOverlay overlay = new IconOverlay(icon, point);

                MapView map_view = (MapView) findViewById(R.id.mapview);
        List<Overlay> overlays = map_view.getOverlays();
       
        overlays.add(overlay);
      
 
       
    }

       private class IconOverlay extends Overlay {

                Bitmap mIcon;
        int mOffsetX;
        int mOffsetY;

               GeoPoint mPoint;
        
             IconOverlay(Bitmap icon, GeoPoint initial) {
                        mIcon = icon;
            mOffsetX = 0 - icon.getWidth() / 2;
            mOffsetY = 0 - icon.getHeight() / 2;
            mPoint = initial;
        }

               @Override
        public boolean onTap(GeoPoint point, MapView mapView) {
            
            mPoint = point;
            return super.onTap(point, mapView);

        }
        
               
        
        @Override
        public void draw(Canvas canvas, MapView mapView,
                         boolean shadow) {
            super.draw(canvas, mapView, shadow);
            if (!shadow) {
                              Projection projection = mapView.getProjection();
                Point point = new Point();
                projection.toPixels(mPoint, point);
                point.offset(mOffsetX, mOffsetY);
                
                                canvas.drawBitmap(mIcon, point.x, point.y, null);
                int a=mPoint.getLatitudeE6();
                b = Integer.toString(a);
               
               
            }
        }
    };
}