Я хотел бы знать все возможные маршруты между двумя координатами
API Google Map дает мне только один маршрут, используя этот URL: "https://maps.googleapis.com/maps/api/directions/json?origin=30.1124,31.4003&destination=29.9792,31.1342&provideRouteAlternatives=true&key=xx")
Я не могу найти, где находятся все маршруты и как их найти
вот код
func getRoutes(handler:@escaping (_ error: String?) -> Void){
let request = URLRequest(url: URL(string: "https://maps.googleapis.com/maps/api/directions/json?origin=30.1124,31.4003&destination=29.9792,31.1342&provideRouteAlternatives=true&key=AIzaSyAf5emsTReEhPgC3NwAnXEdoa_CllLbyLc")!)
// request.addValue("provideRouteAlternatives", forHTTPHeaderField: "true")
let session = URLSession.shared
let task = session.dataTask(with: request) { data, response, error in
if error != nil {
// Handle error...
handler("Connection Error")
return
}
let parsedResult: [String: AnyObject]!
do {
parsedResult = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: AnyObject]
print(parsedResult)
} catch {
print("Error parsing result as JSON")
handler("Cant download Student data")
return
}
if let array = parsedResult["routes"] as? NSArray {
if let routes = array[0] as? NSDictionary{
if let overview_polyline = routes["overview_polyline"] as? NSDictionary{
if let points = overview_polyline["points"] as? String{
print(points)
// Use DispatchQueue.main for main thread for handling UI
DispatchQueue.main.async {
// show polyline
let path = GMSPath(fromEncodedPath:points)
let polyline = GMSPolyline(path: path)
//self.polyline.path = path
polyline.strokeWidth = 4
polyline.map = self.myMap
}
}
}
}
}
handler(nil)
}
task.resume()
}