4

私はグーグルマップを利用するアンドロイドアプリケーションを持っていました。指示に従い、デバッグキーを使用してアプリをデバッグモードで動作させました。ここにあるdebug.keystoreからSHA-1キーを取得しました。

c:\ Users \ myself \ .android \ debug.keystore

を使用して

c:\ Program Files \ Java \ jdk1.7.0_03 \ bin> keytool -list -v -keystore c:\ debug.keystore

テスト用の電話(android 2.3.6を実行)でEclipseからアプリを実行してテザーデバッグを使用すると、マップは正常に表示されていました。

ただし、アプリを終了した後、公開されたアプリでは地図が表示されませんでした。見えたのは灰色のタイルだけでした。

これはAPIキーの問題であることを私は知っています。

そこで、新しいキー(およびそれを含むapk)を作成し、それを使用してGoogleのコンソールから新しいAPIキーを生成しました。古いApiKeyがあったため、キーで生成されたapkを削除し、新しいapiキーをここに貼り付けました。

<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:id="@+id/mymap"
android:apiKey="my_api_key"

次に、プロジェクトを再エクスポートしましたが、今回は同じSHA-1が含まれているため、前にステップを作成したのと同じキーを使用しました。

ただし、それでもマップは表示されず、灰色のタイルのみが表示されます。次の方法で、APIコンソールにSHA-1キーを入力しました。

18:3E:1D:8C:xx:xx:xx:xx:xx:xx:xx:xx:xx:x:xx:1D:E1:08:32:8E; com.mycompany.mapapp

デバッグキーに戻ろうとしましたが、今回はデバッグアプリ(Eclipseから実行)にもマップが表示されませんでした。

私の質問は次のとおりです。

  1. これはまだ正しい方法ですか?--https: //developers.google.com/maps/documentation/android/start#obtaining_an_api_key --googleは、フラグメントを使用したさまざまなアプローチを使用していたためです。

  2. 私は何が欠けていますか?

  3. このメソッドは非推奨ですか、それとも機能するはずですか?

4

2 に答える 2

8

Google Maps V2用のApiKeyを生成していますが、v1MapViewを使用していますcom.google.android.maps.MapView。Android Maps V2 APIでは、キーはマニフェストに配置され、com.google.android.gms.maps.MapViewGooglePlayサービスライブラリを使用して地図を表示するために使用します。

こちらの概要セクションを読んで、Google Playサービスライブラリを使用してプロジェクトを設定する方法を学び、こちらの新しいAPIリファレンスを確認することをお勧めします。

于 2013-02-23T14:16:36.130 に答える
5

Google マップ API を開発している場合。2 セットのマップ API キーが必要です。デバッグ キーストアからの SHA1 フィンガープリントを使用して生成される 1 つのマップ API キー。このマップ API キーは、Eclipse でアプリをデバッグし、そこから実行するときに使用されます。もう 1 つのマップ API キーは、公式または製品キーストアからの SHA1 フィンガープリントを使用して生成されます。このマップ API キーは、アプリに署名または公開するときに使用されます。

マニフェストのマップAPIキーはデバッグキーストアからのものであり、公式キーストアでアプリに署名しているため、そこでキーの不一致が発生していると思います。

また、MapView を開発していると思います。今すぐ MapFragments を使用することをお勧めします。ここに役立つリンクがあります。

クイック スタート ガイド: https://docs.google.com/document/d/1dFzZT0C782BxLkDIUEb711rmsbMmYPURFV_2Cdb36so/edit?usp=sharing

MapFragment または Google Play Services Library で問題が発生した場合のトラブルシューティング スレッド: android.gms.maps.MapFragment をインスタンス化できません

また、このHow to/Error in Declaring google-play-services-componentにも回答があります。

于 2013-02-23T13:54:44.613 に答える