我将XCode更新为7和BAM ..很多错误。
其中之一是注释不再具有纬度和经度成员。这在更新之前就像一个魅力,所以我很困惑,因为这里有这个。
这里的问题是我正在查看当前地图上的所有注释,并尝试过滤已经固定在地图上的特定纬度和经度位置。
var existingPins = self.mapView.annotations.filter {m in m.latitude == getLocation.latitude! && m.longitude == getLocation.longitude! }
我不得不认为还有另一个我不熟悉的角度来获得这些坐标。我将继续搜索,但非常感谢任何帮助。
答案 0 :(得分:1)
etPass.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_lock_open, 0, R.drawable.icon_close, 0);
是一个协议,所以你实现该协议的任何类型都可能是提供纬度方法的。 MKAnnotation
不包含MKAnnotation
方法,但它确实需要latitude
方法,该方法返回coordinate
,其中 包括纬度成员。
如果没有看到你的代码,我猜你有两个选择:
CLLocationCoordinate2D
来电更改为m.latitude
。m.coordinate.latitude
或as?
运算符将注释作为实际执行as!
的自定义类型。答案 1 :(得分:1)
永远不会失败,我花了好几个小时挠头,我发布了问题,几分钟后我发现了它。
“m”是一个特定的注释,我需要指定其中包含lat / lon的坐标成员。
另外,我需要将传入的值作为双精度投射,以便我可以比较它们。我不确定这在xcode 7之前是如何工作的。
这是修改后的代码。
let existingPins = self.mapView.annotations.filter {m in m.coordinate.latitude == Double(getLocation.latitude!) && m.coordinate.longitude == Double(getLocation.longitude!) }