gpt4 book ai didi

iPhone SDK 6 启动带有语音导航方向的 map

转载 作者:行者123 更新时间:2023-12-03 19:36:26 24 4
gpt4 key购买 nike

我正在尝试从我的 iPhone SDK 应用程序启动 map 应用程序。现在,我可以启动包含路线的 map 应用程序,但它会显示路线概述,并且不会使用 Siri 和语音导航来提供逐段路线指示。

目前我有一个启动此代码的按钮...

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 提供了一种启动 map 的新方法,即使用 MKMapItem 中的 openMapsWithItems:。这是我使用的一个片段,它提供了从当前位置到所提供坐标的步行或驾驶路线:

// 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 来请求步行或驾车路线:

// 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 启动带有语音导航方向的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com