【发布时间】:2016-01-15 05:49:58
【问题描述】:
我有一个有效的 google maps 网址,如果您在浏览器中运行它会显示地图图像。但是,当我将它放在我的 Swift 代码中并尝试从 String 创建一个 NSURL 时,它返回 nil
let urlString = "https://maps.googleapis.com/maps/api/staticmap?maptype=hybrid¢er=37.33233141,-122.0312186&path=color:0xff0000|weight:10|37.33233141,-122.0312186|21.422570,%2039.826190&markers=color:blue%7Clabel:S%7C37.33233141,-122.0312186&markers=color:blue%7Clabel:S%7C21.422570,39.826190&zoom=1&size=1080x1920"
let url = NSURL(string: urlString)
目前,这返回 nil,我不知道为什么。我做错了吗?
【问题讨论】:
-
我建议你打开一个playground,尝试删除奇怪的字符(:,|),直到它起作用为止。
-
给定的字符串绝对不是有效的 url 字符串。罪魁祸首是字符“|”这在查询组件中是不允许的。由于查询组件似乎已经被编码,这也表明了浏览器中的一个错误:如果浏览器做得对,它会将 百分比转义
|字符到%7C