Apple 地图未在链接上打开

Posted

技术标签:

【中文标题】Apple 地图未在链接上打开【英文标题】:Apple maps not opening on link 【发布时间】:2014-01-21 12:38:02 【问题描述】:

我对 ios 开发非常陌生。我们目前正在使用 Cordova 开发一个 WebApp,当我们单击一个按钮时,我们需要一个插件来打开本机地图应用程序。我们当前的实现如下所示:

#import "Maps.h"

@implementation Maps

-(void)startNavigation:(CDVInvokedUrlCommand *)command
   NSString* street = [command.arguments objectAtIndex:0];
   NSString* town = [command.arguments objectAtIndex:1];

   street = [street stringByReplacingOccurrencesOfString:@" " withString:@"+"];
   town = [town stringByReplacingOccurrencesOfString:@" " withString:@"+"];

   NSString* address = [NSString stringWithFormat: @"http://maps.apple.com/?q=%@, %@", street, town];

   [[UIApplication sharedApplication] openURL:[NSURL URLWithString: address]];


@end

但它没有效果,虽然我可以看到地址字符串是正确的。如果我经过小镇,一切都很好......有什么想法吗?

谢谢

沃尔

编辑:

谢谢,我检查了字符串,它不是有效的 URL。不,我正在通过

转义字符串
address = [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

一切正常。

【问题讨论】:

【参考方案1】:

行:

NSString *address = [NSString stringWithFormat: @"http://maps.apple.com/?q=%@, %@", street, town];

将 product 'http://maps.apple.com/?q=blah, blah" -- 这是一个有效的 URL(空格)吗?

您应该确认应用程序可以使用以下方式打开:

[[UIApplication sharedApplication] canOpenURL:someURL];

【讨论】:

以上是关于Apple 地图未在链接上打开的主要内容,如果未能解决你的问题,请参考以下文章

使用坐标和标签链接到 Apple 地图

用于在 Apple 地图中打开方向的 jQuery Mobile 按钮

网址上的 Apple Maps 注释

打开 Apple 地图以设置目的地名称进行导航

链接到 Apple 地图,将路线设置为“步行”

window.open链接未在Windows Phone 8的cordova应用中打开