java 根据地址返回经纬度
时间: 2023-07-30 22:08:16 浏览: 49
要根据地址返回经纬度,可以使用以下步骤:
1. 使用 Java 的网络请求库发送 HTTP 请求,调用地图 API,传入地址参数获取返回结果。比如使用 Java 的 HttpURLConnection 或者 Apache HttpClient。
2. 解析返回的 JSON 数据,获取经纬度信息。
3. 处理解析得到的经纬度信息,可以将其存储到数据库中,或者直接用来显示地图。
以下是一个示例代码,使用高德地图 API:
```
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class GeocodingExample {
public static void main(String[] args) throws Exception {
String address = "北京市海淀区上地十街10号";
String url = "https://restapi.amap.com/v3/geocode/geo?key=your_key&address=" + URLEncoder.encode(address, "UTF-8");
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
connection.disconnect();
String json = response.toString();
String[] location = json.split(",")[0].split(":")[1].replaceAll("\"", "").split(" ");
String longitude = location[0];
String latitude = location[1];
System.out.println("经度: " + longitude);
System.out.println("纬度: " + latitude);
}
}
```
在这个示例代码中,我们使用了高德地图 API,通过地址参数获取经纬度信息。其中 `your_key` 需要替换成你自己的 API Key。