資源簡介
根據(jù)GoogleMapApi給出地名獲取經(jīng)緯度,給出經(jīng)緯度獲取地名(Java版本)
RT
代碼片段和文件信息
package?cn.liushaoxiong.www;
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.UnsupportedEncodingException;
import?java.net.MalformedURLException;
import?java.net.URL;
import?java.net.URLConnection;
import?cn.liushaoxiong.util.Coordinate;
public?class?Demo?{
public?static?void?main(String[]?args)?{
String?addr?=?GetAddr(“35.8616600“?“104.1953970“);
System.out.println(addr);
//getCoordinate(“中國“);
}
/**
?*?根據(jù)經(jīng)緯度反向解析地址,有時(shí)需要多嘗試幾次
?*?注意:(摘自:http://code.google.com/intl/zh-CN/apis/maps/faq.html
?*?提交的地址解析請(qǐng)求次數(shù)是否有限制?)?如果在?24?小時(shí)時(shí)段內(nèi)收到來自一個(gè)?IP?地址超過?15000?個(gè)地址解析請(qǐng)求,?或從一個(gè)?IP
?*?地址提交的地址解析請(qǐng)求速率過快,Google?地圖?API?編碼器將用?620?狀態(tài)代碼開始響應(yīng)。?如果地址解析器的使用仍然過多,則從該?IP
?*?地址對(duì)?Google?地圖?API?地址解析器的訪問可能被永久阻止。
?*?
?*?@param?latitude
?*????????????緯度
?*?@param?longitude
?*????????????經(jīng)度
?*?@return
?*/
public?static?String?GetAddr(String?latitude?String?longitude)?{
String?addr?=?““;
//?也可以是http://maps.google.cn/maps/geo?output=csv&key=abcdef&q=%s%s,不過解析出來的是英文地址
//?密鑰可以隨便寫一個(gè)key=abc
//?output=csv也可以是xml或json,不過使用csv返回的數(shù)據(jù)最簡潔方便解析
String?url?=?String.format(
“http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=%s%s“
latitude?longitude);
URL?myURL?=?null;
URLConnection?httpsConn?=?null;
try?{
myURL?=?new?URL(url);
}?catch?(MalformedURLException?e)?{
e.printStackTrace();
return?null;
}
try?{
httpsConn?=?(URLConnection)?myURL.openConnection();
if?(httpsConn?!=?null)?{
InputStreamReader?insr?=?new?InputStreamReader(
httpsConn.getInputStream()?“UTF-8“);
BufferedReader?br?=?new?BufferedReader(insr);
String?data?=?null;
if?((data?=?br.readLine())?!=?null)?{
System.out.println(data);
String[]?retList?=?data.split(““);
if?
評(píng)論
共有 條評(píng)論