2012-08-15 71 views
0

我正在開發一個iOS應用程序。在這個應用程序中,我有一種類型的視圖,其中包括其他信息呈現MKMapView地圖到當前選定的公司商店;商店的位置通過一個圖釘在地圖上繪製出來。該針有一個自定義的MKAnnotationView,我在其中添加了一個詳細披露按鈕。我想要做的是,當用戶按下按鈕,提出一些選擇的彈出式廣告 - 就像去特定商店的網站一樣。導航到MKMapView上的註釋位置

我想實現的選項之一是從用戶的當前位置導航到商店的位置。我想要應用程序要做的是提供一個應該說史密斯的提示。比如「導航到位置」,點擊後打開Goog​​leMaps,選擇導航到位置選項,選擇CurrentLocation作爲「開始」,商店的位置存儲在引腳的座標中作爲「結束」。可以這樣做,因爲我還沒有找到解決辦法呢?如果是這樣,怎麼樣?

+0

看一看http://stackoverflow.com/問題/ 30058/how-can-i-launch-the-google-maps-iphone-application-from-within-my-own-native-ap並找出需要爲您的操作提供哪些參數。 – anka 2012-08-15 11:36:19

+0

還可以查看https://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/MapLinks.html – anka 2012-08-15 11:38:00

回答

2

我與此代碼做到了:

- (void) openBrowser:(id)sender 
{ 
    NSString *[email protected]""; 
    launchUrl= [launchUrl stringByAppendingString:@"http://maps.google.com/maps?daddr="]; 
    NSString *tmpLat = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.latitude]; 
    NSString *tmpLong = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.longitude]; 
    NSString *llat=[tmpLat stringByAppendingString:[@"," stringByAppendingString:tmpLong]]; 
    launchUrl=[@"http://maps.google.com/maps?daddr=" stringByAppendingString:llat]; 
    launchUrl=[launchUrl stringByAppendingString:[@"&saddr=" stringByAppendingString:@"Current Location"]]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[launchUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; 
} 

openBrowser是我與細節公開按鈕調用一個方法。 我發現指向maps.google.com的網址默認由安裝在手機上的Google地圖應用處理; 從A點到B點方向url必須是這樣的:

http://maps.google.com/maps?daddr=whatever&saddr=whatever

DADDR =目標

SADDR =來源