我正在尝试找出将字符串值传递给Apple映射的最佳方法,以便我可以搜索它。我正在开发一个类中的应用程序,该应用程序从数组中提取随机字符串,并且希望能够调用设备上已经存在的apple maps并搜索选择的任何字符串。我查找了MKLocalSearchRequest,我认为这可能是最简单的选择,我不确定如何将其与Apple Maps集成,而不是与应用程序内部的mapkitview一起使用。我发现这是一种似乎可行的方法,但我不确定如何声明它。

 class func openMaps(with mapItems: [MKMapItem],
 launchOptions: [String : Any]? = nil) -> Bool

最佳答案

import CoreLocation

然后在viewDidLoad中:
    let geocoder = CLGeocoder()

    let locationString = "London"

    geocoder.geocodeAddressString(locationString) { (placemarks, error) in
        if let error = error {
            print(error.localizedDescription)
        } else {
            if let location = placemarks?.first?.location {
                let query = "?ll=\(location.coordinate.latitude),\(location.coordinate.longitude)"
                let urlString = "http://maps.apple.com/".appending(query)
                if let url = URL(string: urlString) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                }
            }
        }
    }

10-08 08:13
查看更多