Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.16 KB | None | 0 0
  1. package com.munawwar.sultan.NavDrawer;
  2.  
  3. import com.google.android.gms.maps.CameraUpdateFactory;
  4. import com.google.android.gms.maps.GoogleMap;
  5. import com.google.android.gms.maps.MapFragment;
  6. import com.google.android.gms.maps.model.LatLng;
  7. import com.munawwar.sultan.R;
  8.  
  9. import android.widget.RadioGroup;
  10. import android.widget.RadioGroup.OnCheckedChangeListener;
  11. import android.widget.Toast;
  12.  
  13. import android.app.Fragment;
  14. import android.app.FragmentTransaction;
  15. import android.content.Context;
  16. import android.location.Criteria;
  17. import android.location.Location;
  18. import android.location.LocationListener;
  19. import android.location.LocationManager;
  20. import android.os.Bundle;
  21. import android.view.InflateException;
  22. import android.view.LayoutInflater;
  23. import android.view.View;
  24. import android.view.ViewGroup;
  25.  
  26. public class MapzFragment extends Fragment implements LocationListener {
  27. private GoogleMap mMap;
  28. private LocationManager locationManager;
  29.  
  30. View view;
  31.  
  32. public MapzFragment() {
  33. }
  34.  
  35. @Override
  36. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  37. Bundle savedInstanceState) {
  38.  
  39. if (view != null) {
  40. ViewGroup parent = (ViewGroup) view.getParent();
  41. if (parent != null)
  42. parent.removeView(view);
  43. }
  44. try {
  45. view = inflater.inflate(R.layout.fragment_mapz, container, false);
  46. } catch (InflateException e) {
  47. /* map is already there, just return view as it is */
  48. }
  49. return view;
  50. }
  51.  
  52. /*
  53. * RelativeLayout theLayout = (RelativeLayout) inflater.inflate(
  54. * R.layout.fragment_mapz, container, false); return theLayout; }
  55. */
  56. @Override
  57. public void onActivityCreated(Bundle savedInstanceState) {
  58. super.onActivityCreated(savedInstanceState);
  59.  
  60. } // ending on activity created
  61.  
  62. @Override
  63. public void onResume() {
  64. super.onResume();
  65. setUpMapIfNeeded();
  66. }
  67.  
  68. private void setUpMapIfNeeded() {
  69. if (mMap != null) {
  70. return;
  71. }
  72. mMap = ((MapFragment) getActivity().getFragmentManager()
  73. .findFragmentById(R.id.map)).getMap();
  74.  
  75. // Enabling MyLocation Layer of Google Map
  76. mMap.setMyLocationEnabled(true);
  77.  
  78. // Getting LocationManager object from System Service LOCATION_SERVICE
  79. locationManager = (LocationManager) getActivity().getSystemService(
  80. Context.LOCATION_SERVICE);
  81.  
  82. // Creating a criteria object to retrieve provider
  83. Criteria criteria = new Criteria();
  84.  
  85. // Getting the name of the best provider
  86. String provider = locationManager.getBestProvider(criteria, true);
  87.  
  88. // provider = locationManager.getBestProvider(criteria, false);
  89. // Getting Current Location
  90. Location location = locationManager.getLastKnownLocation(provider);
  91. // ***************current location*******************
  92. if (location != null) {
  93. onLocationChanged(location);
  94. }
  95. // location update
  96. locationManager.requestLocationUpdates(provider, 2000, 0,
  97. (LocationListener) this);
  98. // ****************map*************************
  99. if (mMap == null) {
  100. return;
  101. }
  102.  
  103. // Initialize map options. For example:
  104. // mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
  105.  
  106. mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
  107. // ***********RADIO BUTTONS FOR CHANGING MAP************
  108. RadioGroup rgViews = (RadioGroup) getActivity().findViewById(
  109. R.id.rg_views);
  110. rgViews.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  111. @Override
  112. public void onCheckedChanged(RadioGroup group, int checkedId) {
  113. if (checkedId == R.id.rb_hybrid) {
  114. mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
  115. } else if (checkedId == R.id.rb_satellite) {
  116. mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
  117. mMap.setTrafficEnabled(true);
  118. } else if (checkedId == R.id.rb_terrain) {
  119. mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
  120. mMap.setTrafficEnabled(true);
  121. }
  122. }
  123. });
  124.  
  125. }
  126.  
  127. // *********on location listener implemented functions
  128. @Override
  129. public void onProviderDisabled(String provider) {
  130. Toast.makeText(MapzFragment.this.getActivity(),
  131. "Disabled provider " + provider, Toast.LENGTH_SHORT).show();
  132. }
  133.  
  134. @Override
  135. public void onProviderEnabled(String provider) {
  136. Toast.makeText(MapzFragment.this.getActivity(),
  137. "Enabled new provider " + provider, Toast.LENGTH_SHORT).show();
  138. }
  139.  
  140. @Override
  141. public void onStatusChanged(String provider, int status, Bundle extras) {
  142. // TODO Auto-generated method stub
  143. }
  144.  
  145. @Override
  146. public void onLocationChanged(Location location) {
  147.  
  148. // Getting latitude of the current location
  149. double latitude = location.getLatitude();
  150.  
  151. // Getting longitude of the current location
  152. double longitude = location.getLongitude();
  153.  
  154. // Creating a LatLng object for the current location
  155. LatLng latLng = new LatLng(latitude, longitude);
  156.  
  157. // Showing the current location in Google Map
  158. mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
  159.  
  160. // Zoom in the Google Map
  161. mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
  162.  
  163. }
  164.  
  165.  
  166. @Override
  167. public void onDestroyView() {
  168.  
  169. Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));
  170. FragmentTransaction ft = getActivity().getFragmentManager()
  171. .beginTransaction();
  172. ft.remove(fragment).commit();
  173. super.onDestroyView();
  174. }
  175.  
  176. }
  177.  
  178. 12-15 01:25:10.004: E/AndroidRuntime(24087): FATAL EXCEPTION: main
  179. 12-15 01:25:10.004: E/AndroidRuntime(24087): java.lang.NullPointerException
  180. 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.munawwar.sultan.NavDrawer.MapzFragment.setUpMapIfNeeded(MapzFragment.java:127)
  181. 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.munawwar.sultan.NavDrawer.MapzFragment.onResume(MapzFragment.java:68)
  182. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:874)
  183. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
  184. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.BackStackRecord.run(BackStackRecord.java:635)
  185. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
  186. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
  187. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Handler.handleCallback(Handler.java:615)
  188. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Handler.dispatchMessage(Handler.java:92)
  189. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.os.Looper.loop(Looper.java:153)
  190. 12-15 01:25:10.004: E/AndroidRuntime(24087): at android.app.ActivityThread.main(ActivityThread.java:4987)
  191. 12-15 01:25:10.004: E/AndroidRuntime(24087): at java.lang.reflect.Method.invokeNative(Native Method)
  192. 12-15 01:25:10.004: E/AndroidRuntime(24087): at java.lang.reflect.Method.invoke(Method.java:511)
  193. 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
  194. 12-15 01:25:10.004: E/AndroidRuntime(24087): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
  195. 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