在地图上查找带有位置

时间:2015-07-25 22:41:04

标签: ios swift xcode6

当我在地图上添加注释时,我想突出显示它 我知道我必须使用 mapView1.selectAnnotation(annotation: MKAnnotation!, animated: Bool)

但我无法获取我的MKAnnotation对象,我所拥有的只是注释的位置(CLLocationCoordinate2D)。

我的问题是我如何才能知道他的位置?

编辑:理论上发现了解决方案,但有一个错误: for annotation in self.mapView1.annotations as! [MKAnnotation] { println(" ") let annotLatitude = annotation.coordinate.latitude let annotLongitude = annotation.coordinate.longitude let eventLatitude = self.appDel!.lastEventCoords.latitude let eventLongitude = self.appDel!.lastEventCoords.longitude println("annotLatitude : (annotLatitude) , annotLongitude : (annotLongitude)") println("eventLatitude : (eventLatitude) , eventLongitude : (eventLongitude)")
if (annotLatitude == eventLatitude && annotLongitude == eventLongitude) { self.lastAnnotationAdded = annotation println("Location equals") self.mapView1.selectAnnotation(self.lastAnnotationAdded!, animated: true) break }

输出: annotLatitude : 47.4799380142289 , annotLongitude : -0.44762351737708 eventLatitude : 47.4799380142289 , eventLongitude : -0.44762351737708

纬度和经度完全相同,但不执行“if”循环!有时它有效,但有时不行。怎么可能???

EDIT2:问题解决了
为了比较坐标,我不得不在使用func tronc()

之前截断它们

1 个答案:

答案 0 :(得分:1)

MKMapView有一个注释列表,它的template<class T, class A> void operator==(const T &q, const A &w); 属性。因此,请查看这些内容,直到找到所需的内容(具有正确的error C2451: conditional expression of type 'void' is illegal c:\users\axiom\documents\visual studio 2013\projects\_test_template\_test_template\source.cpp 11 1 _test_Template )。