Kostya Khuta Kostya Khuta - 6 months ago 57
Android Question

Get the distance between two locations in android?

i need to get distance between two location, but i need to get distance like blue line in the picture.

I try next:

public double getDistance(LatLng LatLng1, LatLng LatLng2) {
double distance = 0;
Location locationA = new Location("A");
Location locationB = new Location("B");
distance = locationA.distanceTo(locationB);

return distance;

but i get red line distance.


Use the Google Maps Directions API. You'll need to request the directions over HTTP. You can do this directly from Android, or via your own server.

For example, directions from Montreal to Toronto:

GET http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&sensor=false

You'll end up with some JSON. In routes[].legs[].distance, you'll get an object like this:

     "legs" : [
           "distance" : {
              "text" : "542 km",
              "value" : 542389

You can also get the polyline information directly from the response object.