首页 文章

原始 Map 未在带有Codename One的Android设备上的LayeredLayout中显示

提问于
浏览
1

2-3周我一直在真正的Android设备上使用我的应用程序开发 . 到目前为止,它一直在设备上显示Google Maps,在模拟器上显示OSM .

今天我做了一些更改 - 只是在 Map 上添加了一个按钮,并发送了构建 . 在发送构建之前更新了CN1和CN1lib . 现在,当我在设备上测试时,没有显示 Map ,我得到 404: Not found . 如果你曾经问过模拟器中的行为,它仍然按预期工作(但它使用OSM和MapComponent) .

这是我放下 Map 的代码( Map 初始化没有改变):

Container mapWithButton = LayeredLayout.encloseIn(BorderLayout.centerCenter(googleMap),
FlowLayout.encloseRight(locateMeButton));
this.add(BorderLayout.CENTER, mapWithButton);

我看过MapContainer history但最近的变化只涉及 longPressListener . 请注意,原生 Map 应用在设备上运行良好 . 通过DDMS调试没有帮助(屏幕上出现相同的错误) .

我忘记更新或添加构建提示了吗?

任何帮助赞赏 .

1 回答

  • 1

    最终404错误与 Map 无关,但添加了 MapListener ,它试图从移动 Map 时尚不可用的地址获取数据 .

    然而,实际上出现 Map 的事实,需要通过 BorderLayout.center() 而不是 BorderLayout.centerCenter() 替代它 .

    所以我没有提供解释,但以下代码按预期显示 Map 和按钮(注意 BorderLayout.center 而不是 BorderLayout.centerCenter .

    Container mapWithButton = LayeredLayout.encloseIn(
                                            BorderLayout.center(googleMap),
                                            FlowLayout.encloseRight(locateMeButton));
    
    this.add(BorderLayout.CENTER, mapWithButton);
    

相关问题