2017-06-13 24 views
1

我在我的项目中集成了原生地图库。地图在模拟器中使用javascript键作为MapContainer中的参数快速加载。但在Android设备中,我必须删除参数才能使其工作。 Ps:所有必需的API都保存在构建提示中。但它在android设备中加载非常缓慢。我必须等待几分钟才能加载地图。如果我放大,地图消失,并看到白色屏幕。如果我缩小,则会出现地图。cn1中的本地地图

您可以在缩放问题here上看到视频。

我的代码:

Form hi = new Form("Native Maps Test"); 
    hi.setLayout(new BorderLayout()); 
    final MapContainer cnt = new MapContainer(); 

    Style s = new Style(); 
    s.setFgColor(0xff0000); 
    s.setBgTransparency(0); 
    FontImage markerImg = FontImage.createMaterial(FontImage.MATERIAL_PLACE, s, 4); 

    cnt.setCameraPosition(new Coord(27.6738908, 85.3181375)); 
    cnt.addMarker(
      EncodedImage.createFromImage(markerImg, false), 
      new Coord(27.6738908, 85.3181375), 
      "Hi marker", 
      "Optional long description", 
      evt -> { 
       ToastBar.showMessage("You clicked the marker", FontImage.MATERIAL_PLACE); 
      } 
    ); 
    hi.add(BorderLayout.CENTER, cnt); 
    hi.show(); 
    hi.revalidate(); 

回答

0

这不是一个原生地图。这是后备地图组件。您需要验证是否启用了Android本地地图。我建议用电缆连接设备并查看Google在控制台中输入的错误。

+0

我很困惑。如果出现任何问题,它仍然会显示地图?你能再清一点吗? – beck

+1

实际上它有点坏,它应该显示JavaScript地图,但它显示的是'MapComponent'后备。如果出现故障,我们仍然尝试显示地图回退,因为这是大多数开发人员想要的。例如。假设我在没有Google Play服务的Kindle ASOP设备上运行,您仍然希望地图“正常工作”正确吗? –