CustomMapFragmentマーカーは(ない正確な位置が表示されている)動作していない、唯一の世界地図がFrgamentに見える
public class CustomMapFragment extends SupportMapFragment {
public static final LatLng NurissLife = new LatLng(28.602012, 77.098750);
private SupportMapFragment supportMapFragment;
@Override
public void onActivityCreated(Bundle bundle) {
// FragmentManager fm=getChildFragmentManager();
supportMapFragment=SupportMapFragment.newInstance();
//supportMapFragment=(SupportMapFragment)getChildFragmentManager
//().findFragmentById(R.id.map_container);
supportMapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.addMarker(new MarkerOptions().position
(NurissLife).title("Nuriss LifeCare"));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom
(NurissLife, 15));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(15), 2000,
null);
}
});
super.onActivityCreated(bundle);
}
}
フラグメント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"
android:id="@+id/map_content"
tools:context="com.demo.stuartabhi.nurisslife.Fragment.ContactFragment">
<!-- TODO: Update blank fragment layout -->
<FrameLayout
android:layout_width="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_height="match_parent"
android:id="@+id/map_container">
</FrameLayout>
</FrameLayout>'
マーカーが動作していない(正確な場所が表示されていません)、世界地図 のみがフラッグメント
に表示されますOnMapReady
が動作していない OnMapReadyメソッドで記述されているログにエラーはありません。
LatLng NurissLife inside SupportMapFragment
に記載されている場所にアクセスする方法については、ご相談ください。
ありがとうございます。
私はあなたがあなたのアプリで、あなたに見えるものとは別のインスタンスをであるためにマーカーを追加している 'MapFragment'と思います。 XMLレイアウトで追加した 'MapFragment'の参照を使う必要があります。 – SlashG
public class ContactFragment extendsフラグメント{ プライベートCustomMapFragment mapFragment; プライベートFragmentTransactionトランザクション。 GoogleMap mGoogleMap; @Override publicビューonCreateView(LayoutInflaterインフレータ、ViewGroupコンテナ、 バンドルsavedInstanceState){ View rootView = inflater.inflate(R.layout.fragment_contact、container、false); mapFragment = new CustomMapFragment(); トランザクション= getChildFragmentManager()。beginTransaction(); transaction.add(R.id.map_container、mapFragment).commit(); return rootView;} –
まだ解決策が見つかりませんでした。ネストされたフラグメントを使用しました。ContactFragment extends Fragment、CustomMapFragment extends SupportMApFragment –