我很难将我的谷歌地图片段实现到一个活动中,而我从其他所有内容中读到的内容都变得更加困惑。
@Override
public void onStart() {
super.onStart();
try {
mListener = (OnFragmentInteractionListener) getActivity();
} catch (ClassCastException e) {
throw new ClassCastException(getActivity().toString()
+ " must implement OnFragmentInteractionListener");
}
}
此部分崩溃我的应用程序给我的错误必须实现OnFragmentInteractionListener。我发现这让我感到困惑,因为我认为它是投掷的一部分,它会阻止应用程序崩溃,无论错误是否存在。
在我的主要方法中,我有
private void addMapFragment(){
android.support.v4.app.FragmentManager manager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction transaction = manager.beginTransaction();
MapFragment fragment = new MapFragment();
transaction.add(R.id.mapView, fragment);
transaction.commit();
}
在onCreate方法中调用。老实说,我只是不知道在哪里看。我觉得我有别的东西导致崩溃,但我无法弄清楚它是什么。所以我不知道这是否相关,但这里的代码也与onStart方法存在于同一个文件中
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.map_fragment, container, false);
mMapView = (MapView) v.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume();
try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
googleMap = mMapView.getMap();
//Latitude and longitude ????
double latitude = 17.385044;
double longitude = 78.486671;
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("Hello Maps");
marker.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
googleMap.addMarker(marker);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(17.385044, 78.486671)).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
return v;
}