android开发, 获取AVGeoPoint时数值出现偏差

android开发中,使用AVGeoPoint类中的getLogitude方法,获取到的值与后台数据有差别
后台存储的值如下:

在代码中使用AVQuery进行查询:

AVQuery<AVObject> LiveQuery = new AVQuery<>("letters");
LiveQuery.whereWithinKilometers("location", curPoint, 5);
LiveQuery.findInBackground().subscribe(new io.reactivex.Observer<List<AVObject>>() {
    @Override
    public void onSubscribe(Disposable disposable) { }

    @Override
    public void onNext(List<AVObject> letters) {
         for(AVObject letter:letters){
                System.out.println(letter.getAVGeoPoint("location").getLatitude()+"---"+letter.getAVGeoPoint("location").getLongitude();
            }

    @Override
    public void onError(Throwable e) { }

    @Override
    public void onComplete() { }
 });

得到的结果是
即37.421998(latitude, 准确)和-122.0(longitude, 出现偏差)
事实上从log中可以看出来在获取数据时



结果是正确的,但在cache中数据就出现了偏差


请问可能是什么原因呢?谢谢!

诡异,getLatitudegetLongitude 的定义完全是一样的。您看下是否在代码中之前修改过经度,所以缓存中的还是之前的值?其他 GeoPoint 上也碰到过这个问题么?

感谢回复!
前面的代码中没有修改过经度,是直接从后台获取之后输出的,尝试调用clearCachedResult之后还是一样会出现偏差。
尝试了几个别的GeoPoint,似乎在经纬度为负数的情况下都会出现相同问题,例如

被输出成

而正值的latitude/longitude会得到正确的输出,例如