高德地图怎样实现实时定位,得到当前地点的坐标,位置
5个回答
展开全部
开发指南第三章定位信息前半部分的代码实现的功能是:当手机采集的地理位置(经纬度)发生改变时在界面上显示出改变后的经纬度。如果开发过android原生定位程序的开发者应该对这部分代码不陌生,中规中矩,先注册位置监听服务,然后当位置发生改变后出发onLocationChanged()方法。现在请在官网上下载示例代码,导入工程后开启包com.amap.cn.apis.location中的MyLocation.java文件,该文件实现的主要功能是:初始化地图并且实现首次定位,地图会自动移动到定位点,我们一会便要基于这个文件来完成地图自动实时定位的功能。
看到这儿,有人可能想把MyLocation文件中的内容与第三章给出的android原生定位模块简单整合。如果你的解决思路是:在onLocationChanged()方法中企图在地图上绘制出当前的位置,那么就会遇到很大的麻烦。因为如果用高德地图提供的api在地图上绘制定位点的话一定要调用类MyLocationOverlay中的enableMyLocation()方法,根据官方参考资料,这个方法封装了android原生的类LocationManager中的requestLocationUpdates()方法,所以你在写onLocationChanged()方法前一定是已经调用了原生的类LocationManager中的requestLocationUpdates()方法,这样一来造成了LocationManager在没有removeUpdate前又进行了一次requestLocationUpdates,由此造成程序意外退出。
所以还是回到开发指南第三章,好好看看后半部分:如果想让地图跟随当前位置移动,需要继承MyLocationOverlay 并实现其onLocationChanged()方法,调用MapView.getController().animateTo()方法移动地图位置。官方用户指南上的这句原话正是问题的正解,不过官网实在太坑爹,简简单单几行文字和代码,对于浣熊这种刚刚接触地图开发的小白来说实在是看得一头雾水,还在一阵瞎折腾,终于解决了问题,所以共享出来,希望和我一样的小白能够少走些弯路。
我先把修改后的MyLocation.java文件整个贴出来,在增加或改动的代码前后均表明了注释(不包括包的改动):“/*change start*/”和"/*change end*/"
看到这儿,有人可能想把MyLocation文件中的内容与第三章给出的android原生定位模块简单整合。如果你的解决思路是:在onLocationChanged()方法中企图在地图上绘制出当前的位置,那么就会遇到很大的麻烦。因为如果用高德地图提供的api在地图上绘制定位点的话一定要调用类MyLocationOverlay中的enableMyLocation()方法,根据官方参考资料,这个方法封装了android原生的类LocationManager中的requestLocationUpdates()方法,所以你在写onLocationChanged()方法前一定是已经调用了原生的类LocationManager中的requestLocationUpdates()方法,这样一来造成了LocationManager在没有removeUpdate前又进行了一次requestLocationUpdates,由此造成程序意外退出。
所以还是回到开发指南第三章,好好看看后半部分:如果想让地图跟随当前位置移动,需要继承MyLocationOverlay 并实现其onLocationChanged()方法,调用MapView.getController().animateTo()方法移动地图位置。官方用户指南上的这句原话正是问题的正解,不过官网实在太坑爹,简简单单几行文字和代码,对于浣熊这种刚刚接触地图开发的小白来说实在是看得一头雾水,还在一阵瞎折腾,终于解决了问题,所以共享出来,希望和我一样的小白能够少走些弯路。
我先把修改后的MyLocation.java文件整个贴出来,在增加或改动的代码前后均表明了注释(不包括包的改动):“/*change start*/”和"/*change end*/"
广州联网科技有限公司
2024-10-17 广告
2024-10-17 广告
广州联网科技有限公司被评为全球性的10cm高精度定位系统提供商。精通UWB定位,联网科技始终致力于为用户提供全面的定制化服务,包括集成定位软硬件。联网科技致力于为物联网和工业4.0的蓬勃发展做出贡献。5年UWB定位产品及定制开发平台产品开发...
点击进入详情页
本回答由广州联网科技有限公司提供
展开全部
利用北斗或GPS定位信息,接收天上飞过的几颗卫星导航信号定位。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-08-31
展开全部
打开软件就可定位,看到当前位置的,但是无法看到坐标,因为国家规定民用地图是不能显示经纬度信息的哦
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用cn#GLfLaBLfVL的回答:
打开软件就可定位,看到当前位置的,但是无法看到坐标,因为国家规定民用地图是不能显示经纬度信息的哦
打开软件就可定位,看到当前位置的,但是无法看到坐标,因为国家规定民用地图是不能显示经纬度信息的哦
展开全部
老哥,人家问的是开发的时候....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-25
展开全部
可以通过以下方法解决问题:1、通过它卫星收集的资料。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询