Android MapActivity onTap事件
问题描述:
我有一个MapActivity和地图引脚显示使用ItemizedOverlay。我想将onTap事件传递给MapActivity。 (onTap函数存在于ItemizedOverlay类中)。如何做到这一点?Android MapActivity onTap事件
答
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)调用它,那里简单的位置....
+0
谢谢..我以不同的方式解决了问题。我将一个MapActivity对象传递给ItemizedOverlay类。 ItemizedOverlay中的onTap()通过传递所需的引脚索引来调用MapActivity对象中的公共方法。 – sach
http://*.com/questions/4806061/how -do-i -response-a-tap-on-an-android-mapview-but-ignore-pinch-zoom – Yar