打开 Apple 地图时为目的地地址添加标签

Posted

技术标签:

【中文标题】打开 Apple 地图时为目的地地址添加标签【英文标题】:Adding a label to Destination Address when opening Apple Maps 【发布时间】:2015-10-07 02:06:26 【问题描述】:

我想要做的是允许用户打开 Apple 地图并让它自动打开 Directions 表单,以便他们获取到我所在位置的路线。

目的地是纬度/经度对。我正在这样做:

NSString *addressString = @"http://maps.apple.com/?daddr=50.894967,4.341626&dirflg=d";
NSURL *url = [NSURL URLWithString:addressString];
[[UIApplication sharedApplication] openURL:url];

这会按我的预期打开 Apple 地图。但是,在目标字段中,它显示纬度/经度对。我想指定这个标签。这就是我的意思:

无论如何我可以使用 URL 参数将坐标替换为标签吗?

谢谢!

【问题讨论】:

对不起,我不太明白想要达到什么目的。你能再解释一下吗? @joern 在屏幕截图中,“End:”字段自动填充为“50.894967, 4.341626”,但我希望能够指定一些其他文本进入该字段(位置名称我正在将用户导航到) 【参考方案1】:

您可以使用核心位置获取当前位置,然后您可以使用该信息设置您的 "Start" 点。您不必设置 "End" 点。

请检查此链接,我相信您会发现它很有用;

How to invoke iPhone Maps for Directions with Current Location as Start Address

【讨论】:

【参考方案2】:

这可能不是您想要的方式。但它为我们打开地图应用程序提供了更大的灵活性。那就是使用[MKMapItem openMapsWithItems:launchOptions:] 要求地图打开地址。不过,屏幕看起来与您的预期有些不同。

CLLocation* location = [[CLLocation alloc] initWithLatitude:50.894967 longitude:4.341626];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(location.coordinate, 10000, 10000);
NSDictionary *addressDict = @
        (NSString *) kABPersonAddressStreetKey : @"Any Name",
;
MKPlacemark *destinationPlacemark = [[MKPlacemark alloc] initWithCoordinate:location.coordinate addressDictionary:addressDict];
MKMapItem *destinationMapItem = [[MKMapItem alloc] initWithPlacemark:destinationPlacemark];

[destinationMapItem openInMapsWithLaunchOptions:@MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving];

[MKMapItem openMapsWithItems:@[destinationMapItem]
               launchOptions:@
                       MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                       MKLaunchOptionsMapSpanKey : [NSValue valueWithMKCoordinateSpan:region.span]
               
];

【讨论】:

【参考方案3】:

只需使用核心位置作为当前位置,然后开始,虽然不需要结束

【讨论】:

以上是关于打开 Apple 地图时为目的地地址添加标签的主要内容,如果未能解决你的问题,请参考以下文章

使用坐标和标签链接到 Apple 地图

百度地图API-标注点添加标签

在 Swift 中的 Apple Maps 上添加标记标签 [关闭]

百度地图笔记_多边形覆盖物区域加标签

打开 Apple 地图以设置目的地名称进行导航

使用 iOS 地图链接 api 在标记上设置标签