Android MapActivity onTap事件

时间:2011-08-11 06:45:27

标签: android android-maps mapactivity

我有一个MapActivity,Map引脚使用ItemizedOverlay显示。我想将onTap事件转移到MapActivity。 (onTap函数出现在ItemizedOverlay类中)。如何做到这一点?

1 个答案:

答案 0 :(得分: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;
   }
}

只需将此代码添加到您的磁带活动中,然后从另一个活动(通过ONActivityResult)调用它,并获得简单的位置....