只要會走路的人都需要地圖,而iOS6開始有內建可以呼叫地圖服務來導航 (Call Map Service to Navigation),它會幫我們規劃幾條可行的路線,我們就可以選擇適合的路線從起點到目的地囉~
在此展示從師大分部到臺北101的導航~
只要幾個簡單的步驟,就可以成功呼叫地圖服務來導航 (Call Map Service to Navigation)。
- 根據台北101座標設定一個大頭針標示
- 設定大頭針上的標籤資訊
- 根據師大分部座標設定一個大頭針標示
- 設定大頭針上的標籤資訊
- 決定起終點:師大分部為起點,台北101為終點
- 設定導航模式是行車還是走路
- 開啓內建的地圖
/**
Theme: Call Map Service to Navigation
IDE: Xcode 6
Language: Objective C
Date: 103/11/02
Author: HappyMan
Blog: https://cg2010studio.wordpress.com/
*/
- (void)viewDidLoad
{
[super viewDidLoad];
// 取得現在所在位置
// MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
// 取得台北101所在位置
// 根據台北101座標設定一個大頭針標示
MKPlacemark *markTaipei101 = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(25.0335, 121.5651) addressDictionary:nil];
MKMapItem *taipei101 = [[MKMapItem alloc] initWithPlacemark:markTaipei101];
// 設定大頭針上的標籤資訊
taipei101.name = @"台北101";
taipei101.phoneNumber = @"0977123456";
// 取得師大分部所在位置
// 根據師大分部座標設定一個大頭針標示
MKPlacemark *markSchool = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(25.0084083, 121.535736) addressDictionary:nil];
MKMapItem *school = [[MKMapItem alloc] initWithPlacemark:markSchool];
// 設定大頭針上的標籤資訊
school.name = @"師大分部";
school.phoneNumber = @"0933123456";
// 決定現在所在位置是起點還是終點
// 這樣的設定是:師大分部為起點,台北101為終點
NSArray *array = [[NSArray alloc] initWithObjects:school, taipei101, nil];
// 設定導航模式是行車還是走路
NSDictionary *param = [NSDictionary dictionaryWithObject:MKLaunchOptionsDirectionsModeDriving forKey:MKLaunchOptionsDirectionsModeKey];
// 開啓內建的地圖
[MKMapItem openMapsWithItems:array launchOptions:param];
}
參考:iOS7程式設計實戰 – 呼叫地圖服務來導航。



Comments on: "[iOS] 呼叫地圖服務來導航 (Call Map Service to Navigation)" (1)
[…] Map顯示地點後,我們也不想要呼叫內建Apple Map導航,因為iOS 6後Apple棄用它,這時候想要報復就來使用Google […]
讚讚