Kostya Khuta Kostya Khuta - 1 year ago 167
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.

Answer Source

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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download