【问题标题】: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= 来源

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-22
    • 2017-04-15
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多