Я младший по реакции, я работаю над созданием приложения с помощью gps mapbox sdk. Я сделал мост, который работает хорошо, но я хотел бы отправлять пользовательские координаты параллельно каждые 30 секунд (во время навигации), но я не нашел способа сделать это
вот мой быстрый ( рабочий) код, который запускает навигацию по mapbox простым запросом
import Foundation;
import UIKit
import MapboxDirections
import MapboxCoreNavigation
import MapboxNavigation
@objc(AndroidRN) class AndroidRN: NSObject {
@objc
func takeMeToWH(number:Double,number2:Double,number3:Double,number4:Double,number5:String,number6:String)->Void {
let url = URL(string: "https://api.get-move.pro/v1/mobile/api/location")
guard let requestUrl = url else { fatalError() }
let body:[String:Any] = ["mission_id":number5,"depart_lat":number2,"depart_lon":number,"destination_lon":number3,"destination_lat":number4]
let finalBody = try! JSONSerialization.data(withJSONObject: body)
var request = URLRequest(url: requestUrl)
request.httpMethod = "POST";
request.httpBody = finalBody;
request.setValue("application/json", forHTTPHeaderField: "Accept")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Authorization", forHTTPHeaderField: number6)
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print("Error took place \(error)")
return
}
if let data = data, let dataString = String(data: data, encoding: .utf8) {
print("Response data string:\n \(dataString)")
}
}
task.resume()
let origin = Waypoint(coordinate: CLLocationCoordinate2D(latitude: number2, longitude: number), name: "Mapbox")
let destination = Waypoint(coordinate: CLLocationCoordinate2D(latitude: number4, longitude: number3), name: "White House")
let options = NavigationRouteOptions(waypoints: [origin, destination])
Directions.shared.calculate(options) { (waypoints, routes, error) in
guard let route = routes?.first else { return }
let viewController = NavigationViewController(for: route)
let appDelegate = UIApplication.shared.delegate
appDelegate!.window!!.rootViewController!.present(viewController, animated: true, completion: nil)
}
}
}
Спасибо