2014-01-21 36 views
0

我對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 

但它沒有效果,雖然我可以看到adress-String是正確的。如果我經過城鎮,一切工作都很好......任何想法?

感謝

沃爾瑪

編輯:

感謝我檢查字符串,它是不是一個有效的URL。不,我逃避字符串通過

address = [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

一切工作正常。

回答

0

行:

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

將產品'http://maps.apple.com/?q=blah,嗒嗒」 - 是一個有效的URL(空間)

,應確認該應用程序可以使用開放:

[[UIApplication sharedApplication] canOpenURL:someURL];