我目前正在使用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() {
}
}
答案 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云控制台条目中的值匹配。