我花了2-3个星期在真正的Android设备上开发使用我的应用程序。到目前为止,它一直在设备上显示Google Maps,在模拟器上显示OSM。
今天我做了一些更改 - 只是在地图上添加了一个按钮,并发送了构建。在发送构建之前更新了CN1和CN1lib。现在,当我在设备上测试它时,没有显示地图,我得到 404:Not found 。如果您曾询问模拟器中的行为,它仍然可以按预期工作(但它使用OSM和MapComponent)。
这是我放下地图的代码(地图初始化没有改变):
Container mapWithButton = LayeredLayout.encloseIn(BorderLayout.centerCenter(googleMap),
FlowLayout.encloseRight(locateMeButton));
this.add(BorderLayout.CENTER, mapWithButton);
我查看了MapContainer history,但最近的更改只涉及longPressListener
。请注意,原生地图应用在设备上运行良好。通过DDMS调试没有帮助(屏幕上出现相同的错误)。
我是否忘记更新或添加构建提示?
任何帮助表示感谢。
答案 0 :(得分:1)
最终404错误与地图无关,但添加的MapListener
试图从移动地图时尚未提供的地址获取数据。
然而,要实际显示地图的事实,需要通过BorderLayout.center()
而不是BorderLayout.centerCenter()
替代方案将其括起来。
所以我没有提供解释,但以下代码按预期显示地图和按钮(请注意BorderLayout.center
而不是BorderLayout.centerCenter
。
Container mapWithButton = LayeredLayout.encloseIn(
BorderLayout.center(googleMap),
FlowLayout.encloseRight(locateMeButton));
this.add(BorderLayout.CENTER, mapWithButton);