首页 > 编程语言 >java中用高德工具测试两点的距离

java中用高德工具测试两点的距离

时间:2024-07-17 09:53:38浏览次数:19  
标签:origin java String URL 中用 connection import 高德

文章讲述了如何在Java中利用DistinctUtil工具类通过高德地图API获取两个地理位置之间的驾车距离,涉及经纬度处理、URL构建、HTTP请求和JSON解析过程。
摘要由CSDN通过智能技术生成


 

 

代码如下:

String startLongitude = entity.getLONGITUDE(); // 起点(当前位置)经度
String startLatitude = entity.getLATITUDE(); // 起点纬度
String endLongitude = entity.getLO(); // 终点经度
String endLatitude = entity.getLA(); // 终点纬度

String start = startLongitude + "," + startLatitude; //进行格式拼接(当前位置/起点)
String end = endLongitude + "," + endLatitude; //进行格式拼接(目的地当前位置/终点)
String distance = DistinctUtil.getDistance(start, end); //将值给方法并调用,获取距离

建一个工具类来进行调用:

package com.qmq.utils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class DistinctUtil {
private static final String API_KEY = "你的高德key";
private static final String BASE_URL = "https://restapi.amap.com/v3/direction/driving";


public static String getDistance(String origin, String destination) throws Exception {
// String origin = "106.6240283203125,29.656462944878474";
// String destination = "107.51576,26.305805";
System.out.println("接搜的经纬度"+origin+"目的地"+destination);
String url = BASE_URL + "?key=" + API_KEY +
"&origin=" + origin +
"&destination=" + destination +
"&output=json";

HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("GET");
connection.connect();

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
connection.disconnect();

// 使用Fastjson解析JSON字符串
JSONObject jsonResponse = JSONObject.parseObject(response.toString());

// 获取路径信息并提取距离
JSONObject routes = jsonResponse.getJSONObject("route");
JSONArray path = routes.getJSONArray("paths");
JSONObject jsonObject = path.getJSONObject(0);
String distance = jsonObject.get("distance").toString();
double number = Double.parseDouble(distance) / 1000;
System.out.println("距离:" + number + "公里");
return Double.toString(number);
}

}

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_45637260/article/details/137032759

标签:origin,java,String,URL,中用,connection,import,高德
From: https://www.cnblogs.com/wangyu19900123/p/18306660

相关文章

  • JAVA中的运算符
    赋值运算符赋值运算符有一个有趣的特性:它允许创建赋值链。例如,分析下面的代码段:intx,y,z;x=y=z=100;//setx,y,andzto100算术运算符需要注意的地方:(1)当将除法运算符用于整数类型时,其结果不会包含小数部分。(2)求模运算符%,返回除法操作的余数。它既可以用......
  • javaJDK以及IDLE软件的安装
    记录数据开发实习生的学习之路目录记录数据开发实习生的学习之路前言一、java的安装说明二、intelijIDLE的安装总结前言本文用于从零开始,零基础学习java和sql以适应工作要求,博主会将每日学习的进度同步到文章中,希望能给大家一些帮助一、java的安装说明:本......
  • Java计算机毕业设计的家政服务平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着城市化进程的加速和生活节奏的加快,现代家庭对于家政服务的需求日益增长。传统的家政服务方式往往存在信息不对称、服务质量参差不齐、预约流程繁......
  • Java计算机毕业设计的在线英语学习系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:在全球化的今天,英语作为国际交流的重要工具,其学习需求日益增长。然而,传统英语学习方式受限于时间、地点和教学资源,难以满足广大学习者个性化、灵活化......
  • Java计算机毕业设计高校笔记分享系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在高等教育领域,随着知识量的急剧增长和学习方式的多样化,学生如何高效地整理、保存并分享学习笔记成为了一个日益凸显的问题。传统的手写笔记虽然有助......
  • Java计算机毕业设计计算机知识学习论坛设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机知识已成为现代社会不可或缺的一部分。无论是专业从业者还是业余爱好者,都渴望获取最新、最全面的计算机知识。然而,传统......
  • Java计算机毕业设计匿名电子打分系统的设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在高校学生管理中,宿舍作为学生学习生活的重要场所,其管理与评价体系的公正性、透明度直接关系到学生的满意度与校园和谐氛围的构建。传统的宿舍评分方......
  • Java计算机毕业设计基于的校园安全管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着校园规模的不断扩大和师生数量的增加,校园安全管理面临着前所未有的挑战。传统的人工巡逻与监控方式已难以全面覆盖校园的每一个角落,难以实时、高......
  • Java计算机毕业设计口腔牙科诊所管理系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着人们健康意识的增强和口腔健康需求的日益增长,口腔牙科诊所作为提供口腔健康服务的重要机构,其管理效率和患者体验成为了影响行业发展的关键因素。......
  • Java计算机毕业设计高校学生宿舍管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校招生规模的不断扩大,学生宿舍管理成为高校后勤管理工作中的重要一环。传统的人工管理模式已难以满足日益增长的宿舍管理需求,存在效率低下、信......