MapActivity 및 Map 핀이 ItemizedOverlay를 사용하여 표시됩니다. onTap 이벤트를 MapActivity로 전송하려고합니다. (onTap 함수는 ItemizedOverlay 클래스에 있습니다.) 이것을 어떻게 할 수 있습니까?Android MapActivity onTap 이벤트
0
A
답변
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()에서 MapActivity 객체에서 public 메소드가 호출되었습니다. 필요한 메소드 인 pin topped가 전달되었습니다. – sach
http://stackoverflow.com/questions/4806061/how .... 당신의 tapactivity에이 코드를 추가하고 (ActivityforResult에 의해) 다른 활동에서 호출 거기에 간단한 위치를 얻을 -do-i-respond-to-a-on-an-android-mapview-ignore-pinch-zoom – Yar