Does Google Maps API add-on for Android SDK support the routing(directions) functions on Google maps. If No, is there any good method to be used in implementing a directions for Google maps on android
The DrivingDirection package (com.google.googlenav.DrivingDirection) is removed since Android SDK 1.1.
to get driving directions from src to destination.
use following method to get driving directions in arrayList
private ArrayList<String> getDirectionData(String srcPlace, String destPlace) {
String urlString = "http://maps.google.com/maps?f=d&hl=en&saddr="
+ srcPlace + "&daddr=" + destPlace
+ "&ie=UTF8&0&om=0&output=kml";
Log.d("URL", urlString);
Document doc = null;
HttpURLConnection urlConnection = null;
URL url = null;
ArrayList<String> pathConent = new ArrayList<String>();
try {
url = new URL(urlString.toString());
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(urlConnection.getInputStream());
} catch (Exception e) {
}
NodeList nl = doc.getElementsByTagName("LineString");
for (int s = 0; s < nl.getLength(); s++) {
Node rootNode = nl.item(s);
NodeList configItems = rootNode.getChildNodes();
for (int x = 0; x < configItems.getLength(); x++) {
Node lineStringNode = configItems.item(x);
NodeList path = lineStringNode.getChildNodes();
pathConent.add(path.item(0).getNodeValue());
}
}
placeMarks=new ArrayList<String>();
NodeList place=doc.getElementsByTagName("Placemark");
for(int i=0;i<place.getLength();i++){
Node root=place.item(i);
NodeList config=root.getChildNodes();
Node placenode=config.item(0);
NodeList name=placenode.getChildNodes();
placeMarks.add(name.item(0).getNodeValue());
Log.i("Node Value: ", ""+name.item(0).getNodeValue());
}
placeMarks.remove((placeMarks.size()-1));
Log.i("LineString: ", pathConent.get(0));
ArrayList<String> tmpcoords=new ArrayList<String>();
for(int i=0;i<pathConent.size();i++){
tmpcoords.addAll(Arrays.asList(pathConent.get(i).split(" ")));
}
//String[] tempContent = pathConent.split(" ");
return placeMarks;
}