【发布时间】:2015-01-31 00:05:15
【问题描述】:
使用地图我有一个活动,它在没有可用连接时启动并使用离线地图 (MapQuest)。活动运行良好,显示地图,以及所有叠加层、标记等。当用户单击其中一个标记信息窗口时,另一个活动被启动,此时我在日志中收到一堆红色错误消息,尽管应用程序没有崩溃。这些消息(init 在标题中)似乎在谈论 ZoomButtons 和触摸事件。至于代码中的 ZoomButtons 或触摸事件(多点触控),只有 2 行:
map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
而不是任何对话框......
-
如果我写:
map.setBuiltInZoomControls(false); map.setMultiTouchControls(false);
红色的错误信息消失了,但用户当然不能以任何方式放大或缩小……
由于错误(使用“true”参数)仅在启动另一个活动时发生,我认为我必须在 pause() 上添加一些东西,即:
onPause(){
map.setBuiltInZoomControls(false);
map.setMultiTouchControls(false);
super.OnPause();
}
---- 但是这样做并不会改变任何东西…… 有什么提示??? - 提前致谢!
【问题讨论】:
-
我自己找到了答案(不是解决方案):当我单击标记并打开 infoWindow 时,出现 osmdroid zoomButtons(我猜他们必须有一些听众在地图上点击);如果我在它们始终存在时单击 infoWindow(以启动 2° 活动),则会发生错误;我等到它们消失:没有错误。所以我可能需要查看 osmdroid 源代码,看看是否可以更改 zoomButtons 出现/消失的行为,顺便说一句,这并不是真正有用的。
-
多亏了你和诺丽,我才能处理好这个!谢谢!
-
在此处的 osmdroid 问题跟踪器中记录:github.com/osmdroid/osmdroid/issues/328