2013-06-25 68 views
0

我想我的第一个谷歌地图应用程序。我遵循了vogella http://www.vogella.com/articles/AndroidGoogleMaps/article.html教程中的所有步骤。谷歌地图不显示在模拟器上

我创建了一个API密钥,并在清单文件中使用它。

声明清单文件中的所有权限。

虽然我手机上的运行,应用程序工作正常,但当我尝试在模拟器中运行我只得到空屏,放大图标和错误控制台我得到

06-25 06:06:54.387: E/Google Maps Android API(7808): Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above 

我想在模拟器中运行与谷歌API 4.2.2。

清单文件

<permission 
     android:name="com.sample.maps.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="false" /> 

    <uses-permission android:name="com.sample.maps.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 



    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <activity 
      android:name="com.sample.maps.Presentlocation" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <uses-library android:name="com.google.android.maps" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyD0Ku3-ysyNupHy59CtfvX6Cfmz_ob0pkk"/> 
    </application> 

XML文件

<fragment 

      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:name="com.google.android.gms.maps.MapFragment" 

     /> 

的Java文件

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.presentlocation); 
} 

请告诉我米斯塔我在做什么?

谢谢:)

+0

作为logcat中的消息说,你需要在真实的设备上测试你的应用程序,然后支持OpenGL ES 2.0 – Raghunandan

+0

@Raghunandan没有办法在模拟器上测试..我看着很多答案..所以说...您可以通过安装com.google.android.gms.apk和com.android.vending.apk在模拟器上运行。但是当我尝试安装时出现错误,说它已经存在 – Beginner

+0

你可以有一种解决方法,但我建议你在真实设备上测试它。 – Raghunandan

回答

0

你需要给纬度和经度使用DDMS设备 - >仿真器控制。

+0

我已经检查与传递latlng也..但我没有得到任何输出 – Beginner

0

您需要为使用DDMS - > Emulator Control的设备提供经度和纬度。而对于地图v1,要显示地图,我们需要使用密钥存储区对apk进行签名。

0

下载下面的APK

[com.android.vending-1.apk][1] 

[com.google.android.gms-1.apk][2] 

安装这两个APK到正在运行的(目标)仿真器与亚行 命令:

亚行-e安装[路径TO- APK文件]

+0

我得到一个错误,说它已经存在。当我试图用adb -e install -r命令安装时,我收到一个错误,说不一致的证书 – Beginner

+0

创建一个新的模拟器并重试。 – Aarun

+0

我试过同样的问题.. – Beginner

0

since 2013年6月al ot已经改变了。我们不需要在模拟器上安装apks。 .. \ Android \ android-studio \ sdk \ extras \ google \ google_play_services \ samples \ maps中的示例可以工作(在下面进行一些小调整),并提供了许多可能需要执行的操作的示例。

弱点: A.在清单中,所需要的关键是一个浏览器键,而不是一个应用程序键:

B.版本如果需要运行Windows进行更新(目前为21) 下,请确保安装了最新的英特尔血红素和D.使用Google API启动AVD D.将示例项目导入Android Studio。如果它错过了元数据,它会告诉你它是怎么样的以及在哪里添加它。

建造,运行,享受十几个样本。瞧!