Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. import android.app.Activity;
  2. import android.net.Uri;
  3. import android.os.Bundle;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7.  
  8. import com.google.android.gms.maps.CameraUpdateFactory;
  9. import com.google.android.gms.maps.GoogleMap;
  10. import com.google.android.gms.maps.MapFragment;
  11. import com.google.android.gms.maps.OnMapReadyCallback;
  12. import com.google.android.gms.maps.model.LatLng;
  13. import com.google.android.gms.maps.model.LatLngBounds;
  14.  
  15. public class VehiclesMapFragment extends MapFragment implements OnMapReadyCallback {
  16.  
  17. GoogleMap _map;
  18.  
  19. private void setUpMapIfNeeded() {
  20.  
  21. if (_map == null) {
  22.  
  23. //this.getMapAsync(this);
  24. _map = this.getMap();
  25.  
  26. if (_map != null) {
  27. ReDrawList(_vehicles);
  28. }
  29. }
  30. }
  31.  
  32. @Override
  33. public void onMapReady(GoogleMap googleMap) {
  34. _map = googleMap;
  35. ReDrawList(_vehicles);
  36. }
  37.  
  38.  
  39.  
  40. public VehiclesMapFragment() {
  41.  
  42. }
  43.  
  44. VehiclesPosition[] _vehicles = null;
  45. @Override
  46. public void onCreate(Bundle savedInstanceState) {
  47. super.onCreate(savedInstanceState);
  48. _vehicles = (VehiclesPosition[])getArguments().getSerializable("VEHICLES");
  49.  
  50. //setUpMapIfNeeded();
  51.  
  52. }
  53.  
  54.  
  55.  
  56. public void ReDrawList(VehiclesPosition[] vehicles)
  57. {
  58. if(vehicles != null && vehicles.length > 0 && _map != null)
  59. {
  60.  
  61. LatLngBounds bounds = null;
  62. for(VehiclesPosition vp : vehicles)
  63. {
  64. LatLng latlngPos = vp.GetMapLatLng();
  65.  
  66. if(bounds == null)
  67. bounds = new LatLngBounds(latlngPos, latlngPos);
  68. else
  69. bounds = bounds.including(latlngPos);
  70.  
  71. _map.addMarker(vp.GetMapMarker()).showInfoWindow();
  72.  
  73. }
  74.  
  75. try{
  76. _map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds,100));
  77. }catch (Exception exx) {
  78. _map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds,400,400,100));
  79. }
  80. }
  81. }
  82.  
  83. @Override
  84. public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
  85. super.onCreateView(inflater, container, savedInstanceState);
  86. View v = inflater.inflate(R.layout.fragment_vehicles_map, container, false);
  87.  
  88. setUpMapIfNeeded();
  89.  
  90.  
  91. return v;
  92. }
  93.  
  94.  
  95.  
  96. @Override
  97. public void onAttach(Activity activity) {
  98. super.onAttach(activity);
  99. try {
  100. mListener = (OnFragmentInteractionListener) activity;
  101. } catch (ClassCastException e) {
  102. throw new ClassCastException(activity.toString()+ " must implement OnFragmentInteractionListener");
  103. }
  104. }
  105.  
  106. @Override
  107. public void onDetach() {
  108. super.onDetach();
  109. mListener = null;
  110. }
  111.  
  112. @Override
  113. public void onResume() {
  114. super.onResume();
  115. //setUpMapIfNeeded();
  116. }
  117.  
  118. private OnFragmentInteractionListener mListener;
  119.  
  120. public interface OnFragmentInteractionListener {
  121. public void onFragmentInteraction(Uri uri);
  122. }
  123.  
  124. }
  125.  
  126. <fragment xmlns:android="http://schemas.android.com/apk/res/android"
  127. xmlns:tools="http://schemas.android.com/tools"
  128. android:layout_width="match_parent"
  129. android:layout_height="match_parent"
  130. android:id="@+id/map"
  131. tools:context=".MapsActivity"
  132. android:name="com.google.android.gms.maps.SupportMapFragment" />
  133.  
  134. Bundle args = new Bundle();
  135. args.putSerializable("VEHICLES",_VehiclesList);
  136. fragment_units_map = new VehiclesMapFragment();
  137. _fragment_units_map.setArguments(args);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement