Android——集地图、定位、导航于一体

简介: 电子地图地图修改定位图标定位导航尾言


电子地图


地图

电子地图


修改定位图标

MyLocationConfiguration.LocationMode mCurrentMode = MyLocationConfiguration.LocationMode.NORMAL;
 BitmapDescriptor mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.icon_location);
map.setMyLocationConfigeration(new MyLocationConfiguration(mCurrentMode, true, mCurrentMarker,0x00000000,0x00000000));


定位

新版本API通过继承BDAbstractLocationListener实现获取定位信息

class MyBaiduMap extends BDAbstractLocationListener {
        @Override
        public void onReceiveLocation(BDLocation bdLocation) {
            Latitude = bdLocation.getLatitude();//获取纬度
            Longitude = bdLocation.getLongitude();//获取经度
            if (bdLocation.getLocType() == com.baidu.location.BDLocation.TypeGpsLocation || bdLocation.getLocType() == com.baidu.location.BDLocation.TypeNetWorkLocation) {
                navigateTo(bdLocation);
            }
            int error  = bdLocation.getLocType();//162
            mCityName = bdLocation.getCity();
            if (mCityName!= null && cityFalg == false){
                UpdateView();
                cityFalg = true;
            }
            //Toast.makeText(MainActivity.this,mCityName,Toast.LENGTH_LONG).show();
            //网络定位失败,因为百度定位服务无法解密请求查询,请检查so文件!"
            //Toast.makeText(MainActivity.this,"error"+error,Toast.LENGTH_LONG).show();
        }
    }
//if (isFirstLocate){
            LatLng lng = new LatLng(location.getLatitude(),location.getLongitude());//指定经纬度
            MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(lng);
            map.animateMapStatus(update);
            update = MapStatusUpdateFactory.zoomTo(16f);//百度地图缩放级别限定在3-19
            map.animateMapStatus(update);
            isFirstLocate = false;
        //}
        MyLocationData.Builder builder = new MyLocationData.Builder();
        builder.latitude(location.getLatitude());//纬度
        builder.longitude(location.getLongitude());//经度
        MyLocationData locationData = builder.build();
        map.setMyLocationData(locationData);


相关文章
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
378 1
|
2月前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
167 4
Android性能测试——发现和定位内存泄露和卡顿
|
4月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
127 15
|
6月前
|
JSON Java 定位技术
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
1873 0
|
6月前
|
Java Android开发
Android 导航方式切换
Android 导航方式切换
132 1
|
6月前
|
Android开发
【Android 从入门到出门】第四章:现代Android开发中的导航
【Android 从入门到出门】第四章:现代Android开发中的导航
43 2
【Android 从入门到出门】第四章:现代Android开发中的导航
|
6月前
|
Java 定位技术 Android开发
【Android App】利用腾讯地图获取地点信息和规划导航线路讲解及实战(附源码和演示视频 超详细必看)
【Android App】利用腾讯地图获取地点信息和规划导航线路讲解及实战(附源码和演示视频 超详细必看)
380 1
|
6月前
|
Java 定位技术 Android开发
【Android App】集成腾讯地图显示位置和地图面板讲解及实战(附源码和演示 超详细必看)
【Android App】集成腾讯地图显示位置和地图面板讲解及实战(附源码和演示 超详细必看)
383 1
|
6月前
|
安全 算法 JavaScript
安卓逆向 -- 关键代码定位与分析技术
安卓逆向 -- 关键代码定位与分析技术
154 0
|
6月前
|
XML Java 定位技术
【Android App】定位导航GPS中开启手机定位功能讲解及实战(附源码和演示 超详细)
【Android App】定位导航GPS中开启手机定位功能讲解及实战(附源码和演示 超详细)
297 0