如何使用我的 ios 应用程序中的路线打开苹果地图应用程序
Posted
技术标签:
【中文标题】如何使用我的 ios 应用程序中的路线打开苹果地图应用程序【英文标题】:How to open a apple maps application with directions from my ios application 【发布时间】:2013-03-11 23:30:07 【问题描述】:我的目标是从ios应用程序打开一个带有方向的地图应用程序,我可以打开地图应用程序但它没有显示方向,我编写了如下代码
NSString *mystr=[[NSString alloc] initWithFormat:@"http://maps.apple.com/maps?saddr=Current+Location&daddr=Newyork"];
NSURL *myurl=[[NSURL alloc] initWithString:mystr];
[[UIApplication sharedApplication] openURL:myurl];
谁能帮我弄清楚如何将参数传递给这个网址和其他网址?
【问题讨论】:
请看这个链接***.com/questions/7605879/… 【参考方案1】:CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(self.location.latitude,self.location.longitude);
//create MKMapItem out of coordinates
MKPlacemark* placeMark = [[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil];
MKMapItem* destination = [[MKMapItem alloc] initWithPlacemark:placeMark];
if([destination respondsToSelector:@selector(openInMapsWithLaunchOptions:)])
//using iOS6 native maps app
if(_mode == 1)
[destination openInMapsWithLaunchOptions:@MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeWalking];
if(_mode == 2)
[destination openInMapsWithLaunchOptions:@MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving];
if(_mode == 3)
[destination openInMapsWithLaunchOptions:@MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeTransit];
else
//using iOS 5 which has the Google Maps application
NSString* url = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=Current+Location&daddr=%f,%f", self.location.latitude, self.location.longitude];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
【讨论】:
_mode
变量从何而来?
你自己的变量来选择你想要的:)【参考方案2】:
如果您的意思是基于两点将用户带到地图应用程序,那么您可以这样做:
创建一个如下所示的 NSURL:
NSURL *URL = [NSURL URLWithString:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f"];
您适当地插入您的起始地址和目的地(经纬度)。 告诉您的应用程序打开 URL
[[UIApplication sharedApplication] openURL:URL];
它应该会自动将您带到地图应用程序!
【讨论】:
以上是关于如何使用我的 ios 应用程序中的路线打开苹果地图应用程序的主要内容,如果未能解决你的问题,请参考以下文章