0

MapActivity があり、ItemizedOverlay を使用してマップ ピンが表示されます。onTap イベントを MapActivity に転送したい。(onTap 関数は ItemizedOverlay クラスにあります)。これはどのように行うことができますか?

4

1 に答える 1

0
class CurOverlay extends Overlay
 {
   private GeoPoint pointToDraw;
    String addstr,addcity;
   @Override
    public boolean onTap(GeoPoint p, MapView mapView) {
        // TODO Auto-generated method stub

      final double taplat,taplon;
        taplat=p.getLatitudeE6()/1E6;
       taplon=p.getLongitudeE6()/1E6;



            Geocoder geo = new Geocoder(getApplicationContext(), Locale.getDefault());
            List<Address> add;
            try
            {

                add = geo.getFromLocation(taplat,taplon,1);

                Log.i("ADD OBJ SIZE IS----",""+add.size());
                if (add.size() > 0) 
                {

                    addstr = add.get(0).getAddressLine(0)+" "+add.get(0).getAddressLine(1);
                }
}
catch (IOException e) 
            {

                e.printStackTrace();
            }

        return super.onTap(p, mapView);
    }
 public void setPointToDraw(GeoPoint point) {
     pointToDraw = point;
   }


   public GeoPoint getPointToDraw() {
     return pointToDraw;
   }
}

このコードを tapactivity に追加し、(ActivityforResult によって) 他のアクティビティから呼び出すだけで、簡単に場所を取得できます....

于 2011-08-11T07:01:59.870 に答える