我正在使用SupportMapFragment在我的活动中显示谷歌地图。但是活动必须声明为FragmentActivity。有没有办法在Activity而不是FragmentActivity中使用它?这是我的工作:
在xml中,我使用:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在课程档案中:
public class MapActivity extends FragmentActivity {
Context context;
GPSTracker gps;
Location location;
GoogleMap mMap;
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_map);
gps = new GPSTracker(this);
location = gps.getLocation();
mMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng((locLat + location.getLatitude()) / 2,
(locLng + location.getLongitude()) / 2), 12.0f));
}
答案 0 :(得分:0)
正确的做法是:
您的xml代码:
<com.google.android.gms.maps.MapView
android:id="@+id/map_detail"
android:layout_width="match_parent"
android:layout_height="246dp" />
你的java代码放入活动来膨胀片段:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, new MapFragment()).commit();
通过这种方式,您可以在活动类中实现Activity,在片段类中实现Fragment。