0

私はGoogle Maps Android APIで新しくなっています。私はこの質問が既に公表されているが、彼らは古いと私は新しいAPIバージョンを参照している知っている。 マップ専用のフラグメントの1つを持つナビゲーションドロワーを開発しています。 私はマップしか見ることができませんが、マーカーはなく、ズームはありません。マップのように聞こえてきても適切に読み込まれません。ディスプレイマーカーAndroid Googleマップapi

パブリッククラスMapsFragmentは、フラグメントがOnMapReadyCallback {

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.fragment_maps, container, false); 
} 

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    MapFragment mapFragment = (MapFragment) getChildFragmentManager().findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 

@Override 
public void onMapReady(GoogleMap googleMap) { 
    // Add a marker in Sydney and move the camera 
    LatLng sydney = new LatLng(44.797283, 20.460663); 
    googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
} 

これを実装して拡張しfragment_maps.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.app.myapp.view.MapsFragment"> 

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:name="com.google.android.gms.maps.MapFragment" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 
</FrameLayout> 

と呼ばれるXMLは、サンプルからのショートカットを服用しないでください、あなたに

答えて

0

に感謝されます。 GoogleMapオブジェクトを保存し、保存されたオブジェクトのプロパティとメソッドを使用します。

@Override 
     public void onMapReady(GoogleMap googleMap) { 
      mMap = googleMap; 

      // Add a marker in Sydney, Australia, 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)); 
     } 
+0

残念ながら、プライベートGoogleMapオブジェクトを作成し、それをメソッド引数に割り当てることで問題は解決されません。私はそれをデバッグし、それはonMapReadyメソッドに入ることはないことに気付きました。 APIキーが正しく表示されるように地図が正しく表示されています。 私は、この問題がフラグメントとナビゲーション・ドロワーに関連していると思います。 – Panda

+0

mapFragment.getMapAsync(this.onMapReady)IDKになっている可能性があります。 – danny117

関連する問題