У меня ужасная ошибка в 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 в кодировании