百度地图坐标拾取java_java调用百度地图获取经纬度坐标

public Map getLatAndLngByAddress(String addr){

String address = "";

String lat = "";

String lng = "";

try {

address = java.net.URLEncoder.encode(addr,"UTF-8");

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

String url = String.format("http://api.map.baidu.com/geocoder/v2/?"

+"ak=4rcKAZKG9OIl0wDkICSLx8BA&output=json&address=%s",address);

URL myURL = null;

URLConnection httpsConn = null;

//进行转码

try {

myURL = new URL(url);

}

catch (MalformedURLException e) {

}

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) {

lat = data.substring(data.indexOf("\"lat\":")

+ ("\"lat\":").length(), data.indexOf("},\"precise\""));

lng = data.substring(data.indexOf("\"lng\":")

+ ("\"lng\":").length(), data.indexOf(",\"lat\""));

}

insr.close();

}

} catch (IOException e) {

}

Map map = new HashMap();

map.put("lat", new BigDecimal(lat));

map.put("lng", new BigDecimal(lng));

return map;

}

//参考博客:http://blog.csdn.net/u013142781/article/details/47085369

你可能感兴趣的:(百度地图坐标拾取java)