出现Alamofire.AFError.invalidURL错误通常是由于URL字符串格式不正确导致的。下面是一个使用Alamofire调用Google Snap to Road API并处理此错误的示例代码:
import Alamofire
func callSnapToRoadAPI() {
let apiKey = "YOUR_API_KEY"
let coordinates = "37.7749,-122.4194;37.7765,-122.4231;37.7786,-122.4245"
let urlString = "https://roads.googleapis.com/v1/snapToRoads?path=\(coordinates)&key=\(apiKey)"
guard let url = URL(string: urlString) else {
print("Invalid URL")
return
}
AF.request(url).responseJSON { response in
switch response.result {
case .success(let value):
// 处理API响应
print(value)
case .failure(let error):
// 处理错误
print(error)
}
}
}
callSnapToRoadAPI()
请确保将YOUR_API_KEY
替换为您自己的Google API密钥,并将coordinates
替换为您要传递给API的坐标字符串。
如果仍然收到Alamofire.AFError.invalidURL
错误,请确保URL字符串格式正确,并使用print(urlString)
语句检查生成的URL字符串是否正确。