Location.distanceTo использует параметр ошибки при расчете приблизительного расстояния? - PullRequest
2 голосов
/ 27 июня 2010

Мне интересно, будет ли метод Location.distanceTo использовать поле точности объекта Location при приближении к местоположению, или мне придется самостоятельно добавлять ошибки в эти поля.Используется для сравнения расстояния со значением близости.

Float dist=currentLocation.distanceTo(loc2);

Будет ли это

if (dist<100meters)

или

if (dist+currentLocation.getAccuracy()+loc2.getAccuracy()<100meters)

1 Ответ

2 голосов
/ 28 июня 2010

Похоже, он игнорирует точность:
https://android.googlesource.com/platform/frameworks/base/+/donut-release/location/java/android/location/Location.java#400

 400     /**
 401      * Returns the approximate distance in meters between this
 402      * location and the given location.  Distance is defined using
 403      * the WGS84 ellipsoid.
 404      *
 405      * @param dest the destination location
 406      * @return the approximate distance in meters
 407      */
 408     public float distanceTo(Location dest) {
 409         // See if we already have the result
 410         synchronized (mResults) {
 411             if (mLatitude != mLat1 || mLongitude != mLon1 ||
 412                 dest.mLatitude != mLat2 || dest.mLongitude != mLon2) {
 413                 computeDistanceAndBearing(mLatitude, mLongitude,
 414                     dest.mLatitude, dest.mLongitude, mResults);
 415                 mLat1 = mLatitude;
 416                 mLon1 = mLongitude;
 417                 mLat2 = dest.mLatitude;
 418                 mLon2 = dest.mLongitude;
 419                 mDistance = mResults[0];
 420                 mInitialBearing = mResults[1];
 421             }
 422             return mDistance;
 423         }
 424     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...