【发布时间】:2013-10-22 16:38:32
【问题描述】:
我正在尝试将 Google 地图嵌入到我的应用中。下面是我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
</LinearLayout>
这是主类文件:
package com.em.basicmap;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
这是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.em.basimap"
android:versionCode="1"
android:versionName="1.0" >
<permission android:name="com.em.MAPS_RECIEVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.em.MAPS_RECIEVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="com.google.android.providers.gsf.permissions.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.em.basicmap.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCrstFrx_Mj8PaBJYtSH6bk62kggzstYzM"/>
</application>
</manifest>
我已经尝试了我能想到的一切。我已确保我在 google apis 中有 Google Maps Android API。我已经多次更新我的调试密钥,我已经下载了 google-play 服务并将 lib jar 复制到我的目录中。我已经确保我的目标 sdk 是 Google api 17,我已经包含了我可能需要的所有权限。我查看了 StackOverflow 的所有帮助,以上是我能找到的帮助,但我的应用程序仍然显示空白屏幕和缩放按钮。我现在真的很茫然。还有其他一些我没有正确完成的事情吗?我如何访问我的 SHA1 代码?我已经通过命令行和eclipse完成了,但是我的logcat说它可能仍然是一个授权问题。
【问题讨论】:
-
您是在模拟器还是在设备上运行您的应用程序?您是否创建了调试密钥或签名的 apk 密钥??
-
@lonelyminstrel 你在你的谷歌控制台中使用
Google Map v2服务吗? -
这里有关于这个主题的很棒的教程blog.enbake.com/… 比较每一步并检查你是否错过了任何欢呼!!
-
我在设备上运行我的应用程序,它可以在模拟器上运行吗?我的控制台中有 Google Maps Android API v2 服务。我确实创建了一个密钥,几次,但我可能创建错了。我试过用命令行,也试过用eclipse找。
标签: java android google-maps