1

Google Playサービス(リビジョン5)とバージョン2のGoogle MapsAndroidAPIを使用してAndroidアプリケーションを構築しようとしています。

私はでドキュメントを注意深く読みました:

http://developer.android.com/google/play-services/maps.html https://developers.google.com/maps/documentation/android/start#installing_the_google_maps_android_v2_api

念のため、サンプルアプリを次の場所からコピーしました:〜/ android-sdk-linux / extras / google / google_play_services / samples

このコードでは、マニフェスト内の開発者キーとtargetSdkVersion(16-> 17)を変更しました。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.mapdemo"
    android:versionCode="2"
    android:versionName="2.1.0" >

<permission
    android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
<!-- Copied from Google Maps Library/AndroidManifest.xml. -->
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!-- External storage for caching. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- My Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
<!-- End of copy. -->
<application
    android:hardwareAccelerated="true"
    android:allowBackup="false"
    android:icon="@drawable/ic_launcher"
    android:label="@string/demo_title" >
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="XXXXXXXXXXXmyXkeyXXXXXXXXXXXXX" />

    <activity android:name=".MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".BasicMapActivity"
        android:label="@string/basic_map" />
    <activity
        android:name=".CameraDemoActivity"
        android:label="@string/camera_demo" />
    <activity
        android:name=".CircleDemoActivity"
        android:label="@string/circle_demo" />
    <activity
        android:name=".EventsDemoActivity"
        android:label="@string/events_demo" />
    <activity
        android:name=".GroundOverlayDemoActivity"
        android:label="@string/groundoverlay_demo" />
    <activity
        android:name=".LayersDemoActivity"
        android:label="@string/layers_demo" />
    <activity
        android:name=".LocationSourceDemoActivity"
        android:label="@string/locationsource_demo" />
    <activity
        android:name=".MarkerDemoActivity"
        android:label="@string/marker_demo" />
    <activity
        android:name=".OptionsDemoActivity"
        android:label="@string/options_demo" />
    <activity
        android:name=".PolygonDemoActivity"
        android:label="@string/polygon_demo" />
    <activity
        android:name=".PolylineDemoActivity"
        android:label="@string/polyline_demo" />
    <activity
        android:name=".ProgrammaticDemoActivity"
        android:label="@string/programmatic_demo" />
    <activity
        android:name=".TileOverlayDemoActivity"
        android:label="@string/tile_overlay_demo" />
    <activity
        android:name=".UiSettingsDemoActivity"
        android:label="@string/uisettings_demo" />
    <activity
        android:name=".RawMapViewDemoActivity"
        android:label="@string/raw_mapview_demo" />
    <activity
        android:name=".RetainMapActivity"
        android:label="@string/retain_map" />
    <activity
        android:name=".MultiMapDemoActivity"
        android:label="@string/multi_map_demo" />
</application>

GooglePlayライブラリプロジェクトはプロジェクトのプロパティで正しく設定されています。

proguard.cfg標準ファイルを変更しませんでした。

android4.1.2を搭載したMotorolaXoomで「GoogleMapsAPIDemos」を起動し、「Basic Map」をクリックすると、マップのない空白の画面が返されます。

私のlogcatには以下が含まれています:

03-17 14:07:13.450: E/Google Maps Android API(17988): Authorization failure.

私のAPIコンソールでは、「Google MapsAndroidAPIv2」がオンになっています。

Androidアプリのキーを作成すると、コンソールに次のように表示されます。

Key for Android apps (with certificates)
API key:    XXXXXXXXXXXmyXkeyXXXXXXXXXXXXX
Android apps:   XXXXXXXXXXXmyXSHA1XXXXXXXXXXXXX;com.example.mapdemo
Activated on:   Mar 17, 2013 4:28 AM
Activated by:    you

何が悪いのか分かりますか?

4

2 に答える 2

1

答えが見つかりました。アプリを署名付き apk にエクスポートし、それをタブレットにプッシュしてインストールすると、マップを正しく表示できます。回答ありがとうございます。

アプリをデバッグするには、 https ://developers.google.com/maps/documentation/android/start#displaying_certificate_information で説明されているように、デバッグ証明書のフィンガープリントを使用してキーを生成する必要があり ます。

于 2013-03-17T15:15:21.313 に答える