浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 导航SDK

百度Andriod 导航SDK为Android移动端应用提供了一套简单易用的导航服务接口,适用于Android 2.1及以上版本。专注于为广大开发者提供最好的导航服务,通过使用百度导航SDK,开发者可以轻松为应用程序实现专业、高效、精准的导航功能。

初始化说明

在使用百度导航SDK任何功能之前,需要先进行初始化,初始化方法是调用如下接口:

BaiduNaviManagerFactory.getBaiduNaviManager().init(context, mSDCardPath, APP_FOLDER_NAME, 
new IBaiduNaviManager.INaviInitListener());

初始化接口init详细说明如:

/**
 * 初始化百度导航.
 *
 * @param context          建议是应用的context
 * @param sdcardRootPath   系统SD卡根目录路径
 * @param appFolderName    应用在SD卡中的目录名
 * @param naviInitListener 百度导航初始化监听器
 */
void init(final Context context,
          final String sdcardRootPath,
          final String appFolderName,
          final INaviInitListener naviInitListener);
初始化结果监听

通过传入的INaviInitListener 接口对象接收初始化的返回结果,其包括授权校验结果、初始化开始、成功以及失败4种情况,具体定义如:

interface INaviInitListener {

    /**
     * 授权校验结果
     *
     * @param status 0 表示成功,其他表示失败
     * @param msg    具体授权校验失败信息
     */
    void onAuthResult(int status, String msg);

    /**
     * 百度导航初始化开始
     */
    void initStart();

    /**
     * 百度导航初始化成功
     */
    void initSuccess();

    /**
     * 百度导航初始化失败
     */
    void initFailed(int errorCode);

}

初始化成功后,就可以进行后续的开发工作。

示例代码
    
BaiduNaviManagerFactory.getBaiduNaviManager().init(this,
            mSDCardPath, APP_FOLDER_NAME, new IBaiduNaviManager.INaviInitListener() {

        @Override
        public void onAuthResult(int status, String msg) {
            if (0 == status) {
                authinfo = "key校验成功!";
            } else {
                authinfo = "key校验失败, " + msg;
            }
            BNNewIFNormalDemoMainActivity.this.runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    Toast.makeText(BNNewIFNormalDemoMainActivity.this, authinfo, Toast.LENGTH_LONG).show();
                }
            });
        }

        @Override
        public void initStart() {
           Toast.makeText(BNNewIFNormalDemoMainActivity.this, "百度导航引擎初始化开始", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void initSuccess() {
            Toast.makeText(BNNewIFNormalDemoMainActivity.this, "百度导航引擎初始化成功", Toast.LENGTH_SHORT).show();
            hasInitSuccess = true;

            // 初始化tts
            initTTS();
        }

        @Override
        public void initFailed(int errCode) {
            Toast.makeText(BNNewIFNormalDemoMainActivity.this, "百度导航引擎初始化失败", Toast.LENGTH_SHORT).show();
        }

    });


路线规划并通知发起专业导航

示例代码

  
BNRoutePlanNode sNode = new BNRoutePlanNode.Builder()
                .latitude(40.05087)
                .longitude(116.30142)
                .name("百度大厦")
                .description("百度大厦")
                .coordinateType(CoordinateType.GCJ02)
                .build();
BNRoutePlanNode eNode = new BNRoutePlanNode.Builder()
                .latitude(39.90882)
                .longitude(116.39750)
                .name("北京天安门")
                .description("北京天安门")
                .coordinateType(CoordinateType.GCJ02)
                .build();
List<BNRoutePlanNode> list = new ArrayList<>();
list.add(sNode);
list.add(eNode);
BaiduNaviManagerFactory.getRoutePlanManager().routeplanToNavi(
                list,
                IBNRoutePlanManager.RoutePlanPreference.ROUTE_PLAN_PREFERENCE_DEFAULT,
                null,
                new Handler(Looper.getMainLooper()) {
                    @Override
                    public void handleMessage(Message msg) {
                        switch (msg.what) {
                            case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_START:
                                Toast.makeText(DemoMainActivity.this.getApplicationContext(),
                                        "算路开始", Toast.LENGTH_SHORT).show();
                                break;
                            case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_SUCCESS:
                                Toast.makeText(DemoMainActivity.this.getApplicationContext(),
                                        "算路成功", Toast.LENGTH_SHORT).show();
                                break;
                            case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_FAILED:
                                Toast.makeText(DemoMainActivity.this.getApplicationContext(),
                                        "算路失败", Toast.LENGTH_SHORT).show();
                                break;
                            case IBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_TO_NAVI:
                                		Toast.makeText(DemoMainActivity.this.getApplicationContext(),
                                        "算路成功准备进入导航", Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(DemoMainActivity.this,
                                            DemoGuideActivity.class);
                                startActivity(intent);
                                break;
                            default:
                                // nothing
                                break;
                        }
                    }
                });
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消