【问题标题】:Navigate to annotation location on MKMapView导航到 MKMapView 上的注释位置
【发布时间】:2012-08-11 16:01:21
【问题描述】:
我正在开发一个 iOS 应用程序。在这个应用程序中,我有一种视图,其中包括向当前选择的公司商店提供 MKMapView 地图的其他信息;商店的位置通过图钉绘制在地图上。该图钉有一个自定义的 MKAnnotationView,我在其中添加了一个详细信息披露按钮。我想要做的是当用户按下按钮时,显示一个带有一些选择的弹出窗口 - 比如去那个特定商店的网站。
我想要实现的选项之一是从用户的当前位置导航到商店的位置。我希望应用程序做的是提供一个应该说 smith 的选项。比如“导航到位置”,点击它会打开谷歌地图,选择导航到位置选项,选择 CurrentLocation 作为“开始”,选择存储在 pin 坐标中的商店位置作为“结束”。可以这样做吗,因为我还没有找到解决方案?如果有,怎么做???
【问题讨论】:
标签:
ios
mkmapview
mapkit
coordinates
mkannotation
【解决方案1】:
我用这段代码做到了:
- (void) openBrowser:(id)sender
{
NSString *launchUrl=@"";
launchUrl= [launchUrl stringByAppendingString:@"http://maps.google.com/maps?daddr="];
NSString *tmpLat = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.latitude];
NSString *tmpLong = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.longitude];
NSString *llat=[tmpLat stringByAppendingString:[@"," stringByAppendingString:tmpLong]];
launchUrl=[@"http://maps.google.com/maps?daddr=" stringByAppendingString:llat];
launchUrl=[launchUrl stringByAppendingString:[@"&saddr=" stringByAppendingString:@"Current Location"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[launchUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}
openBrowser 是我使用详细信息披露按钮调用的方法。
我发现指向maps.google.com 的网址默认由手机上安装的谷歌地图应用程序处理;
对于从 A 点到 B 点的路线,网址必须类似于:
http://maps.google.com/maps?daddr=whatever&saddr=whatever
daddr= 目的地
saddr= 来源