2012-12-11 15 views
5

Androidデバイスはマップ用のタイルのみを表示します。広く報告されているようだ。私は、このリンクの指示に従っ:アンドロイドデバイスにGoogleマップが表示されない

https://developers.google.com/maps/documentation/android/start 

私は次のようでした:

1)Eclipseで、私はリリースモードで署名しました。 「ファイル」>「書き出し」を選択します。 Androidアプリケーションをエクスポートし、[次へ]をクリックします。新しいキーストアを作成しました。その後、apkをgoogle playにアップロードしました。

2)Androidアプリはデバイスで動作しましたが、地図が表示されませんでした。それはちょうどタイルを示した。

3)私は上記のリンクの指示に従った。

4)上記で作成したキーストアファイルがあります。私のキーストアはziggy.keystoreと呼ばれ、別名はziggyキーストアです。

5)Iは、Mac OSXの端末でこれを実行した:

keytool -list -v -keystore ziggy.keystore -alias ziggy\ keystroke 

6)上記コマンドは、証明書のSHA-1フィンガープリントを含む行を含む出力を生成します。指紋は、コロンで区切られた20桁の2桁の16進数のシーケンスです。

7)署名証明書の指紋を取得したので、Google APIコンソールでアプリケーションのプロジェクトを作成しました。ブラウザでは、https://code.google.com/apis/console/

に移動しました。8)[プロジェクトの作成]をクリックしました。私はそれをAPIプロジェクトという名前にしました。メインウィンドウにAPIとサービスのリストが表示されます。

9)Google Maps Android API v2が表示されるまでスクロールします。エントリーの右側に、スイッチインジケーターをクリックしてオンにしました。私は利用規約に同意し、同意をクリックした。

10)左側のナビゲーションバーで、APIアクセスをクリックしました。表示されたページで、[Create New Android Key]をクリックしました。ダイアログが表示されたら、SHA-1の指紋を入力してからセミコロンを入力し、アプリケーションのパッケージ名を入力しました。

11)APIキーをコピーしました。 AndroidManifest.xmlファイルに含まれているアプリケーションのマニフェストを開きました。閉じたタグの直前に挿入して、要素の子として次の要素を追加します。

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="your_api_key"/> 

*実際のAPIキーを使用しています。

12)私もこれを追加しました:

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 


<permission 
     android:name="com.otl.AndroidRemoteApp1.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 
    <uses-permission android:name="com.otl.AndroidRemoteApp1.permission.MAPS_RECEIVE"/> 

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

13)その後、私のShowMapActivity.javaに:

super.onCreate(savedInstanceState); 
    setContentView(R.layout.show_map); 
      mapView = (MapView) findViewById(R.id.mapview); 

    myMapController = mapView.getController(); 
    mapView.setBuiltInZoomControls(true); 

    Drawable marker=getResources().getDrawable(android.R.drawable.star_big_on); 
      ... 

14)その後、私のshow_map.xmlファイルに:

<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:state_enabled="true" 
    android:apiKey="my_api_key" 
/> 

* my_api_keyを実際のキーに置き換えました。

私はすべての指示に従っていたので、アンドロイドデバイスでアプリをダウンロードしたときに地図が表示されませんでした。以前に報告されているタイルのことだけを示しています。

これを動作させるために私が逃したステップはわかりません。

+0

実際にGoogleマップにはMD5キーが必要です。 –

+1

私も同じ問題を抱えています。私はGoogleのドキュメントからすべての手順を踏んだ。まだ成功していない。 – Shrikant

答えて

1

設定の手順がわかります。

しかし、あなたは昔ながらの方法で図書館とやり取りしていると思います。 MapViewをアクティビティに追加して制御することがドキュメントに記載されていますが、新しいGoogleMapMapFragmentというアプローチを使用しようとします。私は図書館

のV2上にある「MapActivityを拡張してのMapViewを扱う」サポートされているか、本当にわからないんだけど、ここではドキュメントはそれのためです:https://developers.google.com/maps/documentation/android/map#add_a_map_to_an_android_application

は、あなたがそれを試してみましたか?

+0

私のアプリケーションでAndroid 2.2バージョンもサポートしたいので、MapFragmentを使用することはできません。それ以外に何が解決策になりますか? – Shrikant

+0

できます。それを行うには、サポートライブラリをプロジェクトに組み込む必要があります。 http://developer.android.com/tools/extras/support-library.html –

+0

これは私にとっては大変感謝しています。私は緯度と経度のリストを持っています。私はそれらをMapに表示したいのですが、MapFragmentを使ってそれらを表示する方法を教えてください。 – Shrikant

0

非常に丁寧な説明をありがとう。問題は、Android v2 APIのセットアッププロセスfを使用していて、v1 APIのクラスを使用していることです。 v1は廃止予定ですので、v2を使用することを強くお勧めします。 Google Playサービスでの作成に関する残りの手順に従えばOKです。

関連する問題