gpt4 book ai didi

java - MapActivity 强制关闭,触摸事件鲁莽地触发

转载 作者:行者123 更新时间:2023-12-02 07:33:23 26 4
gpt4 key购买 nike

我有一个具有触摸事件的 MapActivity。

在触摸事件中:

  • 我获取当前的地理编码

  • 在该位置放置覆盖图像。

  • 并将其设置为 map View 的中心。

这似乎工作正常并且在一段时间内符合预期。但随后应用力就结束了。我认为即使没有任何东西被触摸,触摸事件也会被疯狂地触发。我知道这一点是因为我设置了一个 toast,显示触摸位置的经度和纬度。即使没有触及任何东西,它也会不断出现。

我似乎无法准确定位问题,更不用说解决它了。这是我的 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;
}

最佳答案

更改返回语句以返回 true:

return true;

基本上,它的作用是告诉系统您已经处理了触摸事件。让我知道是否可以解决问题。

关于java - MapActivity 强制关闭,触摸事件鲁莽地触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12627946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com