RLMGeospatialPoint

Objective-C

@interface RLMGeospatialPoint : NSObject

Swift

class RLMGeospatialPoint : NSObject, @unchecked Sendable

表示由纬度和经度值形成的点的坐标的类。

  • 纬度范围介于 -90 到 90 度(含)之间。
  • 经度范围介于 -180 到 180 度(含)之间。
  • 高度不能为负值。

尝试创建RLMGeospatialPoint时,超出此范围的值将返回 nil。

注意

没有专门的类型来存储地理空间点,而是应将点存储为GeoJson 形状的嵌入式对象,如下所述。 地理空间查询 ( geoWithin ) 只能在此类对象中执行,否则会抛出异常。

Realm 中的持久化地理点目前是使用鸭子类型来完成的,这意味着可以查询具有特定形状的任何模型类,就好像它包含地理位置一样。 推荐的方法是使用嵌入式对象。

警告

此结构无法持久保存,只能用于构建其他地理空间形状,例如( RLMGeospatialBoxRLMGeospatialPolygonRLMGeospatialCircle )。

警告

任何查询计算中均不使用海拔高度。

  • 纬度(以度为单位)。

    声明

    Objective-C

    @property (readonly) double latitude;

    Swift

    var latitude: Double { get }
  • 经度(以度为单位)。

    声明

    Objective-C

    @property (readonly) double longitude;

    Swift

    var longitude: Double { get }
  • 高度距离。

    声明

    Objective-C

    @property (readonly) double altitude;

    Swift

    var altitude: Double { get }
  • 使用特定的纬度和经度值初始化RLMGeospatialPoint

    如果纬度和经度值不在指定范围内,则返回nil

    声明

    Objective-C

    - (nullable instancetype)initWithLatitude:(double)latitude
                                    longitude:(double)longitude;

    Swift

    init?(latitude: Double, longitude: Double)

    参数

    latitude

    纬度(以度为单位)。 范围介于 -90 到 90 度(含)之间。

    longitude

    经度(以度为单位)。 范围介于 -180 到 180 度(含)之间。

  • 使用特定的纬度和经度值初始化RLMGeospatialPoint

    如果纬度和经度值不在指定范围内,则返回nil

    声明

    Objective-C

    - (nullable instancetype)initWithLatitude:(double)latitude
                                    longitude:(double)longitude
                                     altitude:(double)altitude;

    Swift

    init?(latitude: Double, longitude: Double, altitude: Double)

    参数

    latitude

    纬度(以度为单位)。 范围介于 -90 到 90 度(含)之间。

    longitude

    经度(以度为单位)。 范围介于 -180 到 180 度(含)之间。

    altitude

    海拔高度。 距离不能为负值

    警告

    任何查询计算中均不使用海拔高度。