Java调用百度地图api获取经纬度获取地址
时间: 2023-06-17 11:02:34 浏览: 184
您可以使用百度地图提供的Web服务API,通过Java代码调用实现获取经纬度和地址的功能。以下是一些简单的示例代码:
1. 获取经纬度:
```java
import java.net.*;
import java.io.*;
public class GetLocation {
public static void main(String[] args) throws Exception {
String address = "北京市海淀区上地十街10号";
String url = "http://api.map.baidu.com/geocoder/v2/?address=" +
URLEncoder.encode(address, "UTF-8") + "&output=json&ak=你的AK";
URLConnection conn = new URL(url).openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.contains("\"lng\":")) {
System.out.println("经度:" + line.split(":")[1].split(",")[0]);
} else if (line.contains("\"lat\":")) {
System.out.println("纬度:" + line.split(":")[1]);
}
}
br.close();
}
}
```
2. 获取地址:
```java
import java.net.*;
import java.io.*;
public class GetAddress {
public static void main(String[] args) throws Exception {
String location = "40.056878,116.30815";
String url = "http://api.map.baidu.com/geocoder/v2/?location=" +
location + "&output=json&pois=1&ak=你的AK";
URLConnection conn = new URL(url).openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.contains("\"formatted_address\":")) {
System.out.println("地址:" + line.split(":")[1].replace("\"", ""));
}
}
br.close();
}
}
```
其中,AK是您申请的百度地图开放平台的密钥。您需要将代码中的“你的AK”替换为您自己的密钥。
阅读全文