Geofire for Android возвращает отрицательные значения долготы, только если центр имеет отрицательную долготу, и положительный, если центр положительный - PullRequest
0 голосов
/ 26 февраля 2019

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

, я получу совершенно другоенабор предметов, единственный с отрицательной долготой!

Что странно, поскольку я переместился только на несколько метров к центру.

В приложении приведен пример предмета с отрицательной долготой

enter image description here

Также приложение для iPhone работает нормально.

РЕДАКТИРОВАТЬ

Забавно, похоже, это связано с радиусом

В 3758 я начинаю упускать точку для большего радиуса.

Это один из моих моментов WTF в кодировании

enter image description here

...