import java.net.HttpURLConnection;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import android.content.Context;
import android.location.Location;
import com.google.android.maps.GeoPoint;
public class PathDownloader
public static ArrayList<GeoPoint> getPath(Context baseContext, Location src, Location dst)
ArrayList<GeoPoint> points = new ArrayList<GeoPoint>(0);
String link = String.format
"http://maps.google.com/maps?f=d&hl=en&saddr=%f,%f&daddr=%f,%f&ie=UTF8&0&om=0&output=kml",
HttpURLConnection urlConnection= null;
urlConnection = (HttpURLConnection)url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(urlConnection.getInputStream());
if(doc.getElementsByTagName("GeometryCollection").getLength() > 0)
String path = doc.getElementsByTagName("GeometryCollection").item(0).getFirstChild().getFirstChild().getFirstChild().getNodeValue();
Pattern pattern = Pattern.compile("(\\d+\\.\\d+),(\\d+\\.\\d+),\\d+\\.\\d+\\ ");
Matcher matcher = pattern.matcher(path);
(int)(Double.parseDouble(matcher.group(2))*1E6),
(int)(Double.parseDouble(matcher.group(1))*1E6)