废话不多说,直接上代码:
package com.gamesvr.framework.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import net.sf.json.JSONObject;
public class GetLatAndLngByBaidu {
public static String getCoordinate(String lng,String lat) throws IOException {
StringBuilder resultData = new StringBuilder();
//秘钥换成你的秘钥,申请地址在下边
String url ="http://api.map.baidu.com/geocoder/v2/?ak="+"你的秘钥"+"&location=" + lat + ","+ lng + "&output=json&pois=1";
URL myURL = null;
URLConnection httpsConn = null;
try {
myURL = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
InputStreamReader insr = null;
BufferedReader br = null;
try {
httpsConn = (URLConnection) myURL.openConnection();// 不使用代理
if (httpsConn != null) {
insr = new InputStreamReader( httpsConn.getInputStream(), "UTF-8");
br = new BufferedReader(insr);
String data = null;
while((data= br.readLine())!=null){
resultData.append(data);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(insr!=null){
insr.close();
}
if(br!=null){
br.close();
}
}
String province= JSONObject.fromObject(resultData.toString()).getJSONObject("result")
.getJSONObject("addressComponent").getString("province");
return province;
}
public static void main(String[] args) throws IOException {
String o = GetLatAndLngByBaidu.getCoordinate("117.2317","39.5427");
}
}
这里是获取的省一级的名字,如果是想获取城市的名字,把下边这句话的province改成city即可
String city= JSONObject.fromObject(resultData.toString()).getJSONObject("result")
.getJSONObject("addressComponent").getString("city");
运行结果:
秘钥申请地址:地址
关注我,获取400个的赚钱金点子,轻松开启程序员的副业生涯