高德地图 获取两个地理位置开车导航路线距离

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>货车路线规划-使用经纬度</title>
    <script type="text/javascript" src='https://webapi.amap.com/maps?v=1.4.15&key=你的高德地图key&plugin=AMap.TruckDriving'></script> 
    <style>
    html,
    body,
    #container {
        width: 100%;
        height: 100%;
    }
    #panel {
        position: fixed;
        background-color: white;
        max-height: 90%;
        overflow-y: auto;
        top: 10px;
        right: 10px;
        width: 280px;
    }
    #panel .amap-lib-driving {
        border-radius: 4px;
        overflow: hidden;
    }
    </style>
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
    <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
</head>
<body>
<div id="container"></div>
<div id="panel"></div>
</div>
<script type="text/javascript">
    var map = new AMap.Map("container", {});
    var truckOptions = {
            map: map,
            policy:0,
            size:1,
            city:'shenzhen',
            panel:'panel'
    };
    var driving = new AMap.TruckDriving(truckOptions);
    var path = [
        {keyword:'深圳站',city:'030'},//起点['keyword'=>地理位置,city=>精度,数值越小查询范围越小]如果查询不到路线可调整city数值大小
        // {keyword:'北京西站',city:'010'},//途径
        {keyword:'深圳北站',city:'030'}//终点
    ];
    driving.search(path, function(status, result) {
        console.log(result.routes[0].distance)//距离
        // result即是对应的货车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
        if (status === 'complete') {
            log.success('绘制货车路线完成')
        } else {
            log.error('获取货车规划数据失败:' + result)
        }
    });
</script>
</body>
</html>

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值