【达内课程】酷跑项目:百度地图获取定位
1、酷跑项目:崩溃自动重启功能
2、酷跑项目:首页跳转+底部菜单联动
前提
- 百度地图开放平台注册账号
- 进入控制台,创建应用
- 打开开发文档菜单,找到Android开发,查看Android 地图SDK,了解相关功能
- 按照左侧开发指南中Android Studio配置阅读相关开发步骤,进行开发
- 在SDK下载中可下载相关开发包和全部功能Demo来参考
开发
创建地图,先显示出来试一下
实现定位功能
根据显示定位这一节,可以获取当前经纬度
这里我们实现的功能有:获取当前定位并在当前位置显示一张图片、点击地图获取点击位置的经纬度
ShopFragment
public class SportFragment extends Fragment {private MapView mMapView = null;//定位LocationClient mLocationClient;private BaiduMap mBaiduMap;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_sport,null);//获取地图控件引用mMapView = (MapView) view.findViewById(R.id.bmapView);mBaiduMap = mMapView.getMap();//定位初始化mLocationClient = new LocationClient(getActivity());MyLocationListener listener = new MyLocationListener();mLocationClient.registerLocationListener(listener);//设置定位参数LocationClientOption option = new LocationClientOption();option.setOpenGps(true); // 打开gpsoption.setCoorType("bd09ll"); // 设置坐标类型option.setScanSpan(1);// 每隔多少毫秒获取一次坐标,这里是1s//option.setScanSpan(1000);// 每隔多少毫秒获取一次坐标,这里是1s//如果小于1000,只获取1次,如果想再次定位则使用以下方法//mLocationClient.requestLocation();//设置locationClientOptionmLocationClient.setLocOption(option);//开启地图定位图层mLocationClient.start();return view;}@Overridepublic void onResume() {super.onResume();//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理mMapView.onResume();}@Overridepublic void onPause() {super.onPause();//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理mMapView.onPause();}@Overridepublic void onDestroy() {super.onDestroy();//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理mMapView.onDestroy();}class MyLocationListener extends BDAbstractLocationListener{@Overridepublic void onReceiveLocation(BDLocation bdLocation) {//经度double longitude = bdLocation.getLongitude();//纬度final double latitude = bdLocation.getLatitude();Log.d("Debug","经度:"+longitude+",纬度:"+latitude);//移动地图LatLng latLng = new LatLng(latitude,longitude);MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.newLatLngZoom(latLng,17);mBaiduMap.animateMapStatus(mapStatusUpdate);//显示图片MarkerOptions options = new MarkerOptions();options.position(latLng);BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromResource(R.mipmap.icon_marker);options.icon(bitmapDescriptor);mBaiduMap.addOverlay(options);//在地图上单击mBaiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {@Overridepublic void onMapClick(LatLng latLng) {//清除地图上的图片mBaiduMap.clear();Log.d("Debug","单击的位置是:"+latLng.latitude+","+latLng.longitude);//单击的位置显示图片MarkerOptions options = new MarkerOptions();options.position(latLng);options.icon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_marker));mBaiduMap.addOverlay(options);}@Overridepublic boolean onMapPoiClick(MapPoi mapPoi) {return false;}});}}
}
注意:用真机测试,同时权限中同意定位权限
这里我们打印了经纬度,获取经纬度后,可以在百度拾取坐标系统中验证
可能出现的问题
setScanSpan()方法不起作用
上边代码中每隔1s定位一次,可能会出现的情况是,只定位了一次,然后就不再定位了。原因可能是AndroidManifest中没有在application中增加以下代码
<service android:name="com.baidu.location.f"android:enabled="true"android:process=":remote"/>
【达内课程】酷跑项目:百度地图获取定位相关推荐
- android 百度地图拖动定位,百度地图获取定位,实现拖动marker定位,返回具体的位置名...
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑"; ...
- Android 百度地图获取定位信息并实时传给后台
最近公司提了一个小case,因为公司物流师傅配送完货物后,通常回仓库都是空车,而这是严重的资源浪费,所以领导就给了一个小case,实时定位司机路线,先建立司机行车档案,在考虑其他业务,反正也是比较空, ...
- android百度地图获取定位信息吗,android使用百度地圖定位(獲取當前經緯度和地址信息)...
首先,當然是把需要用到的包導入到工程項目中.(沒有包的自己去百度API官網下載) 把 baidumapapi_v3_0_0.jar 和 locSDK_4.2.jar復制粘貼到項目的libs目錄下, 然 ...
- h5页面调用百度地图获取当前位置并在地图上标注出来
在项目中越来越多的用到了手机的GRS定位功能,使用百度地图API获取当前位置并在地图上标注出来首先应该在官网上注册key 点击获取密钥,注册获取key. 完整代码如下: <!DOCTYPE ht ...
- vue中调用百度地图 获取经纬度
项目中,需要实现获取当前位置的经纬度,或者搜索某个位置并获取经纬度信息,我使用的的是vue,地图使用的是百度地图. 默认自动获取当前位置经纬度 拖动小红标 获取经纬度 关键词 查询获取经纬度 前期准备 ...
- 百度地图获取的经纬度为4.9e-324,4.9e-324
最近做一个项目,发现前天还是好好的,今早过来发现,百度地图获取的经纬度是4.9e-324,4.9e-324,后来仔细检查一下运行时权限,还有GPS有没有打开,后来发现GPS没有打开
- android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)
本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...
- vue中获取获取当前城市地址_Vue使用百度地图获取当前城市
Vue使用百度地图获取当前城市 一:申请百度地图密匙 注册登录后需要进行开发者认证 创建应用 获取密匙AK 二:Vue项目使用 下载相应插件 html文件引入 创建一个新的js文件(下一步需要引入) ...
- Vue通过微信定位+百度地图获取详细地理位置信息
项目中需要使用到定位功能,定位用户所在的省市,并自动填充到省市的选择列表中,微信开发中,定位功能直接使用微信提供的接口,方便并且简单,兼容性相对好处理 因为微信定位或者百度地图的定位都是先通过定位获取 ...
- python获取某地铁站经纬度_python基于百度地图获取指定的经纬度信息
在实际做项目的时候经常会遇上需要使用到某个位置经纬度的情况,这个位置的经纬度经常又是没有的,那么就需要基于公开的数据去获取了,这里基于百度地图提供的API来完成指定位置经纬度数据的获取,实现很简单,主 ...
最新文章
- 10 个 Python 工程师,9 个不合格!!
- helm部署hadoop并指定namespace和名称的命令
- 透明图片怎么发给别人_戒指大了怎么办?
- 通过图书编号查询python_Python图书接口调用代码实例
- 前端学习(3039):vue+element今日头条管理-侧边菜单栏的展示和收缩
- android--仿网易新闻主界面
- 2020游戏直播行业数据报告
- C++头文件保护符和变量的声明定义
- Redis 多线程网络模型
- [转]神奇选股指标问世,每月稳定获利有保障
- 【C#】[窗体]渐变窗口背景
- A题 血管机器人的订购与生物学习#2022年五一数学建模
- 使用PaddlePaddle实现车牌识别
- Win10-更改c盘下的用户文件夹名
- mysql 联合索引 abc_ABC联合索引生效问题(整理笔记!!!)
- C语言-进程——信号量
- 简单实现自定义Android TextView字体
- 建议收藏|事关升学,一篇文章帮你了解科技特长生
- OFDMA/SC-FDMA技术
- 机房停电服务器自动关机脚本(Windows和Linux)
热门文章
- android google market 不能搜索到facebook或显示不兼容
- 机器学习中的多分类任务详解
- 504网站服务器传输超时,504源服务器链接超时cdn
- 可变剪接分析流程(rMATS)
- 计算机网络传输速度单位换算,网络速度单位换算
- 微信 android应用签名生成工具,GitHub - feinoah/WeChatSignature: 改进版本的微信应用签名生成工具,再也不用输入包名了!...
- 《数据结构》第十篇、线性表中的链式存储结构--双链表
- 网易面试总结——面试案例1~面试案例4
- win10计算机入门使用教程,win10技巧大全_win10使用技巧方法教程 - 系统家园
- 最简行阶梯矩阵生成器