我有一个带有如下链接的 UIWebView:
<a href="maps:saddr=Current Location&daddr=Some place on Earth@38.043316,-120.397757">Get Directions</a>
在 Safari Mobile 中,此链接工作正常并打开带有当前位置的 map 应用程序到纬度/经度方向,但在我的 iPhone 应用程序中的 UIWebView 中它会导致此错误:
didFailLoadWithError:Error Domain=WebKitErrorDomain Code=101 "The URL can't be shown"
我已将以下代码添加到我的 shouldStartLoadWithRequest 中,它检查非标准方案并尝试使用内部应用启动它:
if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"] ) {
if ([[UIApplication sharedApplication]canOpenURL:url]){
[[UIApplication sharedApplication]openURL:url];
return NO;
}
}
return YES;
我做错了什么?这曾经在以前的 iOS 版本中有效。
最佳答案
正确的 URL 不再以“ map ”开头。而是使用“http”。您还需要指定谷歌服务器。
这是相关文档的链接:Map Links
在您的情况下,它看起来像这样:
http://maps.google.com/maps?saddr=Current Location?daddr=Some place on Earth@38.043316,-120.397757
请注意,此代码未经测试,因为我现在不在我的开发机器附近。
关于ios - UIWebView href 打开 map 应用程序失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5774273/