Yar*_*lyk 14 android google-maps-api-2 android-maps
好吧,这是我用这个例子做的
通过命令生成密钥
$ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
复制粘贴在Google API控制台+我的包名称中的SHA1总和:
总和; com.my.package
在Google API控制台的同一项目中启用了Google Map API v2
将其复制到元数据中的Manifest应用程序.
通过SDK管理器下载并导入google-play-services_lib项目并将其作为库项目引用.以及ActionBarSherlock.
在启动之前,我确保GooglePlayServices可用.
表现:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<permission
android:name="com.my.package.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.my.package.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)
应用:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="debug_key"/>
Run Code Online (Sandbox Code Playgroud)
还添加了proguard的东西,但我现在没有混淆.
DrugstoresMapActivity扩展了SherlockFragmentActivity
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map_fragment"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
project.properties
target=android-17
android.library.reference.1=../google-play-services_lib
android.library.reference.2=../ActionBarSherlock
Run Code Online (Sandbox Code Playgroud)
ActionBarSherlock在libs中有android-support-v4,如果重要的话,不是主项目.
StartupActivity确保只有可用的服务才会启动DrugstoresMapActivity
private void attempt() {
int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());
switch (result) {
case ConnectionResult.SUCCESS:
startActivity(new Intent(this, DrugstoresMapActivity.class));
finish();
break;
default:
GooglePlayServicesUtil.getErrorDialog(result, this, REQUEST_DIALOG)
.show();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
双重检查钥匙很好.不知道我错过了什么.
Yar*_*lyk 46
启用了错误的服务.确保已启用"Google Maps Android API v2",而非"Google Maps API v2"并重新生成API密钥.
| 归档时间: |
|
| 查看次数: |
7670 次 |
| 最近记录: |