Java两地经纬度通过高德api获取两地距离(公里)
要使用Java通过高德API获取两地之间的距离(公里),你需要做以下几步:
- 获取高德API的Key。
- 使用高德的地理编码服务获取两地的经纬度。
- 使用高德的路径规划服务计算两地距离。
以下是一个简单的Java代码示例,展示了如何实现这些步骤:
import okhttp3.*;
import java.io.IOException;
public class GaoDeApiExample {
private static final String GAODE_API_KEY = "你的高德API Key";
private static final String DISTANCE_API = "https://restapi.amap.com/v3/distance?key=%s&origins=%s&destination=%s&type=1";
public static void main(String[] args) throws IOException {
String from = "北京天安门"; // 起点地名
String to = "上海浦东国际机场"; // 终点地名
String distanceUrl = String.format(DISTANCE_API, GAODE_API_KEY, from, to);
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(distanceUrl)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
String result = response.body().string();
System.out.println("距离(公里): " + result);
}
}
});
}
}
请确保你已经替换了你的高德API Key
为你从高德官网获取的API Key,并且你的API Key有调用路径规划服务的权限。
注意:上述代码使用了OkHttp库来发送HTTP请求,你需要在你的项目中添加这个依赖。
<!-- 在pom.xml中添加OkHttp依赖 -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
这个示例代码是一个简化的版本,仅用于说明如何调用高德API获取两地距离。在实际应用中,你可能需要处理异常情况、错误处理、并发请求等问题。
评论已关闭