使用MapKit和Swift在给定地址中打开地图

时间:2017-05-11 14:48:41

标签: ios swift geolocation mapkit geocoding

我在Swift 3中理解Apple的MapKit时遇到了一些麻烦。

我在这里找到了一个例子:How to open maps App programmatically with coordinates in swift?

public func openMapForPlace(lat:Double = 0, long:Double = 0, placeName:String = "") {     
    let latitude: CLLocationDegrees = lat
    let longitude: CLLocationDegrees = long

    let regionDistance:CLLocationDistance = 100
    let coordinates = CLLocationCoordinate2DMake(latitude, longitude)
    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)
}

除了在这种情况下我需要使用地址而不是坐标之外,这绝对是有效的。

我找到了使用谷歌地图做到这一点的方法,但我似乎无法找到Apple地图的具体答案,如果它存在,我已经完成了它的上釉。

如果有人能帮助我理解正确的方法是什么,那将是惊人的。我正在使用:

  • Xcode 8.3.1
  • Swift 3.1
  • MACOS
  • 定位iOS 10 +

0 个答案:

没有答案