我正在使用Apple的Footprint: Indoor Positioning with Core Location sample code来构建移动应用程序。这段代码在Swift 3.0中,我正在将其转换为Swift 5.0语法。 当我运行此Swift 3.0代码时,
coordinate = MKCoordinateForMapPoint(boundingMapRect.getCenter())
我收到此错误。
“ MKCoordinateForMapPoint”已替换为属性“ MKMapPoint.coordinate'”
当我将语法更改为
coordinate = MKMapPoint.coordinate (boundingMapRect.getCenter())
我收到此错误消息
“实例成员'coordinate'不能用于'MKMapPoint'类型”
如何使这行代码运行?
答案 0 :(得分:0)
Apple在getCenter()
的扩展名中定义了MKMapRect
:
extension MKMapRect {
/**
- returns: The point at the center of the rectangle.
- parameter rect: A rectangle.
*/
func getCenter() -> MKMapPoint {
return MKMapPointMake(MKMapRectGetMidX(self), MKMapRectGetMidY(self))
// now return MKMapPoint(x: self.midX, y: self.midY)
}
}
由于getCenter()
返回一个MKMapPoint
,因此您只需要访问其coordinate
属性:
coordinate = boundingMapRect.getCenter().coordinate