我使用 FragmentActivty 设置了谷歌地图(public class MyGoogleMap extends FragmentActivity { }
,现在我想使用 Fragment 设置谷歌地图。(public class MyGoogleMap extends Fragment { }
)。是否可能,如果可以,如果您有任何想法,请与我分享。谢谢。
问问题
87 次
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 回答