Почему этот URL-адрес не будет создан из этой строки в iOS с использованием Swift и Xcode? - PullRequest
0 голосов
/ 29 мая 2020

Преобразование строки в URL не работает для этой строки:

https://maps.googleapis.com/maps/api/directions/json?origin=3701%20Moores%20Ln,% 20Texarkana,% 20TX% 2075503,% 20USA & destination = 3% 20Wisteria% 20Dr,% 20Texarkana, % 20TX% 2075503,% 20USA & waypoints = optimize: true21% 20Summer% 20Ln,% 20Texarkana,% 20TX% 2075503,% 20USA | 5601% 20Larry% 20Dr,% 20Texarkana,% 20TX% 2075503,% 20USA & mode * 1006 & key

Вот мой код:

print(directionsURLString)

let directionsURL = URL(string: directionsURLString)!

Вот окно отладки:

https://maps.googleapis.com/maps/api/directions/json?origin=3701%20Moores%20Ln,%20Texarkana,%20TX%2075503,%20USA&destination=3%20Wisteria%20Dr,%20Texarkana,%20TX%2075503,%20USA&waypoints=optimize:true21%20Summer%20Ln,%20Texarkana,%20TX%2075503,%20USA|5601%20Larry%20Dr,%20Texarkana,%20TX%2075503,%20USA&mode=driving&key=xxx
Fatal error: Unexpectedly found nil while unwrapping an Optional value: file /Users/shinehah/Documents/Xcode Projects/Routes folder/Routes 08/Routes/MapTasks.swift, line 123
2020-05-29 14:08:52.570189-0500 Routes[1576:2052272] Fatal error: Unexpectedly found nil while unwrapping an Optional value: file /Users/shinehah/Documents/Xcode Projects/Routes folder/Routes 08/Routes/MapTasks.swift, line 123

Код работал для этой строки, которая имеет одну путевую точку, в отличие от строка с ошибкой, содержащая две путевые точки.

https://maps.googleapis.com/maps/api/directions/json?origin=New%20Address&destination=3%20Wisteria%20Dr,% 20Texarkana,% 20TX% 2075503,% 20USA & waypoints = optimize: true21% 20Summer% 20Ln,% 20Texarkana, % 20TX% 2075503,% 20USA & mode = driving & key = xxx

1 Ответ

1 голос
/ 29 мая 2020

Знак "|" виновником является символ, так как он не входит в список допустимых символов согласно RF C 3986:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=

Решение: замените его эквивалентным ему в процентном кодировании,% 7 c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...