高德地图的onLocationChanged返回经纬度经常都是(0,0),为什么,这几个小细节要注意。

正常应该是这样的。

图片描述

但有的时候你会发现自己获得的经纬度都是0.0

第一,看看service。

    <application>
 	<!-- 定位需要的服务 使用2.0的定位需要加上这个 -->
        <service android:name="com.amap.api.location.APSService" />
       .........
    </application>

第二,看看依赖jar

里面如果少了内容就不行。

implementation files('libs/AMap3DMap_7.1.0_AMapNavi_7.1.0_AMapSearch_7.1.0_AMapTrack_1.1.0_AMapLocation_4.7.2_20191030.jar')

第三,看看服务是否开了

 <!--地图包、搜索包需要的基础权限-->
    <!--允许程序打开网络套接字-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--允许程序设置内置sd卡的写权限-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--允许程序获取网络状态-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--允许程序访问WiFi网络信息-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--允许程序读写手机状态和身份-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

第四,重启手机试试。定位一直在北京,无法显示本地,

图片描述

检查手机是否给你的app开了定位权限,然后重启试试,我就是发现位置切换不过来,然后重启了一下就ok了。

看到这里了就点个

赞 吧 !!!