mapItemは、地理座標と地名を取るMKLocalSearchリクエストからのものでなければなりません。 MKLocalSearchResponseから取得するmapItemsは、Apple Mapsが受け入れるものです。
let coordinate = CLLocationCoordinate2D(latitude: 38.89005200, longitude: -77.00251600)
var points = [MKMapPointForCoordinate(coordinate)]
let mapRect = MKPolygon(points: &points, count: 1).boundingMapRect
let region = MKCoordinateRegionForMapRect(mapRect)
let request = MKLocalSearchRequest()
request.naturalLanguageQuery = "Supreme Court Historical Society"
request.region = region
let localSearch:MKLocalSearch = MKLocalSearch(request: request)
localSearch.start(completionHandler: { (response:MKLocalSearchResponse?, error:Error?) in
if error == nil {
activity.mapItem = response!.mapItems[0]
var userInfo = [String: AnyObject]()
userInfo["placemark"] = NSKeyedArchiver.archivedData(withRootObject: activity.mapItem.placemark)
activity.userInfo = userInfo
activity.contentAttributeSet?.supportsNavigation = true
activity.contentAttributeSet?.supportsPhoneCall = true
}
})
私は同じ問題に実行している:私は私のアプリに地図から場所を共有することにより、MKMapItemを生成し、この同じマップ項目がNSUserActivity.mapItemを経由してマップに戻って共有されている場合、それはしていません場所の名前を表示するか、地理的な詳細をエンコードするように見える。 –