1

最初の質問。

Google マップのマップを表示する代わりに Android エミュレーターでアプリをビルドすると、空の灰色のタイルが表示されます。

私がやったこと:

  • Google API Sdk を追加しました。
  • プロジェクトのターゲットは Android + Google API (Google Api) です。
  • ターゲットの Google Api と GPS を使用して新しいエミュレーターを作成し、RAM と最大 vm アプリケーション ヒープを 512 と 48 に増やしました。
  • debug.keystore と default.keyset を 2000 回削除し、キーを再構築して 2000 回以上 Google に送信しましたが、まだ機能しません。
  • SHA1 を取得するコマンドは次のとおりです。

    ./keytool.exe -list -v -keystore /home/q/my_name/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

次に、sha1 を取得して Google に貼り付け、セミコロンとアプリケーション名を追加します。

E4:A ..... C38;com.example.myappname

わかりました、それから私のコード:

主な活動:

package com.example.rest;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;

public class Rest extends MapActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rest);
        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_rest, menu);
        return true;
    }

    public void onProviderDisabled(String provider) {
        Intent intent = new Intent( android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
        startActivity(intent);
    }
}

マニフェスト:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.rest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.INTERNET"/>    
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

        <uses-library android:name="com.google.android.maps"/>

        <activity
            android:name=".Rest"
            android:label="@string/title_activity_rest" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

レイアウト:

<RelativeLayout 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" >

<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="AIzaSyAdh38-k34RPi7aQ4ik6ExKKWI-wS-bDJA"
/>

</RelativeLayout>

大事な事:

  • 事前に作成されたマップ アプリケーションは動作します。
  • SDK の例 (com.example.android.apis.MapsDemo) は機能しません。灰色のタイルも表示されるためです。

手がかりはありますか?私の質問について必要なことは何でも聞いてください。答えます。

(アプリ名などを編集して、自分の名前に関する実際のデータが表示されないようにしました..)

ログキャット:

01-15 10:47:11.498: W/KeyCharacterMap(509): No keyboard for id 0
01-15 10:47:11.498: W/KeyCharacterMap(509): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
01-15 10:47:17.938: W/System.err(509): java.lang.IllegalStateException: Connection pool shut down.
01-15 10:47:18.068: W/System.err(509):  at org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:284)
01-15 10:47:18.068: W/System.err(509):  at org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:238)
01-15 10:47:18.068: W/System.err(509):  at org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:175)
01-15 10:47:18.068: W/System.err(509):  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:325)
01-15 10:47:18.078: W/System.err(509):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
01-15 10:47:18.078: W/System.err(509):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
01-15 10:47:18.298: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.AndroidHttpClient.execute(AndroidHttpClient.java:246)
01-15 10:47:18.298: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.GoogleHttpClient.executeWithoutRewriting(GoogleHttpClient.java:129)
01-15 10:47:18.308: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.GoogleHttpClient.execute(GoogleHttpClient.java:189)
01-15 10:47:18.308: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.GoogleHttpClient.execute(GoogleHttpClient.java:242)
01-15 10:47:18.334: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.AndroidHttpConnectionFactory$AndroidGoogleHttpConnection.getResponse(AndroidHttpConnectionFactory.java:132)
01-15 10:47:18.334: W/System.err(509):  at android_maps_conflict_avoidance.com.google.common.io.android.AndroidHttpConnectionFactory$AndroidGoogleHttpConnection.openDataInputStream(AndroidHttpConnectionFactory.java:153)
01-15 10:47:18.348: W/System.err(509):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:922)
01-15 10:47:18.472: W/System.err(509):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
01-15 10:47:18.472: W/System.err(509):  at java.lang.Thread.run(Thread.java:1019)
01-15 10:47:19.038: W/MapActivity(509): Recycling dispatcher android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher@405e68e8
01-15 10:47:19.058: V/MapActivity(509): Recycling map object.
01-15 10:47:19.418: I/MapActivity(509): Handling network change notification:CONNECTED
01-15 10:47:19.418: E/MapActivity(509): Couldn't get connection factory client

私は Linux を使用していますが、winxp パーティションにある keytool.exe を使用しています。これが問題を引き起こす可能性があるかどうかはわかりません。しかし、keytool.exe は問題なく sha1 を提供してくれます。重要な場合に備えて言及します。

編集:問題は解決しました!正解はFIDOです。画面を下にスクロールしてください。

4

1 に答える 1

3

あなたはグーグルマップV1プロジェクトのためにグーグルマップV2のキーを使用しています。グーグルマップV1のキーを取得するためにこれを試してください

于 2013-01-15T10:49:34.537 に答える