java 高德地图路线规划_高德地图api之路线规划

1.引入

2.创建并初始化实例对象

const map = new AMap.Map("container")

3.创建一个导航元素,用来承载导航路线(这里不要忘了,是个坑,用的啥时候踩过,文档里没有详细说)

4.使用路线规划插件

这里先拿驾车路线规划举个例子

假设var start = "天安门", end = "人民大会堂"

AMap.plugin('AMap.Driving', function () {

const driving = new AMap.Driving({

// 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式

policy: AMap.DrivingPolicy.LEAST_TIME,

// map 指定将路线规划方案绘制到对应的AMap.Map对象上

map: map,

// panel 指定将结构化的路线详情数据显示的对应的DOM上,传入值需是DOM的ID

panel: 'panel'

})

const points = [

{ keyword: start },

{ keyword: end }

]

// 搜索完成后,将自动绘制路线到地图上

driving.search(points)

})

当然不只有驾车路线规划,还有其他类型:

步行规划

AMap.plugin('AMap.Walking', function () {

const walki

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用高德地图的路径规划API来获取两个经纬度之间的导航公里数。具体步骤如下: 1. 首先,您需要注册高德地图开放平台的开发者账号,并且创建一个应用程序。 2. 在您的应用程序设置中,开通路径规划API的服务。 3. 使用Java语言编写代码,导入高德地图Java SDK并调用路径规划API的接口。 4. 传入起点和终点的经纬度参数,以及其他可选的参数(如路径类型、避让区域等),通过API返回结果获取两个经纬度之间的导航公里数。 以下是获取路径长度的代码示例: ```java import com.amap.api.services.core.*; import com.amap.api.services.route.*; import java.util.*; public class PathLength { public double getPathLength(double sLat, double sLng, double eLat, double eLng) { // 初始化查询对象并设置参数 RouteSearch routeSearch = new RouteSearch(this); RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(new LatLonPoint(sLat, sLng), new LatLonPoint(eLat, eLng)); RouteSearch.DriveRouteQuery query = new RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DrivingDefault, null, null, ""); // 响应监听器 RouteSearch.OnRouteSearchListener listener = new RouteSearch.OnRouteSearchListener() { @Override // 路径规划成功 public void onDriveRouteSearched(DriveRouteResult result, int errorCode) { if (errorCode == AMapException.CODE_AMAP_SUCCESS && result != null && result.getPaths() != null) { // 解析路径规划方案 List<DrivePath> paths = result.getPaths(); DrivePath path = paths.get(0); // 计算路径长度 double length = path.getDistance() / 1000.0; // 打印结果 System.out.println("路径长度为:" + length + "公里"); } } @Override // 路径规划失败 public void onDriveRouteSearchError(int errorCode) { System.out.println("路径规划失败,错误码:" + errorCode); } @Override public void onBusRouteSearched(BusRouteResult result, int errorCode) {} @Override public void onWalkRouteSearched(WalkRouteResult result, int errorCode) {} @Override public void onRideRouteSearched(RideRouteResult result, int errorCode) {} }; // 发起路径规划请求 routeSearch.calculateDriveRouteAsyn(query); } } ``` 请注意,此代码示例仅用于演示目的,您需要根据实际情况进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值