Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.munawwar.sultan.NavDrawer;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.MapFragment;
- import com.google.android.gms.maps.model.LatLng;
- import com.munawwar.sultan.R;
- import android.widget.RadioGroup;
- import android.widget.RadioGroup.OnCheckedChangeListener;
- import android.widget.Toast;
- import android.app.Fragment;
- import android.app.FragmentTransaction;
- import android.content.Context;
- import android.location.Criteria;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.os.Bundle;
- import android.view.InflateException;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- public class MapzFragment extends Fragment implements LocationListener {
- private GoogleMap mMap;
- private LocationManager locationManager;
- View view;
- public MapzFragment() {
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- if (view != null) {
- ViewGroup parent = (ViewGroup) view.getParent();
- if (parent != null)
- parent.removeView(view);
- }
- try {
- view = inflater.inflate(R.layout.fragment_mapz, container, false);
- } catch (InflateException e) {
- /* map is already there, just return view as it is */
- }
- return view;
- }
- /*
- * RelativeLayout theLayout = (RelativeLayout) inflater.inflate(
- * R.layout.fragment_mapz, container, false); return theLayout; }
- */
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- } // ending on activity created
- @Override
- public void onResume() {
- super.onResume();
- setUpMapIfNeeded();
- }
- private void setUpMapIfNeeded() {
- if (mMap != null) {
- return;
- }
- mMap = ((MapFragment) getActivity().getFragmentManager()
- .findFragmentById(R.id.map)).getMap();
- // Enabling MyLocation Layer of Google Map
- mMap.setMyLocationEnabled(true);
- // Getting LocationManager object from System Service LOCATION_SERVICE
- locationManager = (LocationManager) getActivity().getSystemService(
- Context.LOCATION_SERVICE);
- // Creating a criteria object to retrieve provider
- Criteria criteria = new Criteria();
- // Getting the name of the best provider
- String provider = locationManager.getBestProvider(criteria, true);
- // provider = locationManager.getBestProvider(criteria, false);
- // Getting Current Location
- Location location = locationManager.getLastKnownLocation(provider);
- // ***************current location*******************
- if (location != null) {
- onLocationChanged(location);
- }
- // location update
- locationManager.requestLocationUpdates(provider, 2000, 0,
- (LocationListener) this);
- // ****************map*************************
- if (mMap == null) {
- return;
- }
- // Initialize map options. For example:
- // mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
- mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
- // ***********RADIO BUTTONS FOR CHANGING MAP************
- RadioGroup rgViews = (RadioGroup) getActivity().findViewById(
- R.id.rg_views);
- rgViews.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(RadioGroup group, int checkedId) {
- if (checkedId == R.id.rb_hybrid) {
- mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
- } else if (checkedId == R.id.rb_satellite) {
- mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
- mMap.setTrafficEnabled(true);
- } else if (checkedId == R.id.rb_terrain) {
- mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
- mMap.setTrafficEnabled(true);
- }
- }
- });
- }
- // *********on location listener implemented functions
- @Override
- public void onProviderDisabled(String provider) {
- Toast.makeText(MapzFragment.this.getActivity(),
- "Disabled provider " + provider, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onProviderEnabled(String provider) {
- Toast.makeText(MapzFragment.this.getActivity(),
- "Enabled new provider " + provider, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onLocationChanged(Location location) {
- // Getting latitude of the current location
- double latitude = location.getLatitude();
- // Getting longitude of the current location
- double longitude = location.getLongitude();
- // Creating a LatLng object for the current location
- LatLng latLng = new LatLng(latitude, longitude);
- // Showing the current location in Google Map
- mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
- // Zoom in the Google Map
- mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
- }
- @Override
- public void onDestroyView() {
- Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));
- FragmentTransaction ft = getActivity().getFragmentManager()
- .beginTransaction();
- ft.remove(fragment).commit();
- super.onDestroyView();
- }
- }
- 12-15 01:25:10.004: E/AndroidRuntime(24087): FATAL EXCEPTION: main
- 12-15 01:25:10.004: E/AndroidRuntime(24087): java.lang.NullPointerException
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.munawwar.sultan.NavDrawer.MapzFragment.setUpMapIfNeeded(MapzFragment.java:127)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.munawwar.sultan.NavDrawer.MapzFragment.onResume(MapzFragment.java:68)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:874)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.BackStackRecord.run(BackStackRecord.java:635)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Handler.handleCallback(Handler.java:615)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Handler.dispatchMessage(Handler.java:92)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Looper.loop(Looper.java:153)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.ActivityThread.main(ActivityThread.java:4987)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at java.lang.reflect.Method.invokeNative(Native Method)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at java.lang.reflect.Method.invoke(Method.java:511)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
- 12-15 01:25:10.004: E/AndroidRuntime(24087): at dalvik.system.NativeStart.main(Native Method)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement