高德地图---路径规划---语音导航的开发

本文详细介绍了如何使用高德地图API进行路径规划和语音导航的开发,包括导入开发包,实现OnRouteSearchListener和AMapNaviListener接口,规划自驾、步行和公交路线,设置回调方法,以及导航页面的启动和回调处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步导入高德地图导航开发包及对应的功能类

这里写图片描述

第二步路径规划的类继承导航的接口

Activity_NaviChoose extends Activity implements OnRouteSearchListener,AMapNaviListener

OnRouteSearchListener路径规划的接口
AMapNaviListener导航的接口

第三步路径规划

自驾路径规划

/**
     * 自驾路径规划
     */
    public void dringRoute() {
        Log.e("route", "--------------dringRoute---------------");
        RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);
        routeSerch.setRouteSearchListener(this);
        LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //起点
        LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);//终点
        RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
                start_lat, end_lat);
        DriveRouteQuery query = new DriveRouteQuery(fromAndTo, RouteSearch.DrivingDefault,
                null, null, "");// 第一个参数表示路径规划的起点和终点,第二个参数表示驾车模式,第三个参数表示途经点,第四个参数表示避让区域,第五个参数表示避让道路
        routeSerch.calculateDriveRouteAsyn(query);// 异步路径规划驾车模式查询   // 异步路径规划公交模式查询

    }

步行路径规划

/**
     * 步行路径规划
     */
    public void warkRoute() {
        Log.e("route", "--------------warkRoute---------------");
        RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);

        routeSerch.setRouteSearchListener(this);
        LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //定位本地坐标
        LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);
        RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
                start_lat, end_lat);
        WalkRouteQuery query=new WalkRouteQuery(fromAndTo, RouteSearch.WalkDefault);
        routeSerch.calculateWalkRouteAsyn(query);
    }

公交路径规划

public void busRoute() {
        RouteSearch routeSerch=new RouteSearch(Activity_NaviChoose.this);

        routeSerch.setRouteSearchListener(this);
        LatLonPoint start_lat=new LatLonPoint(la_start, ln_start); //定位本地坐标
        LatLonPoint end_lat=new LatLonPoint(la_end,ln_end);
        RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
                start_lat, end_lat);
        //是否计算夜班车,默认为不计算。0:不计算,1:计算。可选
        BusRouteQuery query=new BusRouteQuery(fromAndTo, RouteSearch.BusDefault, "北京", 0);
        routeSerch.calculateBusRouteAsyn(query);
    }

第四步 添加路径规划回调方法–重写接口OnRouteSearchListener的方法

自驾回调

@Override
    public void onDriveRouteSearched(DriveRouteResult result, int rCode) {
        Log.e("route", "--------------onDriveRouteSearched---------------");
        if
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值