很多朋友对于智能导航系统:百度地图功能融合解析和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
http://lbsyun.baidu.com/
二.点击控制台,创建应用1.填写应用名称,类型选择:Android SDK,发布版/开发版的SHA1请参考百度文档。
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/ak
三.Android Studio配置1、将开发包复制到项目中(截图以普通地图服务的开发包为例,自行车导航的开发包同理)。百度有一个坑。开发包下载总是失败或者不完整。请从演示中下载。对应的jar和so文件
一个。添加jar文件
打开解压后的开发包文件夹,找到BaiduLBS_Android.jar文件,将其复制到项目的app/libs目录下,如图:
图片.pngb.添加so文件
有两种方法可以将so文件添加到项目中。下面只介绍一种
方法一:
将下载的开发包中所需CPU架构对应的so文件夹复制到app/libs目录下,如图:
Image.png 在app目录下build.gradle文件的android块中配置sourceSets标签。如果未使用该标签,请添加它。详细配置代码如下:
源集{
主要的{
jniLibs.srcDir "库"
}
}3.配置AndroidManifest.xml文件
一个。添加以下代码配置开发密钥(AK):
b.外部添加如下权限语句:
4. 地图初始化
公共类MyApplication 扩展应用程序{
@覆盖
公共无效onCreate() {
super.onCreate();
//使用SDK各组件前初始化上下文信息,传入ApplicationContext
SDKInitializer.initialize(this);
//从4.3.0开始,百度地图SDK所有接口均支持百度坐标和国家测量局坐标。使用此方法设置您使用的坐标类型。
//包括BD09LL和GCJ02坐标,默认为BD09LL坐标。
SDKInitializer.setCoordType(CoordType.BD09LL);
}
}四.地图使用在Application标签中声明定位的服务组件
公共类MainActivity 扩展AppCompatActivity 实现View.OnClickListener {
私有MapView mMapView=null;
私人百度地图mBaiduMap;
私有LocationClient mLocationClient;
/**
* 位置
*/
私有按钮btn;
私有LatLng mUser_latlng;
@覆盖
protected void onCreate(Bundle savingInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
初始化视图();
initPer();
//获取地图控件引用
mMapView=(MapView) findViewById(R.id.bmapView);
mBaiduMap=mMapView.getMap();
初始化位置();
}
私有无效initPer() {
String[] per={Manifest.permission.READ_PHONE_STATE,
清单.permission.WRITE_EXTERNAL_STORAGE,
清单.permission.ACCESS_COARSE_LOCATION,
清单.permission.ACCESS_FINE_LOCATION,
清单.权限.CAMERA};
ActivityCompat.requestPermissions(this, per, 100);
}
私有无效initLocation() {
//打开地图的定位图层
mBaiduMap.setMyLocationEnabled(true);
//通过LocationClient发起定位
//定位初始化
mLocationClient=新的LocationClient(this);
//通过LocationClientOption设置LocationClient相关参数
LocationClientOption 选项=new LocationClientOption();
option.setOpenGps(true); //开启GPS
option.setCoorType("bd09ll"); //设置坐标类型
选项.setScanSpan(1000);
//设置位置客户端选项
mLocationClient.setLocOption(选项);
//注册LocationListener监听器
MyLocationListener myLocationListener=new MyLocationListener();
mLocationClient.registerLocationListener(myLocationListener);
//启用地图定位图层
mLocationClient.start();
}
@覆盖
受保护无效onResume() {
super.onResume();
//执行mMapView。 onResume() 当activity执行onResume时实现map生命周期管理
mMapView.onResume();
}
@覆盖
受保护无效onPause() {
super.onPause();
//执行mMapView。 onPause() 当activity执行onPause时实现地图生命周期管理
mMapView.onPause();
}
@覆盖
受保护无效onDestroy() {
super.onDestroy();
//当activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
mLocationClient.stop();
mBaiduMap.setMyLocationEnabled(false);
}
私有无效initView() {
btn=(按钮) findViewById(R.id.btn);
btn.setOnClickListener(this);
}
@覆盖
公共无效onClick(查看v){
开关(v.getId()) {
案例R.id.btn:
initLoaction2();
休息;
}
}
//定位已经完成。单击该按钮只会将地图视图拉至用户的位置。
私有无效initLoaction2() {
MapStatusUpdate status2=MapStatusUpdateFactory.newLatLng(mUser_latlng);
mBaiduMap.setMapStatus(status2);
}
公共类MyLocationListener 扩展BDAbstractLocationListener {
@覆盖
公共无效onReceiveLocation(BDLocation位置){
//mapView销毁后,将不再处理新接收到的位置。
if (location==null || mMapView==null) {
返回;
}
MyLocationData locData=new MyLocationData.Builder()
.accuracy(location.getRadius())
//这里设置开发者获取到的方向信息,顺时针0-360
.direction(location.getDirection()).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mUser_latlng=new LatLng(location.getLatitude(),location.getLongitude());
mBaiduMap.setMyLocationData(locData);
}
}
【智能导航系统:百度地图功能融合解析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
这真是一项超级实用的功能!
有19位网友表示赞同!
不用再换 app 了,一个页面搞定所有需求太棒了。
有18位网友表示赞同!
终于可以边看地图边查其他信息了,很方便。
有15位网友表示赞同!
不知道现在使用百度地图的app还有什么区别?
有14位网友表示赞同!
这功能看起来很棒啊,效率提高不少!
有5位网友表示赞同!
会不会对手机内存造成负担呢?
有8位网友表示赞同!
集成以后是不是更加好用呢?期待体验!
有6位网友表示赞同!
不知道有哪些热门应用会率先配合呢?
有13位网友表示赞同!
这样的创新功能确实让生活更便利了!
有7位网友表示赞同!
希望以后能兼容更多的第三方软件。
有7位网友表示赞同!
这款功能能解决多开app的烦恼,很棒!
有10位网友表示赞同!
是不是可以像手机助手那样,整合全部功能呢?
有13位网友表示赞同!
这功能真的越来越智能了,以后谁还用传统的导航系统。
有19位网友表示赞同!
想知道具体集成哪些功能,才能更好地使用。
有7位网友表示赞同!
如果能提前预设路线和目的地就更好了!
有10位网友表示赞同!
这样一整合,我的手机桌面会不会变得更拥挤?
有7位网友表示赞同!
希望软件更新频率快,能及时优化体验问题。
有9位网友表示赞同!
未来应用场景还可以发展更多新玩法吧!
有14位网友表示赞同!
这真的很有科技感,让人期待未来的产品!
有14位网友表示赞同!