该工具是基于高德地图API和Java语言开发的,可以快速获取多个地址间的距离信息,并且支持中转站计算。以下是使用该工具的详细步骤。
Java 批量获取地址间距离工具(支持中转站)攻略
该工具是基于高德地图API和Java语言开发的,可以快速获取多个地址间的距离信息,并且支持中转站计算。以下是使用该工具的详细步骤。
1. 获取高德地图API Key
首先需要到高德地图开发者平台注册一个开发者账号,并创建应用获取API Key。在创建应用时,需要注意选择正确的服务类型,本工具使用的是“WEB服务”,并开通“地图API-距离测量API”和“地图API-批量请求接口”两个服务。
2. 下载并配置工具
该工具的源码托管在GitHub上,可以通过以下链接下载:https://github.com/leowang721/batch-distance。下载完成后,将代码导入至Java开发环境(推荐使用IDEA),并将获取到的API Key配置在代码中。
private static final String AMAP_KEY = "your_amap_key"; // 将your_amap_key替换为你的API Key
3. 配置输入文件
在工具代码中,需要将输入文件的路径配置正确。输入文件是一个CSV格式的地址列表,每行一条记录,包含如下信息:
地址名称,所在城市,所属区县,所在省份,详细地址
其中,前四个字段用于进行地图API的地理编码,获取该地址的经纬度。详细地址字段可选,如果有该信息则可以增加地理编码的准确度。例如:
北京大学,北京市,海淀区,北京市,海淀区颐和园路5号北京大学
4. 执行工具
将工具代码执行即可生成输出文件,其中包含输入的地址间的距离信息。如果需要计算中转站,则需要在执行时传入中转站地址列表并进行相应的设置。例如:
List<List<Address>> allBatchAddresses = new ArrayList<>();
allBatchAddresses.add(batchAddresses1);
allBatchAddresses.add(batchAddresses2); // batchAddresses1和batchAddresses2是包含地址信息的List对象
double maxMiles = 30; // 最大里程为30公里
int maxCount = 4; // 最大站点数为4个
Map<String, Map<String, List<Address>>> results = BatchDistance.getDistanceBetweenBatches(addrsMap, allBatchAddresses, maxMiles, maxCount, AMAP_KEY);
示例1:计算两个城市之间的距离
输入文件如下:
北京市东城区故宫,北京市,东城区,北京市,北京市东城区景山前街4号故宫博物院
上海市黄浦区外滩,上海市,黄浦区,上海市,上海市黄浦区外滩
执行代码后,输出结果如下:
北京市东城区故宫 <==> 上海市黄浦区外滩: 1201.15 km
示例2:计算三个城市之间的距离(包含中转站计算)
输入文件如下:
北京市东城区故宫,北京市,东城区,北京市,北京市东城区景山前街4号故宫博物院
上海市黄浦区外滩,上海市,黄浦区,上海市,上海市黄浦区外滩
杭州市西湖区,杭州市,西湖区,浙江省,浙江省杭州市西湖区留下大道555号
中转站城市列表如下:
杭州滨江区
执行代码后,输出结果如下:
北京市东城区故宫 <==> 杭州滨江区 <==> 上海市黄浦区外滩: 2137.41 km
北京市东城区故宫 <==> 杭州市西湖区 <==> 上海市黄浦区外滩: 2397.03 km
上海市黄浦区外滩 <==> 杭州市西湖区 <==> 北京市东城区故宫: 2411.99 km
至此,Java 批量获取地址间距离工具(支持中转站)的攻略已经介绍完毕。
本文标题为:Java 批量获取地址间距离工具(支持中转站)
基础教程推荐
- Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证) 2023-12-16
- JavaScript onblur与onfocus事件详解 2023-12-17
- springBoot详细讲解使用mybaties案例 2022-11-16
- java数据库连接检索 2023-11-08
- Spring Security十分钟入门教程 2023-05-14
- spring mvc rest 接口选择性加密解密详情 2023-03-21
- JPA原生SQL实现增删改查的示例详解 2023-06-02
- JSP实现远程文件下载保存到服务器指定目录中的方法 2024-01-09
- java – SQLNestedException:无法创建PoolableConnectionFactory(用户’<>'@ SERVERIP'拒绝访问(使用密码 2023-11-05
- Java中过滤器 (Filter) 和 拦截器 (Interceptor)的使用 2024-03-02