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")) }