Как рассчитать общее расстояние между точками, покрытыми кабиной, когда мое место посадки и падения одинаково? - PullRequest
0 голосов
/ 24 июня 2019

Я работаю над некоторым приложением, связанным с кабиной. Но у меня проблема в том, что, если мое местоположение посадки и место сброса совпадают, то как я могу рассчитать расстояние, пройденное кабиной в это время.

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

func calculateDistance(pickLat: String, pickLong: String, dropLat: String, dropLong: String) {
    let coordinate0 = CLLocation(latitude: Double(pickLat)!, longitude: Double(pickLong)!)
    let coordinate1 = CLLocation(latitude: Double(dropLat)!, longitude: Double(dropLong)!)

    let distanceInMeters = coordinate0.distance(from: coordinate1) // result is in meters
    print(distanceInMeters)
}

Это нормальный процесс, которым я занимаюсь. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 24 июня 2019

Для этого вам нужно поработать над конкретным событием.Вы должны начать захват местоположения из своего приложения такси, когда такси прибыло в пикап и поездка началась.У вас должны быть такие события, как ArrivedOnPickup, RideStarted, OnWay, Completed.

Так же, как @Lu_ Рекомендуется начинать захват координат в массиве до завершения поездки.По завершении поездки вы получите расстояние, введя http://findnerd.com/list/view/How-to-calculate-distance-from-array-of-coordinates-in-iOS/17529/

Примечание: вы также можете использовать Google Direction api, чтобы нарисовать путь и получить расстояние, но это не гарантирует, что выМаршрут, выбранный водителем, и маршрут, указанный Google, будут одинаковыми

...