如何在 Apple Watch 中打开具有特定位置的地图应用程序?

How do I open the Maps App in Apple Watch with a specific Location?

现在,我有一个 Apple Watch 应用程序,它显示带有几个位置的地图。在玩我的 Apple Watch 时,我意识到如果你点击地图,它会打开 Apple Watch 地图。

我的主要问题是,如何设置它以便在点击地图或点击按钮时打开 Apple Watch 地图,显示目的地。我知道如何使用 iPhone 执行此操作,但我不确定它如何与 Apple Watch 一起使用。

如果您显示的地图只有一个位置图钉,则当用户点击地图时,它会打开指向该位置的地图应用。这是目前在手表上打开地图应用程序的唯一方式。 Apple 在 Apple 开发者论坛上确认

"There is no url to call at this time. The user tapping on a WKInterfaceMap object is the only way to launch the Maps app from yours."

Apple Dev Forums

我们找到了一种以编程方式启动地图应用程序的方法,甚至可以覆盖在地图上点击打开的位置(这也允许设置位置名称)。将以下代码添加到处理按钮点击的函数中:

let center = CLLocationCoordinate2DMake(latitude, longitude)
let placemark = MKPlacemark(coordinate: center, addressDictionary: nil)
let mapItem = MKMapItem(placemark: placemark)
mapItem.name = "Name of location"
mapItem.openInMaps(launchOptions: nil)

要覆盖在地图上点击显示的位置,请将点击手势识别器添加到地图并将上述代码放入选择器函数中。