【发布时间】:2019-04-26 07:00:29
【问题描述】:
当用户键入该位置在 mapkit 中显示的位置时,我正在使用 mapkit 显示位置,用于搜索位置。使用自动填充位置实现了自定义搜索,一切正常。但是当我单击 tableview 中的某些位置名称时,它会显示
错误域=kCLErrorDomain Code=8 "(null)"。
var searchCompleter = MKLocalSearchCompleter()
var searchResults = [MKLocalSearchCompletion]()
func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) {
searchResults = completer.results
for searchresult in searchResults {
print("titlevalues",searchresult.title)
}
if (searchResults.count != 0) {
self.searchTableView.isHidden = false
} else {
self.searchTableView.isHidden = true
}
self.searchTableView.reloadData()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: SelectLocationTableCell = tableView.dequeueReusableCell(withIdentifier: "SelectLocationTableCell") as! SelectLocationTableCell
let searchresult = searchResults[indexPath.row]
cell.titleLabel.text = searchresult.title
cell.descriptionLabel.text = searchresult.subtitle
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let searchresult = searchResults[indexPath.row]
self.setSelectMarkinAction(searchResult: searchresult)
self.searchTableView.isHidden = false
self.doneButton.isHidden = false
}
func getCoordinate( addressString : String,
completionHandler: @escaping(CLLocationCoordinate2D, NSError?) -> Void ) {
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(addressString) { (placemarks, error) in
if error == nil {
if let placemark = placemarks?[0] {
let location = placemark.location!
completionHandler(location.coordinate, nil)
return
}
}
completionHandler(kCLLocationCoordinate2DInvalid, error as NSError?)
}
}
func setSelectMarkinAction(searchResult: MKLocalSearchCompletion) {
print("location address tile",searchResult.title)
getCoordinate(addressString: searchResult.title) { (location, error) in
if (error == nil) {
self.setMarkLocationInMap(searchResult: searchResult, location: location)
print("locationdata",location)
} else {
print("error values",error as Any)
}
}
}
This error am getting some of locations
location address tile Reva University
error values Optional(Error Domain=kCLErrorDomain Code=8 "(null)")
当我选择任何位置时,我必须在 mapkit 上显示位置
【问题讨论】: