FusedLocation Longitude Issue - PullRequest
       29

FusedLocation Longitude Issue

0 голосов
/ 12 октября 2018

Странно, как я получаю совершенно недопустимую долготу от использования API-интерфейса Fused Location.

Понимаю, что долгота колеблется от 0 до 180, Забавно, как я получаю 189 от API.

Вот изображение журналов местоположений с недопустимой долготой

image

Может кто-нибудь сказать мне, что происходит?Вот некоторые фрагменты кода:

    mLocationRequest.setInterval(INTERVAL);
    mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

-

    mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
    mFusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback, null);

Я что-то упустил?Это происходит не всегда у всех пользователей, только у некоторых пользователей случайным образом


Ведение журнала. Это обновление службы определения местоположения, которое должно запускаться каждые 10 секунд (интервал) и 5 ​​секунд (самый быстрый интервал).Я сохраняю детали местоположения в приложении при обратном вызове местоположения, используя статическую функцию, например так:

        mLocationCallback = new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                if (locationResult == null) {
                    return;
                }

                for (Location location : locationResult.getLocations()) {
                    MainApplication.setCurrentLocation(location);
                }
            }
        };

И каждые 10 секунд я отправляю событие сокета на сервер примерно так:

        JSONObject obj = new JSONObject();
        obj.put("id", id);
        obj.put("lat", String.valueOf(MainApplication.getCurrentLocation().getLatitude()));
        obj.put("long", String.valueOf(MainApplication.getCurrentLocation().getLongitude()));
        obj.put("handler", String.valueOf(MainApplication.getCurrentLocation().getProvider()));
        obj.put("version", Utils.getAppVersion(MainApplication.getContext()));

        if (mSocket.connected()) {
            mSocket.emit("set location", obj);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...