簡體   English   中英

iOS支持第三方導航

[英]iOS support 3rd party navigation

在iOS 8中(也許我也記不起來是7),您可以設置默認的導航應用程序。 我當前正在實現一個按鈕,該按鈕使用戶可以通過以下方式打開Apple Maps並獲取前往某個位置的路線:

- (IBAction)getDirections:(id)sender {

CLLocationCoordinate2D endingCoord = storeLocation;
MKPlacemark *endLocation = [[MKPlacemark alloc] initWithCoordinate:endingCoord addressDictionary:nil];
MKMapItem *endingItem = [[MKMapItem alloc] initWithPlacemark:endLocation];
endingItem.name = @"Cubes Pizza Sunway";

NSMutableDictionary *launchOptions = [[NSMutableDictionary alloc] init];
[launchOptions setObject:MKLaunchOptionsDirectionsModeDriving forKey:MKLaunchOptionsDirectionsModeKey];

[endingItem openInMapsWithLaunchOptions:launchOptions];

}

這很好用,並啟動了我所期望的。 但是,如果用戶安裝了Google Maps怎么辦? 蘋果會自動給用戶一個選擇嗎? 還是我需要實施一個活動表並檢測所有導航應用,然后找出每個應用的URL模式?)

我將如何實施這樣的事情?

這是相同的問題: iOS-從代碼運行第三方導航應用程序,但是它已經使用了一年,並且想知道此功能是否由APPLE實現,如果不是,則如何實現檢查是否已安裝應用程序等。

Google Maps具有可用於啟動該應用程序的URL方案 這是您要求路線的方式 如他們頁面上所述,您可以通過以下方式檢查是否安裝了Google Maps應用:

UIApplication.sharedApplication().canOpenURL(NSURL(string: "comgooglemaps://")!)

您還需要將comgooglemaps添加到Info.plist中的LSApplicationQueriesSchemes字典中,以便能夠在iOS 9上使用canOpenURL:方法,如本博文所述。

我相信您正在考慮的“默認導航應用程序”實際上是用戶在內置Maps應用程序中手動切換其他應用程序的一種方式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM