2016-06-22 12 views
1

私は自分のアプリケーションでGoogleマップを作成しています。アンドロイドでは地図が表示されていませんが、コードをチェックしても問題ありません。すべてが機能しています。Googleマップがアンドロイドに表示されない

私が確認したステップと正常に動作しているステップ: 1)SHAコードは問題ありません。 2)私がアプリケーションに挿入したキーは問題ありません。 3)自分のアプリケーションのマップAPIを有効にしました。

しかし、私は地図の断片にアクセスするときlogcatは、次の項目が表示されます

06-22 18:57:47.380 8417-10561/ I/b: Sending API token request. 
06-22 18:57:50.300 8417-10561/ E/b: Authentication failed on the server. 
06-22 18:57:50.300 8417-10561/ E/Google Maps Android API: Authorization failure. 
    Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map. 

06-22 18:57:50.300 8417-10561/ E/Google Maps Android API: 
       In the Google Developer Console (https://console.developers.google.com) 
        Ensure that the "Google Maps Android API v2" is enabled. 
        Ensure that the following Android Key exists: 
        API Key: AIz------------------------------------S 
      Android Application (<cert_fingerprint>;<package_name>): SHA-1FingerPrint;PackageName 

今、私はこの問題について、インターネットを介して検索しましたし、私はまだ解決策を見つけていないが。私は以下の質問をしましたが、結果はありません。

Google Maps V2 not working in production with correct key

Google Maps Android API v2 Authorization failure

これは、マップのための私の活動のコードです:

private void setupWebView(View parentView) { 
    loading = (ProgressBar) parentView.findViewById(R.id.loading); 
    loading.setVisibility(View.GONE); 
    if (googleMap == null) { 
     googleMap = ((MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.mapf)).getMap(); 

    } 
    setupMarkers(searchCenters.getText().toString()); 
} 

private void setupMarkers(String searchFor) { 
    googleMap.clear(); 
    if (searchFor == null || searchFor == "") { 
     for (HealthCenter center : healthCenters) { 
      markers.add(
        googleMap 
          .addMarker(new MarkerOptions() 
            .position(new LatLng(center.getAddress().getLatitude(), 
              center.getAddress().getLongitude())) 
            .title(center.getName()).visible(true))); 

     } 
    } else { 
     for (HealthCenter center : healthCenters) { 
      if (center.getName().toLowerCase().contains(searchFor.toLowerCase())) { 
       markers.add(
         googleMap.addMarker(new MarkerOptions() 
           .position(new LatLng(center.getAddress().getLatitude(), 
             center.getAddress().getLongitude())) 
           .title(center.getName()).visible(true))); 
      } else { 
       markers.add(
         googleMap.addMarker(new MarkerOptions() 
           .position(new LatLng(center.getAddress().getLatitude(), 
             center.getAddress().getLongitude())) 
           .title(center.getName()).visible(false))); 
      } 
     } 
    } 

、結果はこのようなものです:

enter image description here

誰も私を助けることができますこの問題で私はこれがここで何度も尋ねられてきたことは知っていますが、まだ私は答えを見つけることができません。

+0

最後に解決策が見つかりました。あなたに役立つかもしれませんhttp://stackoverflow.com/questions/16551458/android-google-maps-not-displaying/43776686#43776686 – mehmet

+0

@mehmetご意見ありがとうございます。しかし、資格情報を再入力してキーを削除してもう一度挿入すると、この問題は解決し、うまくいきました。どうしてなぜ起こったのか分かりません。 – Umair

答えて

1

あなたが提供するエラーログに基づいて、Google Maps Android API: Authorization failure. Google APIのコンソールでGoogle Maps Android API v2サービスをアクティブにし、APIキーを生成する際に正しいパッケージ名を使用し、正しいキーストアファイルを使用していることを確認しますSHA1とログに示唆されているように、Google Maps Android API v2が有効になっていることを確認し、次のAndroidキーが存在することを確認します。

公式のGoogleドキュメントMaps Android APIを読んで助言することができますが、ガイドはAndroidアプリにマップを追加するためのクイックスタートです。ドキュメントにはMaps API Keyの入手方法とサンプルコードも記載されています。

ここでは、GoogleマップのAndroid APIの使用を示すサンプルの数が含まれたサンプルコードです:https://github.com/googlemaps/android-samples

+0

あなたの答えをありがとう。実際に私はすべてを正しく提供していました。キーを削除した後に資格情報を再入力すると、正しく機能するようになりました。どのように、なぜ、なぜか分からない。 – Umair

+0

こんにちはumair、もしあなたが何か解決策を見つけたら、それはここに投稿してください。そうすれば、私たちはこの問題に遭遇した他の人を助けることができます。 –

+0

実際これは有線の問題のようなものでした。すべてがうまくいきました。私はちょうどキーを削除し、それを再入力し、それは正常に動作するようになった。それ以外のものは変更していない。 – Umair

0

のAndroid Studioは

app/src/debug/res/values/google_maps_api.xml 
app/src/release/res/values/google_maps_api.xml 

ための2つのパスの両方が同じgoogle_maps_keyを持っていることを確認してください持っています

関連する問題