2011-08-11 6 views
0

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

+0

http://stackoverflow.com/questions/4806061/how ....あなたtapactivityにこのコードを追加し、(ActivityforResultによって)他の活動からそれを呼び出し、そこに簡単な場所を取得します-do-i-on-a-on-on-and-android-mapview-ignore-pinch-zoom – Yar

答えて

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; 
    } 
} 

だけ

+0

ありがとう。私は別の方法で解決しました。 MapActivityオブジェクトをItemizedOverlayクラスに渡しました。 ItemizedOverlayのonTap()は、Tapされたピンの必須インデックスを渡すことによってMapActivityオブジェクトでパブリックメソッドを呼び出しました。 – sach

関連する問題