2016-08-11 18 views
4

「どこに行きたいですか?」というリストのAppleマップに推奨候補を表示しようとしています。 iOS 10のNSUserActivityにmapItemプロパティが追加されました。地理座標と地名で作成したMKPlacemarkから作成したMKMapItemで設定しています。iOS 10 NSUserActivity、Location Suggestions - MKMapItemがマップに表示されない

マップに行くと地名が表示されません。 WWDC2016、セッション240を何度か行った後、私は間違っていることをまだ見つけることができません。

答えて

1

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 
     } 
    }) 
+0

私は同じ問題に実行している:私は私のアプリに地図から場所を共有することにより、MKMapItemを生成し、この同じマップ項目がNSUserActivity.mapItemを経由してマップに戻って共有されている場合、それはしていません場所の名前を表示するか、地理的な詳細をエンコードするように見える。 –

関連する問題