URL 不接受带有或 (|) 参数的查询字符串 swift 3
URL is not accepting query string with or (|) parameter swift 3
我正在尝试实现 nearbysearch Google 具有多种类型的网络服务,例如查询 type=department_store|grocery_or_supermarket
所以,我准备了一个查询字符串,如下所述,它在浏览器中运行良好
let query = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=28.965198333333333,77.98569833333333&radius=3218&type=department_store|grocery_or_supermarket&key=API_KEY"
当我尝试将其转换为如下所述的 URL 时,它会给我错误 "URL invalid" 因为 URL 不接受带或 (|) 参数的查询字符串
guard let url = URL(string: query) else { return completion(.Failure("URL invalid")) }
虽然它在单一类型上工作正常
类型=department_store
let query = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=28.965198333333333,77.98569833333333&radius=3218&type=grocery_or_supermarket&key=API_KEY"
请提出建议,如何将多种类型与 nearbysearch 网络服务一起使用。
提前致谢。
添加百分比编码:
guard let escapedQuery = query.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed),
let url = URL(string: escapedQuery) else { return completion(.Failure("URL invalid")) }
我正在尝试实现 nearbysearch Google 具有多种类型的网络服务,例如查询 type=department_store|grocery_or_supermarket
所以,我准备了一个查询字符串,如下所述,它在浏览器中运行良好
let query = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=28.965198333333333,77.98569833333333&radius=3218&type=department_store|grocery_or_supermarket&key=API_KEY"
当我尝试将其转换为如下所述的 URL 时,它会给我错误 "URL invalid" 因为 URL 不接受带或 (|) 参数的查询字符串
guard let url = URL(string: query) else { return completion(.Failure("URL invalid")) }
虽然它在单一类型上工作正常 类型=department_store
let query = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=28.965198333333333,77.98569833333333&radius=3218&type=grocery_or_supermarket&key=API_KEY"
请提出建议,如何将多种类型与 nearbysearch 网络服务一起使用。
提前致谢。
添加百分比编码:
guard let escapedQuery = query.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed),
let url = URL(string: escapedQuery) else { return completion(.Failure("URL invalid")) }