在 MKMapItem.placemark.coordinate 崩溃
Crash at MKMapItem.placemark.coordinate
我正在开发一个应用 Swift 语言,这是搜索地图数据所必需的。
因此,我使用 MKLocalSearch 实现了搜索。搜索工作完美。我将搜索结果添加到一个数组中。
每当我尝试在 Map 上添加一个结果的 Annotation 时,它就会崩溃。
搜索代码在这里
var searchRequest : MKLocalSearchRequest = MKLocalSearchRequest()
searchRequest.naturalLanguageQuery = address
searchRequest.region = self.mapView.region
var search : MKLocalSearch = MKLocalSearch(request: searchRequest)
search.startWithCompletionHandler { (
response, err) -> Void in
//ARRAY IN WHICH I STORE RESULT
self.arrResult.removeAllObjects()
for mp in response.mapItems{
self.arrResult.addObject(mp)
}
self.searchTable.reloadData()
}
在点击结果时将注释添加到地图的代码 (UITableview)
var mItem : MKMapItem = arrResult[indexPath.row] as MKMapItem
var ann : MKAnnotationView = MKAnnotationView()
ann.annotation.setCoordinate!(mItem.placemark.coordinate)
self.mapView.addAnnotation(ann.annotation)
请帮助我。我坚持这个问题。
您的问题是您要向地图添加 MKAnnotationView
而不是 MKAnnotation
- 您需要添加实现 [=11] 的 class 实例=] 协议或 MKPointAnnotation
我正在开发一个应用 Swift 语言,这是搜索地图数据所必需的。 因此,我使用 MKLocalSearch 实现了搜索。搜索工作完美。我将搜索结果添加到一个数组中。 每当我尝试在 Map 上添加一个结果的 Annotation 时,它就会崩溃。
搜索代码在这里
var searchRequest : MKLocalSearchRequest = MKLocalSearchRequest()
searchRequest.naturalLanguageQuery = address
searchRequest.region = self.mapView.region
var search : MKLocalSearch = MKLocalSearch(request: searchRequest)
search.startWithCompletionHandler { (
response, err) -> Void in
//ARRAY IN WHICH I STORE RESULT
self.arrResult.removeAllObjects()
for mp in response.mapItems{
self.arrResult.addObject(mp)
}
self.searchTable.reloadData()
}
在点击结果时将注释添加到地图的代码 (UITableview)
var mItem : MKMapItem = arrResult[indexPath.row] as MKMapItem
var ann : MKAnnotationView = MKAnnotationView()
ann.annotation.setCoordinate!(mItem.placemark.coordinate)
self.mapView.addAnnotation(ann.annotation)
请帮助我。我坚持这个问题。
您的问题是您要向地图添加 MKAnnotationView
而不是 MKAnnotation
- 您需要添加实现 [=11] 的 class 实例=] 协议或 MKPointAnnotation