1

編集 :

Google Maps for Android v2 を使用しようとする20 以上のプロジェクトを転送しました。キーなどを変更した後、今では動作します。何がこれを機能させたのかわかりませんが、皆さんに感謝します。キーストアを 1 つ取得しました。キーは正しいです。どうにか魔法のように治ったと思います。ええと、みんなありがとう。

2 日間検索を行っていますが、この問題を解決できませんでした。私はすべてをやりましたが、このアプリケーションは動作しません。

アプリケーションを Android 2.2 以降で動作させたいです。「レベル 8 でアプリを作成すると、市場の 95% をサポートします」とあるように。

ここに私のスクリーンショットとソースコードがあります:

一番入手しやすいソースコードを貼っておきます。これはウェブから持ってきました。

コマンドの出力は次のとおりです

keytool -list -keystore <path>
*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

キーストア タイプ: JKS キーストア プロバイダ: SUN

Your keystore contains 1 entry

androiddebugkey, 15.Mar.2013, PrivateKeyEntry,
Certificate fingerprint (SHA1): xxx

main.xml ファイル:

<?xml version="1.0" encoding="utf-8"?>
<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="AIzaSyDim-x5Gxxx"
/>

マニフェスト ファイル:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.androidhive.googlemaps"
    android:versionCode="1"
    android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <!-- Add Google Map Library -->
        <uses-library android:name="com.google.android.maps" />
        <activity
            android:name=".AndroidGoogleMapsActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <!-- Allow to connect with internet -->
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

java ファイル(すべてを貼り付ける必要はありませんが、すべてを貼り付けるのが最善だと思います)

http://pastebin.com/yF95Rcbd

ここに私のスクリーンショットがあります:

http://i.imgur.com/gExHpUG.png

http://i.imgur.com/AMOXKhr.png

http://i.imgur.com/Aqon97Y.png

このアプリを Android 4.2.2 にコンパイルしようとしていますが、2.2 以降で動作するようにしたいと考えています。

確認のため、プロパティ ウィンドウの [Android] タブを次に示します。

http://i.imgur.com/ht0CQwT.png

これが私のログです

03-20 07:01:20.145: W/System.err(956):  at java.lang.Thread.run(Thread.java:856)
03-20 07:01:20.665: W/System.err(956): IOException processing: 26
03-20 07:01:20.665: W/System.err(956): java.io.IOException: Server returned: 3
03-20 07:01:20.665: W/System.err(956):  at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
03-20 07:01:20.675: W/System.err(956):  at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
03-20 07:01:20.675: W/System.err(956):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
03-20 07:01:20.675: W/System.err(956):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
03-20 07:01:20.675: W/System.err(956):  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)

これらの行は常に繰り返されます。

どうもありがとうございました。あなたの投稿には、コードとして適切にフォーマットされていないコードが含まれているようです」というエラーにより、空白行が削除されました。混乱したコードで申し訳ありません。

4

5 に答える 5

1

http://i.imgur.com/ht0CQwT.png スナップショットをご覧ください。Google Android Map V2 を表示するために必要な Google Play Services ライブラリを追加していません。そのライブラリをダウンロードして追加してから、もう一度お試しください。

ターゲットもご覧ください。ターゲットは 4.2.2 で、2.2 でアクセスしています。ターゲットを 2.2 に変更し、サポート フラグメントを使用します。

ありがとう、

于 2013-03-20T06:52:02.297 に答える
0

android mapapi v2を使用する場合、主な理由は、以下のようにアプリにPlayサービスを追加する必要があることです。

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

    <uses-permission android:name="com.example.androidmapview.permission.MAPS_RECEIVE" />

レイアウトでフラグメントクラスを使用します。

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:map="http://schemas.android.com/apk/res-auto"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
 class="com.google.android.gms.maps.SupportMapFragment"/>

マニフェストを変更します。

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

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

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

    <uses-permission android:name="com.example.androidmapview.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <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-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.androidmapview.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="AIzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></meta-data>
    </application>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
</manifest>

活動中:

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import com.google.android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, fragment).commit();
    }
}

詳細については、apiv2の詳細を説明するリンクを確認してください

于 2013-03-20T06:59:51.340 に答える
0

API KEY の権限とメタデータがありません。

これを注意深く読んでください: https://developers.google.com/maps/documentation/android/start

于 2013-03-20T07:26:40.323 に答える
0

そのようなズームイン/ズームアウトボタンで空白の画面の問題を解決しました(パッケージ名を変更した後に発生します)

  1. キーストア ファイルを削除する
  2. 新しいキーストア ファイルを作成する
  3. SHA1 フィンガープリントを取得する
  4. API コンソールに移動
  5. 新しい Android アプリを作成します。
  6. 指紋を貼り付けます
  7. マニフェスト ファイルで指定された API キーを使用する

それは私のために働いた

于 2013-07-25T13:50:25.007 に答える