【问题标题】:Open Apple Maps for navigation with destination name set打开 Apple 地图以设置目的地名称进行导航
【发布时间】:2017-08-04 20:18:38
【问题描述】:

我正在从 Google 的 Places API 获取位置数据(如下面使用的坐标)。

当从我的应用链接到 Apple 地图进行导航时,我目前正在使用:

https://maps.apple.com/?daddr=[latitude],[longitude]

当地图打开时,它会在短时间内显示坐标,然后再解析为地址。 我想要的是显示目的地的名称,而不是坐标或地址。由于我使用的是 React Native,我会更喜欢仅使用 javascript 的解决方案(知道这实际上将这个问题的解决方案限制在一个 url)。

我尝试了here 列出的其他参数的组合,但无济于事。

【问题讨论】:

    标签: ios apple-maps


    【解决方案1】:

    试试这个功能,你只需要传递坐标和地名,这个可以,我在几个项目中都使用这个

    static func openMapsAppWithLocation(coordinates:CLLocationCoordinate2D,placeName:String)
    {
        let regionDistance:CLLocationDistance = 10000
        let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates, regionDistance, regionDistance)
        let options = [
            MKLaunchOptionsMapCenterKey: NSValue(mkCoordinate: regionSpan.center),
            MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: regionSpan.span)
        ]
        let placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
        let mapItem = MKMapItem(placemark: placemark)
        mapItem.name = placeName
        mapItem.openInMaps(launchOptions: options)
    }
    

    希望对你有帮助

    【讨论】:

    • 所以我猜没有办法只用 url 来做到这一点。我问是因为我使用的是本机反应,并且更喜欢纯 JavaScript 的解决方案。
    • @Palisand 我认为必须是使用 url 的一种方式,但是在您的问题中,您缺少需要 javascript 解决方案的规范,这是您问题的重要组成部分。
    • 好点,我会更新它。您的解决方案仍然适用于 react native,因为它支持原生模块。
    • @Palisand 然后你已经解决了这个问题,如果其他人将答案作为 url,应该对你更好,但如果你不能使用它,最好的问候
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2019-09-14
    • 2018-03-23
    • 1970-01-01
    相关资源
    最近更新 更多