如何停止Codenameone中的MapContainer类的拖动/平移

如何停止Codenameone中的MapContainer类的拖动/平移,codenameone,Codenameone,我正在使用MapContainer类在android上显示google地图 如何阻止用户将地图拖动/滑动到新位置?希望地图保持在我设定的坐标上 我尝试过使用MapContainer.setEnabled(false),但这似乎只在模拟器中起作用,在真正的android设备上部署时没有效果 TIA。平移在处理其自身事件的本机映射中处理。由于这些事件发生在Android UI线程的代码名上,因此如果不引入性能惩罚,就无法拦截它们 您有两个选择: 拦截本机Android代码中的事件 事后定位 第二

我正在使用MapContainer类在android上显示google地图

如何阻止用户将地图拖动/滑动到新位置?希望地图保持在我设定的坐标上

我尝试过使用MapContainer.setEnabled(false),但这似乎只在模拟器中起作用,在真正的android设备上部署时没有效果


TIA。

平移在处理其自身事件的本机映射中处理。由于这些事件发生在Android UI线程的代码名上,因此如果不引入性能惩罚,就无法拦截它们

您有两个选择:

  • 拦截本机Android代码中的事件
  • 事后定位
第二种方法更简单,只需使用映射侦听器检测更改,然后使用API将映射平移回原始位置。不过,这可能会创建不需要的UX,在这种情况下,您唯一的选择就是使用本机代码


您可以通过更改来实现这一点,甚至可以使用pull请求返回一个特性。这在本机映射中应该相对容易实现,因为它可能映射到API中的setter/getter对,例如,
setPanEnabled

我实际上尝试了您的第二个建议(移动后重置位置),您是对的……映射组件闪烁严重。我将介绍第一种方法/备选屏幕设计。您可以通过监听指针释放事件并执行返回的动作来缓解这种情况