Google Maps V2 не работает в sherlockFragment

Я работаю над приложением, в котором мне нужно настроить навигационную панель с помощью библиотеки sherlock. В навигационном ящике я использую фрагмент Шерлока, но не получаю объект Google, когда пытаюсь получить карты. Используя эту строку googleMap = ((SupportMapFragment)fragment).getMap(); приложение вылетает на этой линии. Без этой строки карты могут отображаться на экране, но я должен получить местоположение.

public class Location extends SherlockFragment implements   View.OnClickListener {

    GoogleMap googleMap;
    Fragment fragment;
    Button arrived_mbtn;
    TextView current_mtv,request_mtv;
    LinearLayout btn_mlayout,journey_mlayout;
    View rootView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        rootView  = inflater.inflate(R.layout.fragment_location, container, false);
        fragment = getFragmentManager().findFragmentById(R.id.map);
        googleMap = ((SupportMapFragment)fragment).getMap();
        googleMap.setMyLocationEnabled(true);
        googleMap.addMarker(new MarkerOptions().position(new LatLng(41.009471, 28.916134)).title("baslik"));
        googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(41.009471, 28.916134), 12.0f));
        btn_mlayout = (LinearLayout)rootView.findViewById(R.id.layoutbtn);
        journey_mlayout = (LinearLayout)rootView.findViewById(R.id.layoutjourney);


        return rootView;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.e("you are in oncreate", "dfsdfsd");
        setHasOptionsMenu(true);

    }

    @Override
    public void onDestroyView() {
        // TODO Auto-generated method stub



        try {

            if (fragment != null) {

                fragment = getFragmentManager().findFragmentById(R.id.map);

                FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
                ft.remove(fragment);
                ft.commit();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        Thread.interrupted();
        super.onPause();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId())
        {
            case R.id.tvrequest:
               /* btn_mlayout.setVisibility(View.GONE);
                arrived_mbtn.setVisibility(View.GONE);
                journey_mlayout.setVisibility(View.VISIBLE);
                getActivity().setTitle("Start a Ride");*/

            /*   Fragment fragment = new Driver_Maps_View();///change your frament name with history only..
               FragmentManager fragmentManager = getFragmentManager();
               fragmentManager.beginTransaction()                     .replace(R.id.content_frame, fragment).addToBackStack(null).commit();*/
                break;
        }
    }
}

Я перепробовал все, но не получил желаемого результата.

0 ответов

Другие вопросы по тегам