2017-03-31 14 views
0

私は自分のアクティビティのうちの1つに非常に基本的なMapViewを表示しようとしています。このMapViewは、他の要素を持つアクティビティの高さは200ピクセルです。私は、ウィザードからマップアクティビティを作成しませんでした。Android Google Maps基本マップ

私のマニフェストがあります。

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 

<!-- 
    The API key for Google Maps-based APIs. 
--> 
<meta-data 
    android:name="com.google.android.geo.API_KEY" 
    android:value="my real code" /> 

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

私のbuild.gradleは、依存関係を持っています

compile 'com.google.android.gms:play-services-maps:10.2.1' 

私AndroidStudioは、GooglePlayのパッケージを持っています。私は何が欠けているか知っていますか?

これは私のMapViewのためのXMLコードです:

<LinearLayout 
    android:id="@+id/geolocationLinearLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="10dp" 
     android:text="Geolocation" 
     android:textStyle="bold|italic" /> 

    <com.google.android.gms.maps.MapView 
     android:id="@+id/mapView" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" /> 
</LinearLayout> 

は、これが私の活動のJavaクラスマップの宣言とロードです:

宣言:OnCreateViewインサイド

MapView mapView; 
GoogleMap map; 
static final LatLng HAMBURG = new LatLng(53.558, 9.927); 

mapView = (MapView) view.findViewById(R.id.mapView); 
mapView.getMapAsync(new OnMapReadyCallback() { 
    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     map = googleMap; 
     map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15)); 
    } 
}); 
+0

mapView.onCreate(...)はどこですか? – Blackkara

+0

mapView.onCreate(mBundle)を追加しました。左下にGoogleロゴが表示されたmapViewが表示されますが、地図はロードされません。他のコードを作成する必要はありますか? – user1060551

+0

マップが空白の場合、一般的な問題は悪いAPIキーです –

答えて

1

注:私はあなたが

mapView = (MapView) view.findViewById(R.id.mapView);  
mapView .onCreate(null); 
mapView.getMapAsync(...) 

そしてまた、すべてのメソッド

@Override 
public void onResume() { 
    super.onResume(); 
    mapView .onResume(); 
} 
  • チェックdocumentation
  • については、以下のマニュアルを参照して、以下のような他の必要なメソッドを使用する有効なキーを持っていると仮定していますチェックgoogle sample
関連する問題