package googleMap;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.*;
import java.util.*; 

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;





public class queryDistance {

	static final String GET_URL = "https://m...content-available-to-author-only...s.com/maps/api/distancematrix/xml?"; 

	public void query(String str1, String str2) throws IOException, DocumentException {
		// TODO 自動產生的方法 Stub
		// 拼湊get請求的URL字串，使用URLEncoder.encode對特殊和不可見字符進行編碼
		String origin_location = URLEncoder.encode(str1, "utf-8");
		String des_location = URLEncoder.encode(str2, "utf-8");
		String getURL = GET_URL + "origins=" + origin_location + "&destinations=" + des_location + "&language=zh_TW&sensor=false";

		URL getUrl = new URL(getURL); 
		// 根據拼湊的URL，打開連接，URL.openConnection函數會根據URL的類型， 
		// 返回不同的URLConnection子類的對象，這裏URL是一個http，因此實際返回的是HttpURLConnection 
		HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection(); 
		// 進行連接，但是實際上get request要在下一句的connection.getInputStream()函數中才會真正發到 
		// 服務器 
		connection.connect(); 
		// 取得輸入流，並使用Reader讀取 
		
		BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
		XMLWriter writer = new XMLWriter( new FileWriter("F:\\gmap.xml"));
		String lines; 
		while ((lines = rd.readLine()) != null){ 
			writer.write(lines);
			writer.write("\n");
		}
		writer.close();
		
		File f = new File("F:\\gmap.xml");
		SAXReader reader = new SAXReader();
		Document doc = reader.read(f);
		Element root = doc.getRootElement();
		Element foo;
		for (Iterator i = root.elementIterator("distance"); i.hasNext();) {
			foo = (Element) i.next();
			System.out.print("車牌號碼:" + foo.elementText("value"));
		}
		
	} 
}