問題描述
我正在嘗試從我的 iPhone SDK 應用程序啟動地圖應用程序.現在我可以啟動帶有路線的地圖應用程序,但它會轉到路線概覽,并且不使用 Siri 和語音導航來提供轉彎路線.
I am trying to launch the maps app from my iPhone SDK app. Right now I can launch the maps app with directions but it goes to an overview of the directions and doesn't use Siri and the voice navigation to give turn by turn directions.
目前我有一個啟動此代碼的按鈕...
currently I have a button that launches this code...
NSString *address = viewedObject.addressFull;
NSString *url = [NSString stringWithFormat: @"http://maps.apple.com/maps?saddr=%f,%f&daddr=%@", here.latitude, here.longitude, [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
推薦答案
iOS 6 提供了一種啟動地圖的新方法,使用 MKMapItem
中的 openMapsWithItems:
.這是我使用的一個片段,它提供從當前位置到所提供坐標的步行或駕車路線:
With iOS 6 there's a new way to launch maps, using openMapsWithItems:
in MKMapItem
. Here's a snippet that I use that provides walking or driving directions from current location to the provided coordinates:
// iOS 6.0+ only
MKPlacemark* destPlace = [[[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil] autorelease];
MKMapItem* destMapItem = [[[MKMapItem alloc] initWithPlacemark:destPlace] autorelease]; destMapItem.name = stationItem.title;
NSArray* mapItems = [[[NSArray alloc] initWithObjects: destMapItem, nil] autorelease];
NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:
walking ? MKLaunchOptionsDirectionsModeWalking : MKLaunchOptionsDirectionsModeDriving,
MKLaunchOptionsDirectionsModeKey, nil];
[MKMapItem openMapsWithItems:mapItems launchOptions:options];
按照您的方式,如果在 iOS 6 之前的設備上運行,您仍然需要這樣做,您需要在 URL 中包含 dirflg
以請求步行或駕車路線:
The way you are doing it, which you still have to do if running on pre-iOS 6 devices, you need to include the dirflg
in the URL to request walking or driving directions:
// pre iOS 6 code
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirflg=%c",
currentLocation.coordinate.latitude,
currentLocation.coordinate.longitude,
destination.coordinate.latitude,
destination.coordinate.longitude,
walking ? 'w' : 'd'];
這篇關于iPhone SDK 6 啟動帶有語音導航方向的地圖的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!