我在geofire中有一个可怕的错误。
我试图查询周围的物品,发现其中有些地方丢失了。经过一番疯狂的思考,我注意到失踪的人正负经度。
我将查询经度更改为负数后,便开始对其进行查询,而其他查询则丢失了!!
我的代码
lastLoc.setLongitude(0.000000001);
Log.d("CVE", "QUERY at "+lastLoc.getLatitude()+","+lastLoc.getLongitude());
geoFire.queryAtLocation(new GeoLocation(lastLoc.getLatitude(), lastLoc.getLongitude()), 6000.0d).addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(final String key, final GeoLocation location) {
i++;
Log.e("CVE", i+"");
这将返回我数据库中所有正经度的12个项目。
如果我使用
lastLoc.setLongitude(-0.000000001);
我得到了一套完全不同的商品,唯一的一个经度为负!
奇怪的是,我只移动了中心几米。
附上是经度为负的项目的示例
iPhone应用程序也可以正常工作。
编辑
有趣的是,这似乎与半径有关
在3758,我开始缺少更大半径的点。
那是我的WTF编码时刻之一