将谷歌地图片段实施为活动

时间:2015-11-22 00:33:11

标签: android

我很难将我的谷歌地图片段实现到一个活动中,而我从其他所有内容中读到的内容都变得更加困惑。

 @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;
}

0 个答案:

没有答案