MapController调用在事件处理程序中不起作用?

时间:2011-09-26 18:37:39

标签: android google-maps scroll android-mapview

我正试图用三指手势而不是一个手指移动地图。 如果我在主活动中执行scrollBy()或setMapCenter(),事情似乎按预期工作。 但是,如果我在我的ACTION_MOVE中进行这些调用,它们似乎没有任何效果。 发布也不是很有效。

还有另一个问题 - event.getX / Y()是浮点数,mapController.scrollBy()占用整数 - 因为以正常速度实时拖动似乎需要sub-int解析,从而实现实时更新很难做到。

看起来很奇怪mapView上的哪些方法以及mapController上的哪些方法。

UPDATE :在事件处理程序中执行时,scrollBy()将移动任何叠加层,但不移动基础地图

所以基本上我希望能够“返回true”形式ACTION_MOVE,所以我的代码而不是基本代码处理地图通过用户手势跟踪

1 个答案:

答案 0 :(得分:0)

您可能需要稍微延迟,

类似的东西:

Handler handler = new Handler();

// Method Block
{
  handler.postDelayed(new Runnable() 
  { 
    // Code etc
  }, 500);
}
// End code block

当我玩地图时,在地图停止触摸后必须触发分配控制器动作..(我知道这听起来很痛苦)。

我已经写了很多地图库的东西(Android Map Library),知道你的意思似乎什么都没发生。或者地图似乎忽略了输入,我管理它的唯一方法是延迟控制器命令。

让我知道你的想法,我可以帮助你。

干杯, 克里斯