在启用" Google Maps Android v2"后,创建Map API Key是否难以实现? ?? 因为我尝试了很多,但我总是无法运行谷歌地图的应用程序。请告诉我是否有人试过这个。感谢。
的Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.anshul"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<permission
android:name="com.anshul.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.anshul.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.anshul.MapActivity"
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="------removed-------" />
</application>
</manifest>
答案 0 :(得分:1)
是的,当然必须创建Google Map Api密钥,如果没有它,您如何成功加载地图。您必须将该密钥提供给Android Manifest文件的map api key属性。它必须是必要的。
答案 1 :(得分:1)
是API密钥是强制性的,否则Google不会授权您的应用使用地图。
要获取API密钥,请转到Google API控制台: https://code.google.com/apis/console/
确保&#34; Google Maps Android API v2&#34;选中,然后转到API Access并单击 &#34;创建新的Android密钥....&#34;
这允许您输入您的包裹名称,即&#34; com.example.whatever&#34;和你的SHA-1指纹(可以从eclipse或使用keytool抓取)。所有信息都可以在上面的链接中找到。
祝你好运答案 2 :(得分:0)
这只是因为错误的SHA所以请使用以下代码来获取项目的正确SHA。
try {
PackageInfo info = getPackageManager().getPackageInfo(
"Your PAckage here",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
// // System.out.println("KEY HASH.........."+Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
System.out.println("name not found...."+e);
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException...."+e);
}