基于地图的短信追踪小练习(2)百度地图定位到自己的位置
来源:互联网 发布:fpga用什么软件 编辑:程序博客网 时间:2024/05/20 03:41
注:本篇文章关于定位到自己位置和获取经纬度的代码部分参考自《第一行代码》
百度地图是可以定位经纬度,也可以拖拽地图的,而且默认是在北京天安门。
我们可以直接设置经纬度(设置经纬度用LatLng类)
比如:
LatLng point = new LatLng(39.963175, 116.400244);
我们这里要实现的是定位到自己所在的位置。核心的逻辑是定位到自己所在的经纬度,用获取到的经纬度设置地图的显示位置。
百度地图的api提供了一个BaiduMap类,它是地图的总控制器,调用MapView的getMap()方法就能获取到BaiduMap。
mMapView = (MapView) findViewById(R.id.bmapView mBaiduMap = mMapView.getMap();
之后我们就要获取位置提供器
这里多设置几个toast,以便在这里出现问题的话,准确的分析出代码的执行情况,后面真的就用到了!
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); List<String> providerList = locationManager.getProviders(true); if(providerList.contains(LocationManager.GPS_PROVIDER)) { provider = LocationManager.GPS_PROVIDER; Toast.makeText(this, "gps use", Toast.LENGTH_SHORT).show(); } else if(providerList.contains(LocationManager.NETWORK_PROVIDER)) { provider = LocationManager.NETWORK_PROVIDER; Toast.makeText(this, "net to use", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "No location provider to use", Toast.LENGTH_SHORT).show(); return; } location = locationManager.getLastKnownLocation(provider);我们这里获取到了location对象,之后应该是要进一步的提取出信息,并设置。我们将location对象传入navigateTo方法。
if(location != null) { navigateTo(location); }
然后调用MapStatusUpdateFactory的newLatLng()方法将LatLng对象传入,返回的是一个MapStatusUpdate对象,再把这个对象传入animateMapStatus()就可以将地图定位到指定的经纬度。
LatLng ll = new LatLng(location.getLatitude(),location.getLongitude()); MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll); mBaiduMap.animateMapStatus(update);
以上是核心逻辑的流程和实现。
遇到问题:
运行之后定位还是在默认的北京,没有定位到自己的位置。但是toast出了
No location provider to use说明没有位置提供器,发现gps是打开的,代码出问题的可能性低,最后发现可能是权限问题,使用了更全的权限之后,问题解决、
充分说明了设置输出的重要性
第二个,在测试时,有一台手机权限完整之后,仍然定位到北京,最后走出室外之后,成功定位。
0 0
- 基于地图的短信追踪小练习(2)百度地图定位到自己的位置
- 基于地图的短信追踪小练习(1)百度地图的初创建
- 基于地图的短信追踪小练习(3)短信的接收与发送
- 基于地图的短信追踪小练习(4)主界面布局的一些内容
- 基于地图的短信追踪小练习(5)对话框之item的添加
- 基于地图的短信追踪小练习(6)对话框之item的删除
- 基于地图的短信追踪小练习(7)经纬度的设置与显示
- 基于地图的短信追踪小练习(8)地图覆盖物点击事件与活动间数据的传递
- 百度地图不能定位自己的位置
- 百度地图上定位自己的位置
- Android百度地图,定位自己的位置。
- 百度地图开发--实现打开地图自动定位到上次定位点然后在定位到自己的位置
- 百度地图BaiduMap--学习(二)------定位到自己的位置之没反应
- 【经验小谈】百度定位api使用 百度定位demo 百度地图快速定位 百度地图获取当前位置 获取自己的位置 百度定位示例
- 使用百度地图API,定位并显示自己的位置
- 百度地图上定位自己所在的位置
- 实验6:Android地图定位-百度地图上定位自己所在的位置
- 实验6:Android地图定位-百度地图上定位自己所在的位置
- 重载+异常处理+类型转换
- IO流之文件的操作
- 有功功率、无功功率、视在功率、之间的联系
- hdu 1556 Color the ball
- 欢迎使用CSDN-markdown编辑器
- 基于地图的短信追踪小练习(2)百度地图定位到自己的位置
- 目录
- [LeetCode] ZigZag Conversion 解题报告
- Android报错:JNI相关“ Error: NDK integration is deprecated in the current plugin.”
- getaddrinfo()函数详解
- MQ实现两个应用系统之间的通信----理论知识(一)
- IT学习网站总结
- Maven常用命令 - 构建反应堆中指定模块
- 软件打包工具NSIS安装程序制作系统