Android 不归路之百度地图API学习(导航篇)

在使用百度地图API进行导航功能开发时,遇到初始化引擎失败的问题。通过官方论坛找到解决方案,主要包括:检查activity是否为空,确认libapp_BaiduNaviApplib_v1_0_0.so库文件存在,以及将demo中的BaiduNaviSDK_Resource_v1_0_0png和channel文件复制到自己工程的assets文件夹下,特别是后者,是解决初始化失败的关键。
摘要由CSDN通过智能技术生成

在学习百度地图api 导航篇时 不论怎么仿写官方DEMO 都不能初始化导航引擎 纠结了两天

在LBS论坛上找到同样问题 传送门初始化导航失败

文中解决方法 主要有三种:

目前demo中初始化导航失败有三种情况:
1. 调用BaiduNaviManager.initEngine接口时activity为空;
2.系统装载so库(loadLibrary)时失败,请确保BaiduNaviSDKDemo\libs\armeabi\libapp_BaiduNaviApplib_v1_0_0.so文件存在,并且不要改名;
3.其他原因导致native层引擎初始化失败。这种失败会回调NaviEngineInitListener.engineInitFail()接口,请在调用initEngine指定NaviEngineInitListener参数时在接口engineInitFail中打印一下,看看是否属于这种情况。

我的解决方案是将demo的assets文件夹下的BaiduNaviSDK_Resource_v1_0_0png,channel文件拷贝到自己的工程!属于第三种情况吧。

assets文件夹在打包会原封不动的打包进去 

官方没有说明这个是导航功能必要的文件,导致初始化失败。

部分主要Activity代码如下:

package com.ht.activity;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BaiduMap.OnMarkerDragListener;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import com.baidu.navisdk.adapter.BNOuterTTSPlayerCallback;
import com.baidu.navisdk.adapter.BNRoutePlanNode;
import com.baidu.navisdk.adapter.BaiduNaviManager;
import com.baidu.navisdk.adapter.BNRoutePlanNode.CoordinateType;
import com.baidu.navisdk.adapter.BaiduNaviManager.NaviInitListener;
import com.baidu.navisdk.adapter.BaiduNaviManager.RoutePlanLis
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值