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

问题描述:

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

在我的单类的代码如下:

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

这总是一个API关键问题。在日志中查找与api相关的错误。 –

+0

当你在手机中运行应用程序,然后它在调试模式下,或者你运行签名的apk? – Beena

<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。你可以从谷歌开发者控制台页面获取它。

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

确保证书密钥也在google云端控制台部分中定义,以启用V2地图。

请确保您正在建设一个证明,这是明显需要这种情况下。

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