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中数据就出现了偏差
请问可能是什么原因呢?谢谢!