2017-01-06 11 views
1

Я пытаюсь рассчитать расстояние между несколькими пунктами назначения GPS.Расчет расстояния до GPS GPS

Мой подход

Я использую Matrix API от Google для этого, но это позволяет при макс. 25 баллов. И мне нужно отслеживать полное расстояние, пройденное пользователем.

Любое предложение будет очень полезно.

+0

Опубликовать свой код, что вы пробовали до сих пор? –

+0

Я посылаю этот запрос, –

+0

Радиус расстояния Google возвращает расстояние между двумя точками, но не расстояние между ними. Если вы держите премиум-аккаунт в Google, вы можете запросить 625 элементов за звонок (1000 элементов в секунду), что позволит вам иметь 25 X 25 истоков и пунктов назначения или 1 X 625. – Coder

ответ

0

Использование Android SDK:

Попробуйте использовать distanceTo функции местонахождения объекта следующим образом:

float getTripDistance(List<LatLng> vertices) { 
    float totalDistance = 0; 

    for (int i = 0; i < vertices.size() - 1; i++) { 
     Location tLoc1 = new Location(""); 
     Location tLoc2 = new Location(""); 

     tLoc1.setLatitude(vertices.get(i).latitude); 
     tLoc1.setLongitude(vertices.get(i).longitude); 

     tLoc2.setLatitude(vertices.get(i + 1).latitude); 
     tLoc2.setLongitude(vertices.get(i + 1).longitude); 

     totalDistance += tLoc1.distanceTo(tLoc2); 
    } 

    return totalDistance; 
} 

Вы можете перебирает все ваши точки последовательно и суммировать каждое соответствующее расстояние в метрах, чтобы получить общая дистанция поездки.

+0

Это работает, но дает ли это расстояние одинаково как Google делает? –

+0

Я не работаю для Google, и я не помогал в разработке Android, поэтому я действительно не могу сказать вам об этом. Вот документация: https://developer.android.com/reference/android/location/Location.html#distanceTo(android.location.Location). Если ответ работал как решение для вас, отметьте его как ответ. –