前言
地图作为开发中三方sdk中较常遇到的一项,集成起来并不麻烦但是不小心踩坑可能会浪费较多时间,如果项目中多处使用还容易造成代码大量冗余,今天我们来将高德地图定位功能集成一个功能化模块,只需两分钟应用到项目中。
GitHub:LocationDemo
友情链接:996icu
正文
以下操作均在子module—amapservice中设置,在主模块只需简单调用即可
1、准备工作
Android Studio 配置工程
官方文档写的已经很详细了在此不再赘述,其实也没必要看,因为我在模块中已经集成好了,当然要是想自己一步一步来需要看下。
2、设置key
为什么单独把这个拎出来?因为这个将是使用过程中最耗时的步骤,并不是多麻烦,是因为这个必须自己来操作,获取key步骤这里有个小问题,就是按照高德获取SHA1 的话并不是那么方便,甚至可能花费半天也很难获取到,因为电脑配置不同,建议使用百度经验推荐的这种AS简单获取SHA1值方法
下面贴上amapservice中AndroidManifest代码
如图所示,当然为了动态获取权限,可以把这些移到主module中以便安卓6.0以后动态访问权限。
3、自定义地图服务类和调用工具类
代码很简单 直接上
4、调用
红线内是调用代码,可以通过aMapLocation获取城市经纬度等一系列定位信息。
注意
此demo未配置安卓6.0以上动态访问权限,安卓6.0以上系统手机试用时请自行前往设置打开定位权限。
完整代码请移步(GitHub)