J'essaie de créer une application Java simple. Il veut être en mesure d'entrer l'origine et la destination et de sortir le chemin qu'il prend en XML.API Google Directions accessible via Java
C'est ce que j'ai jusqu'ici. Mon objectif principal est d'obtenir une sortie XML sur la console.
import java.net.HttpURLConnection;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class directionService{
public static void main(String[] args) {
String start = "geelong";
String finish = "melbourne";
String region = "au";
System.out.println(calculateRoute(start,finish,region));
}
private static String calculateRoute(String start, String finish, String region){
String result = "";
String urlString = "http://maps.googleapis.com/maps/api/directions/json?sensor=false&origin="+start+"&destination="+finish;
System.out.println(urlString);
try{
URL urlGoogleDirService = new URL(urlString);
HttpURLConnection urlGoogleDirCon = (HttpURLConnection)urlGoogleDirService.openConnection();
urlGoogleDirCon.setAllowUserInteraction(false);
urlGoogleDirCon.setDoInput(true);
urlGoogleDirCon.setDoOutput(false);
urlGoogleDirCon.setUseCaches(true);
urlGoogleDirCon.setRequestMethod("GET");
urlGoogleDirCon.connect();
DocumentBuilderFactory factoryDir = DocumentBuilderFactory.newInstance();
DocumentBuilder parserDirInfo = factoryDir.newDocumentBuilder();
Document docDir = parserDirInfo.parse(urlGoogleDirCon.getInputStream());
urlGoogleDirCon.disconnect();
result = docDir.toString();
return result;
}
catch(Exception e)
{
System.out.println(e);
return null;
}
};
}
Il jette cette erreur
java.net.ConnectException: Connection timed out: connect
J'ai essayé d'obtenir des données d'autres webservices et il retourne une décharge xml bien . J'ai lu à propos d'avoir une clé dans la documentation google, est-ce nécessaire? Cela semble fonctionner correctement si je saisis directement la requête dans mon navigateur.
http://maps.googleapis.com/maps/api/directions/xml?sensor=false&origin=geelong&destination=melbourne
Toute aide serait grandement appriciated!
Merci, Steve
Je viens de donner ça et rien. Je l'ai essayé sur les valeurs 0,15000 et 150000. java.net.ConnectException: La connexion a expiré: connect. – Steveo
J'ai également essayé de changer le HttpURLConnection.setFollowRedirects (faux); mais pas de changement. – Steveo