2017-04-10 1 views
0

私は地雷アプリでGoogleマップを実装したいと思います。 Googleマップのアクティビティを追加してキーを作成しました。私は他のコードでは何も変えなかった。私は仕事をしなければならないが、それはしない。あなたが入力したGoogleマップはAndroidを表示していません

MapsActivity

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 


/** 
* Manipulates the map once available. 
* This callback is triggered when the map is ready to be used. 
* This is where we can add markers or lines, add listeners or move the camera. In this case, 
* we just add a marker near Sydney, Australia. 
* If Google Play services is not installed on the device, the user will be prompted to install 
* it inside the SupportMapFragment. This method will only be triggered once the user has 
* installed Google Play services and returned to the app. 
*/ 
@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 

    // Add a marker in Sydney and move the camera 
    LatLng sydney = new LatLng(-34, 151); 
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
} 

}

activity_maps.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.kevin.map.MapsActivity" /> 
+0

これは私のために働いたあなたがマニフェスト> –

答えて

1

する必要があります。

  1. が断片またはアクティビティにロジックを追加します。
  2. mapフラグメント要素をレイヤーに追加します。
  3. APIキーを取得します(おそらく、デバッグバージョンとアプリケーションの署名付きバージョンにキーを関連付ける必要があります。誰もが異なる署名を持ちますが、どちらも同じキーを共有できます)。
  4. アプリケーションマニフェストを設定します。ここで、Googleマップを使用するには、インターネットアクセス、Open GL仕様、必要なGoogle Playサービスの一部としてマップライブラリが含まれているため、地図がローカルに保存されている場合はデバイスストレージにアクセスする必要がありますこれも設定してください。マニフェスト内のアプリケーションレベルで

    <!-- Location if you will use this --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    
    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature 
        android:glEsVersion="0x00020000" 
        android:required="true" /> 
    <uses-permission android:name="com.example.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    

    :マニフェストレベルで

​​
0
  1. にGoogle APIキーを確認が正しいかどうかと、そのキーは
  2. を有効にするかしません
  3. 場所へのアクセス許可を許可しましたか?モバイルアプリの設定でアクセス許可オプションをクリックして場所のアクセス許可を許可してからコードを実行してください。
1

threadの他の投稿に加えて、理由は、間違ったキーストアで作成されたAPIキーが使用されている可能性があるためです。 Google APIコンソールでAPIキーを作成するときは、必ずデバッグキーストアを使用する必要があります。このlinkから、Android用Googleマップを使用する場合は、デバッグとリリースという2つのキーが必要です。 「デバッグ」キーは誤解を招くような用語です。このキーは、アプリケーションの開発時にも使用されます。したがって、基本的に、開発、テスト、デバッグにデバッグキーを使用します。 Androidマーケットを起動する準備が整ったら、AndroidManifest.xmlにandroid:debuggable = "false"を設定し、Signed APIキーを使用します。 Googleマップであなたを仕事に

0

は、あなたがリリースフォルダ内のマップキーを追加したことを確認してください(アプリ> src>リリース> res>値> google_map_api.xml)。

1

公式ドキュメントの手順に従った後でも、Androidスタジオの手順が完了していてもまだ地図が表示されない場合は、次の手順に従ってAPIキーに問題がないかどうかを確認してください:あなたのlogcatで'Googleマップ'

  1. フィルター。
  2. あなたはそれがGoogleクラウドコンソールに移動し
  3. キーAPIであるとして存在していなければならない正しいパッケージ名& SHAキーが含まれ、エラーメッセージ、表示されます - > API - > Credentails、クロス検証の両方を必要に応じて修正してください。
+0

であなたのキーを追加しましたを反映するAPIキーの変更のために10〜15分待ちます。 – moyheen

+0

@moyheen、私は誰かを助けることができることを知ってうれしい... –

関連する問題