Académique Documents
Professionnel Documents
Culture Documents
track_car4;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.directions.route.AbstractRouting;
import com.directions.route.Route;
import com.directions.route.RouteException;
import com.directions.route.Routing;
import com.directions.route.RoutingListener;
import com.example.hp.track_car4.directionhelpers.TaskLoadedCallback;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.Polyline;
import com.google.android.gms.maps.model.PolylineOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.example.hp.track_car4.directionhelpers.FetchURL;
import java.util.ArrayList;
import java.util.List;
TextView routeTV,distance,duration;
MarkerOptions p1,p2,place1,place2;
private List<Polyline> polylines;
private static final int[] COLORS = new int[]
{R.color.colorPrimary,R.color.primary_dark_material_light};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.mainlayout);
// Obtain the SupportMapFragment and get notified when the map is ready to
be used.
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
polylines=new ArrayList<>();
routeTV=findViewById(R.id.route);
distance=findViewById(R.id.distance);
duration=findViewById(R.id.duration);
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.addMarker(place1);
mMap.addMarker(place2);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new
LatLng(place1.getPosition().latitude, place1.getPosition().longitude), 15.0f));
}
@Override
public void onRoutingFailure(RouteException e) {
if(e != null) {
Toast.makeText(this, "Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}else {
Toast.makeText(this, "Something went wrong, Try again",
Toast.LENGTH_SHORT).show();
}
}
@Override
public void onRoutingStart() {
}
@Override
public void onRoutingSuccess(ArrayList<Route> route, int shortestRouteIndex)
{
mMap.moveCamera(center);
if(polylines.size()>0) {
for (Polyline poly : polylines) {
poly.remove();
}
}
String str_route=String.valueOf(i+1);
routeTV.setText("Routes: "+str_route);
String str_distance=String.valueOf(route.get(i).getDistanceValue());
distance.setText("Distance: "+str_distance);
String str_duration=String.valueOf(route.get(i).getDurationValue());
duration.setText("Duration: "+str_duration);
//Toast.makeText(getApplicationContext(),"Route "+ (i+1) +": distance -
"+ route.get(i).getDistanceValue()+": duration - "+
route.get(i).getDurationValue(),Toast.LENGTH_SHORT).show();
}
// Start marker
MarkerOptions options = new MarkerOptions();
options.position(place1.getPosition());
//options.icon(BitmapDescriptorFactory.fromResource(R.drawable.common_full_open_on_
phone));
mMap.addMarker(options);
// End marker
options = new MarkerOptions();
options.position(place2.getPosition());
//options.icon(BitmapDescriptorFactory.fromResource(R.drawable.common_google_signin
_btn_icon_dark));
mMap.addMarker(options);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new
LatLng(place1.getPosition().latitude, place1.getPosition().longitude), 15.0f));
}
@Override
public void onRoutingCancelled() {
Toast.makeText(getApplicationContext(),"Route "
,Toast.LENGTH_SHORT).show();