Android MapActivity onTap事件

Android MapActivity onTap事件,android,android-maps,mapactivity,Android,Android Maps,Mapactivity,我有一个MapActivity,并使用ItemizeOverlay显示贴图管脚。我想将onTap事件传输到MapActivity。(onTap函数存在于ItemizeOverlay类中)。如何做到这一点?类CurOverlay扩展了Overlay class CurOverlay extends Overlay { private GeoPoint pointToDraw; String addstr,addcity; @Override public boolea

我有一个MapActivity,并使用ItemizeOverlay显示贴图管脚。我想将onTap事件传输到MapActivity。(onTap函数存在于ItemizeOverlay类中)。如何做到这一点?

类CurOverlay扩展了Overlay
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;
   }
}
{ 私人地质点绘制; 字符串addstr,addcity; @凌驾 公共布尔onTap(地理点p,地图视图地图视图){ //TODO自动生成的方法存根 最终双塔普拉特,塔普隆; taplat=p.getlatudee6()/1E6; taplon=p.getLongitudeE6()/1E6; Geocoder geo=新的地理编码器(getApplicationContext(),Locale.getDefault()); 列表添加; 尝试 { add=geo.getFromLocation(taplat,taplon,1); Log.i(“添加对象大小为----”,“”+ADD.SIZE()); 如果(添加.size()>0) { addstr=add.get(0.getAddressLine(0)+“”+add.get(0.getAddressLine(1); } } 捕获(IOE异常) { e、 printStackTrace(); } 返回super.onTap(p,mapView); } 公共无效设置点ToDraw(地质点){ pointToDraw=点; } 公共地质点getPointToDraw(){ 返回点ToDraw; } }

只需将此代码添加到您的tapactivity中,并从其他activity(by ActivityforResult)调用它,然后在那里获得简单的位置

谢谢。。我以不同的方式解决了这个问题。我将MapActivity对象传递给ItemizeOverlay类。ItemIzeOverlay的in-onTap()通过传递所需的pin索引调用MapActivity对象中的公共方法。