我有一个具有触摸事件的 MapActivity。
在触摸事件中:
我得到了当前的地理编码
在该位置放置叠加图像。
并将其设置为地图视图的中心。
这似乎工作正常,并且在一段时间内符合预期。但随后应用力关闭。我认为即使没有任何东西被触摸,触摸事件也会像疯了一样被触发。我知道这一点,因为我已经设置了一个显示触摸位置的经度和纬度的吐司。即使没有触摸它也会不断出现。
我似乎无法准确定位问题,更不用说修复它了。这是我的 mapActivity 的触摸事件
private void LocationStuffs(double latitude, double longitude){
itemizedOverlay.clear();
itemizedOverlay.addOverlayItem((int)latitude, (int)longitude, "place");
mapView.invalidate();
mapView.getOverlays().add(itemizedOverlay);
MapController mc = mapView.getController();
mc.setCenter(new GeoPoint((int)latitude, (int)longitude));
mc.setZoom(20);
}
public boolean onTouchEvent(MotionEvent event, MapView mapView){
//---when user lifts his finger---
if (event.getAction() == 1) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Toast.makeText(getBaseContext(),
p.getLatitudeE6() / 1E6 + "," +
p.getLongitudeE6() /1E6 ,
Toast.LENGTH_SHORT).show();
latitude = p.getLatitudeE6() / 1E6;
longitude = p.getLongitudeE6() / 1E6;
LocationStuffs(latitude*1E6, longitude*1E6);
}
return false;
}