Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.Activity;
- import android.net.Uri;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- 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.OnMapReadyCallback;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.LatLngBounds;
- public class VehiclesMapFragment extends MapFragment implements OnMapReadyCallback {
- GoogleMap _map;
- private void setUpMapIfNeeded() {
- if (_map == null) {
- //this.getMapAsync(this);
- _map = this.getMap();
- if (_map != null) {
- ReDrawList(_vehicles);
- }
- }
- }
- @Override
- public void onMapReady(GoogleMap googleMap) {
- _map = googleMap;
- ReDrawList(_vehicles);
- }
- public VehiclesMapFragment() {
- }
- VehiclesPosition[] _vehicles = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- _vehicles = (VehiclesPosition[])getArguments().getSerializable("VEHICLES");
- //setUpMapIfNeeded();
- }
- public void ReDrawList(VehiclesPosition[] vehicles)
- {
- if(vehicles != null && vehicles.length > 0 && _map != null)
- {
- LatLngBounds bounds = null;
- for(VehiclesPosition vp : vehicles)
- {
- LatLng latlngPos = vp.GetMapLatLng();
- if(bounds == null)
- bounds = new LatLngBounds(latlngPos, latlngPos);
- else
- bounds = bounds.including(latlngPos);
- _map.addMarker(vp.GetMapMarker()).showInfoWindow();
- }
- try{
- _map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds,100));
- }catch (Exception exx) {
- _map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds,400,400,100));
- }
- }
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
- super.onCreateView(inflater, container, savedInstanceState);
- View v = inflater.inflate(R.layout.fragment_vehicles_map, container, false);
- setUpMapIfNeeded();
- return v;
- }
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- try {
- mListener = (OnFragmentInteractionListener) activity;
- } catch (ClassCastException e) {
- throw new ClassCastException(activity.toString()+ " must implement OnFragmentInteractionListener");
- }
- }
- @Override
- public void onDetach() {
- super.onDetach();
- mListener = null;
- }
- @Override
- public void onResume() {
- super.onResume();
- //setUpMapIfNeeded();
- }
- private OnFragmentInteractionListener mListener;
- public interface OnFragmentInteractionListener {
- public void onFragmentInteraction(Uri uri);
- }
- }
- <fragment xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/map"
- tools:context=".MapsActivity"
- android:name="com.google.android.gms.maps.SupportMapFragment" />
- Bundle args = new Bundle();
- args.putSerializable("VEHICLES",_VehiclesList);
- fragment_units_map = new VehiclesMapFragment();
- _fragment_units_map.setArguments(args);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement