从解析PFGeoPoint中获取Lat / Long

时间:2016-09-04 09:30:50

标签: swift xcode parse-platform geopoints

我目前在Parse Server上有一个PFGeoPoint,我可以通过执行以下操作成功检索(在Swift中):

let geo = listingObject?.objectForKey("geo")
// <PFGeoPoint: 0x7ff37d184840, latitude: 51.510005, longitude: -0.128493>

我现在想要做的是将纬度和经度输入到自己的变量中。

当我创建地图注释时,例如以下作品:

let anno = mapAnnotation(coordinate: CLLocationCoordinate2D(latitude: (geo?.latitude)!, longitude: (geo?.longitude)!))

然而,这会产生错误:

let latitude = geo?.latitude
// Ambiguous use of 'latitude'

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

objectForKey返回AnyObject,编译器不知道类型为PFGeoPoint。解决方案是将值转换为正确的类型。

使用可选绑定时,您可以删除所有?!标记

if let geo = listingObject?.objectForKey("geo") as? PFGeoPoint {
    let anno = mapAnnotation(coordinate: CLLocationCoordinate2D(latitude: geo.latitude, longitude: geo.longitude)
}