ios - iOS 应用程序中具有多个值的 Google Maps Distance Matrix Api

标签 ios google-maps google-distancematrix-api

我在我的应用程序中使用 Google Distance Matrix Api 来获取两点之间的距离和时间:

NSString *link              = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/distancematrix/json?origins=55.9667,25.5833&destinations=54.6833,25.2833&mode=drive&key=XXXXXXXXXXXXXXXXXXX"];
NSURL *url                  = [[NSURL alloc]initWithString:link];
NSURLRequest *request       = [NSURLRequest requestWithURL:url];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
[connection start];

一切正常,但是当我想使用 URL 获取多个点之间的距离和时间时:

NSString *link = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/distancematrix/json?origins=55.9667,25.5833|55.5000,25.6000&destinations=54.6833,25.2833|55.7000,21.1306&mode=drive&key=XXXXXXXXXXXXXXXXXXX-ts"];

我得到一个错误:

@"NSLocalizedDescription" : @"unsupported URL"
@"NSUnderlyingError" : domain: @"kCFErrorDomainCFNetwork" - code: 18446744073709550614  

如果我将这个 URL 放在浏览器中,它就会得到我想要的东西。多个起点/终点在 iOS 中不可用吗?还是我做错了什么?

更新: 它不会将我的链接转换为 NSURL。为零。

最佳答案

您需要转义链接中的非 ASCII 字符。

NSString* escapedLink = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

关于ios - iOS 应用程序中具有多个值的 Google Maps Distance Matrix Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368512/

相关文章:

ios - 在解析 ios 中更新安装表中的设备 token

ios - 我们可以在Windows机器上使用appium创建.ipa文件吗?

ios - 是否可以直接从 appDelegate 获取 GPS 位置 ios8

javascript - 刷新/重新加载 map : Google maps API V2

javascript - 使用纬度和经度将谷歌地图嵌入两个标记之间的路线

java - 计算两个纬度、经度点之间的持续时间或预计行驶时间

ios - 从 AppDelegate 发送本地通知时出现 NSInvalidArgumentException

wordpress - 谷歌地图关于报纸主题的问题

google-maps - Google map API 和 duration_in_traffic

reactjs - 如何使用 @react-google-maps/api 在 ReactJS 中使用距离矩阵 API?