Android手机不会显示地图(只有空白地图)

时间:2016-07-06 02:49:19

标签: java android google-maps codenameone

我目前正在使用CodenameOne在Android上测试Google地图功能。当我在模拟器中打开应用程序时,应用程序加载正常,但是当我将其加载到我的旧Android手机上时,它只会加载到一个空白的白色屏幕(底部有一个小的Google徽标)。此外,手机上的常规Google地图应用程序本身也能正常运行。我能做错什么?

我的单个班级中的代码如下:

package com.example.willheard27.maptest

import com.codename1.googlemaps.MapContainer;
import com.codename1.maps.Coord;
import com.codename1.ui.Command;
import com.codename1.ui.Dialog;
import com.codename1.ui.Display;
import com.codename1.ui.EncodedImage;
import com.codename1.ui.Form;
import com.codename1.ui.events.ActionEvent;
import com.codename1.ui.events.ActionListener;
import com.codename1.ui.layouts.BorderLayout;
import com.codename1.ui.plaf.UIManager;
import com.codename1.ui.util.Resources;
import java.io.IOException;

public class MainClass {

private Form current;

public void init(Object context) {
    try {
        Resources theme = Resources.openLayered("/theme");
        UIManager.getInstance().setThemeProps(theme.getTheme(theme.getThemeResourceNames()[0]));
    } catch(IOException e){
        e.printStackTrace();
    }
}

public void start() {
    if(current != null){
        current.show();
        return;
    }
    Form hi = new Form();
    hi.setLayout(new BorderLayout());
    final MapContainer cnt = new MapContainer();
    hi.addComponent(BorderLayout.CENTER, cnt);

    hi.show();
}

public void stop() {
    current = Display.getInstance().getCurrent();
}

public void destroy() {

}

}

2 个答案:

答案 0 :(得分:0)

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="Your api key" />
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

确保清单文件中的api密钥,并且应该是valide。你可以从谷歌开发者控制台页面获得它。

答案 1 :(得分:0)

确保在构建提示中正确定义了API密钥,如项目页面中所述。

确保在Google云端控制台部分中定义了证书密钥,以启用V2映射。

确保使用此案例明显需要的证书进行构建。

如果仍有问题,请使用电缆连接设备,然后从Android SDK启动DDMS工具。您应该看到SHA1值和包名称的输出,确保它们与Google云控制台条目中的值匹配。