0

我使用 FragmentActivty 设置了谷歌地图(public class MyGoogleMap extends FragmentActivity { },现在我想使用 Fragment 设置谷歌地图。(public class MyGoogleMap extends Fragment { })。是否可能,如果可以,如果您有任何想法,请与我分享。谢谢。

4

1 回答 1

1

为地图创建一个框架,将其添加到您的 xml 布局中

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map_container">

<!-- The map fragments will go here --> 
</RelativeLayout>

不要在您的片段类中的 xml 中包含 class="com.google.android.gms.maps.SupportMapFragment" 确实在 onActivityCreated 中手动获取它

 @Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    FragmentManager fm = getChildFragmentManager();
    fragment = (SupportMapFragment) fm.findFragmentById(R.id.map_container);
    if (fragment == null) {
        fragment = SupportMapFragment.newInstance();
        fm.beginTransaction().replace(R.id.map_container, fragment).commit();
    }


/***at this time google play services is not initialized so get map and add what ever you want to it in onResume() or onStart() **/
}

@Override
    public void onResume() {
        super.onResume();
        if (map == null) {
            map = fragment.getMap();
            map.addMarker(new MarkerOptions().position(new LatLng(0, 0)));
        }
}
于 2016-04-19T11:25:46.930 回答