开发者

UIWebView href to open Map application failing

开发者 https://www.devze.com 2023-02-28 23:56 出处:网络
I have a UIWebView with a link as follows: <a href=\"maps:saddr=Current Location&amp;daddr=Some place on Earth@38.043316,-120.397757\">Get Directions</a>

I have a UIWebView with a link as follows:

<a href="maps:saddr=Current Location&amp;daddr=Some place on Earth@38.043316,-120.397757">Get Directions</a>

Within Safari Mobile this link works just fine and opens the Map app with current location to lat/lon directions, but inside of my iPhone app in a UIWebView it results in this error:

didFailLoadWithError:Error Domain=WebKitErrorDomain Code=101 "The URL can't be shown"

I have added the following code to my shouldStartLoadWithRequest which checks for non-standard schemes and tries to launch it using the interna开发者_运维百科l app:

if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"] ) {
     if ([[UIApplication sharedApplication]canOpenURL:url]){
          [[UIApplication sharedApplication]openURL:url];
          return NO;
     }
}
return YES;

What could I be doing wrong? This used to work in prior iOS versions.


The correct URL no longer starts with "maps". Instead use "http". You also need to specify the google servers.

Here is a link to the relevant docs: Map Links

In your case it would look something like this:

http://maps.google.com/maps?saddr=Current Location?daddr=Some place on Earth@38.043316,-120.397757

Please note that this code is not tested as I am not near my development machine right now.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号