我很奇怪!当我使用 origin1 和 destinationA 无效时
status =" ZERO_RESULTS";
但是如果使用 origin2 和 destinationB ,那么它完全正常工作我错过了什么
var origin = "55.930385, -3.118425"
var destination = "50.087692, 14.421150"
override func viewDidLoad() {
super.viewDidLoad()
durationDestance(origin: origin, destination: destination, mode:"bicycling")
}
func durationDestance(origin: String, destination: String, mode:String) {
var urlString : String = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(origin)&destinations=\(destination)&mode=\(mode)&key=AIzaSyAVOt9LLagNGSOI8O0ri1Sbahcl_q5AFYc";
urlString = urlString.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed)!
let session = URLSession.shared
let url = URL(string:urlString)!
session.dataTask(with: url) { (data: Data?, response: URLResponse?, erorr: Error?) -> Void in
print("url: \(urlString)")
if let responseData = data {
do{
let json = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.allowFragments);
print(json);
}
catch{
print("do not serialization :)");
}
}
}.resume();
}
答案 0 :(得分:2)
因为这些点之间没有循环路径。 尝试选择自行车:google maps
我试图骑自行车和开车。建造自行车路线是不可能的,并且车辆的路线存在
import UIKit
class ViewController: UIViewController {
var origin = "55.930385, -3.118425"
var destination = "50.087692, 14.421150"
override func viewDidLoad() {
super.viewDidLoad()
durationDestance(origin: origin, destination: destination, mode:"bicycling")
durationDestance(origin: origin, destination: destination, mode:"auto")
}
func durationDestance(origin: String, destination: String, mode:String) {
var urlString : String = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(origin)&destinations=\(destination)&mode=\(mode)&key=AIzaSyAVOt9LLagNGSOI8O0ri1Sbahcl_q5AFYc";
urlString = urlString.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed)!
let session = URLSession.shared
let url = URL(string:urlString)!
session.dataTask(with: url) { (data: Data?, response: URLResponse?, erorr: Error?) -> Void in
print("url: \(urlString)")
if let responseData = data {
do{
let json = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.allowFragments);
print(json);
}
catch{
print("do not serialization :)");
}
}
}.resume();
}
}
import UIKit
class ViewController: UIViewController {
var origin = "55.930385, -3.118425"
var destination = "50.087692, 14.421150"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
durationDestance(origin, destination: destination, mode:"bicycling")
durationDestance(origin, destination: destination, mode:"auto")
}
func durationDestance(origin: String, destination: String, mode:String) {
var urlString : String = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=\(origin)&destinations=\(destination)&mode=\(mode)&key=AIzaSyAVOt9LLagNGSOI8O0ri1Sbahcl_q5AFYc";
urlString = urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLFragmentAllowedCharacterSet())!
let session=NSURLSession.sharedSession();
let url=NSURL(string:urlString)!
session.dataTaskWithURL(url) { (data: NSData?,response: NSURLResponse?,erorr :NSError?) -> Void in
print("url: \(urlString)")
if let responseData=data{
do{
let json=try NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments);
print(json);
}
catch{
print("do not serialization :)");
}
}
}.resume();
}
}