在我的iOS应用中,我有一个用户想要到达的地方的纬度和经度(CLLocationCoordinate2D
)。我想要的是,当按下相对按钮时,将启动地图应用程序并启动到该地点的街道导航。我怎样才能做到这一点?到目前为止,我的代码是:
@IBAction func launchMapsApp(sender:UIButton) {
if (sender == self.navButton) {
let mapItem = MKMapItem(placemark: MKPlacemark(coordinate: self.currentCoordinates, addressDictionary: nil))
mapItem.name = ""
//You could also choose: MKLaunchOptionsDirectionsModeWalking
let launchOptions = [MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving, MKLaunchOptionsShowsTrafficKey: true]
mapItem.openInMapsWithLaunchOptions(launchOptions as? [String : AnyObject])
}
}
但有了这个,地图应用程序就会启动,我只是看到我的州(意大利)的地图,没有更多的事情发生。也许,因为我只在模拟器中运行? 感谢所有
答案 0 :(得分:6)
你走在正确的轨道上:这是我的swift 2.0代码:
$someTime = clone $obj->getTime1();
$someTime ->sub(new \DateInterval('P'.$days.'D'));
$event->setTime2($someTime);
我希望我的代码可以为您提供一些见解。
答案 1 :(得分:2)
您的原始代码看起来是正确的。正如您所说,可能的问题是您使用模拟器的方式。您可以通过模拟器中的“调试”菜单设置模拟位置(位置 - >自定义)。
要启动地图并开始导航到特定位置(而不是像在另一个答案中那样在所需位置打开带有标记的地图),我使用此功能(在Swift 3中):
let coordinates = CLLocationCoordinate2DMake(destLatitude, destLongitude)
let placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
let mapitem = MKMapItem(placemark: placemark)
let options = [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving]
mapitem.openInMaps(launchOptions: options)
希望这会有所帮助......