您的位置:首页 > 编程语言 > Java开发

使用百度地图API获取经纬度

2016-10-23 18:20 190 查看
注意事项:

1. 使用 百度地图API 需要先申请 ak(API 密钥)。

事例 java 代码如下:

package test;

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

/**
* description: This method was used to get longitude and latitude.
* @param address
*/
public static void test(String address){

// address: 地址      output:输出格式     ak:是申请的百度 api 密钥
String path = "http://api.map.baidu.com/geocoder/v2/?address="+address+"&output=json&ak=####################";
String lineData = null;
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(path);
URLConnection conn = url.openConnection();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

while((lineData = br.readLine()) != null){
sb.append(lineData);
}

JSONObject json = JSONObject.fromObject(sb.toString());
JSONObject result = json.getJSONObject("result").getJSONObject("location");
String lng = result.getString("lng");
String lat = result.getString("lat");

System.out.println("coordinate:("+lng+", "+ lat+");");

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main(String[] args) {
test("中国江苏省连云港市");
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  百度地图 java api
相关文章推荐