GeoPoint
GeoPoint es el tipo de valor de latitud / longitud / altitud del SDK.
let point = GeoPoint(latitude: 35.6812, longitude: 139.7671)API pública
Section titled “API pública”latitude: Doublelongitude: Doublealtitude: Double?toUrlValue(precision: Int = 6) -> Stringwrap() -> GeoPointProtocolGeoPoint.fromLatLong(latitude:longitude:)GeoPoint.fromLongLat(longitude:latitude:)GeoPoint.from(position:)
GeoPointProtocol también ofrece:
normalize() -> GeoPointisValid() -> Bool
Usa GeoPoint en cualquier lugar donde MapConductor solicite una coordenada geográfica, incluyendo posiciones de cámara, posiciones de marcadores, puntos de figuras, puntos de mapa de calor y coordenadas de eventos de clic.
let raw = GeoPoint(latitude: 95, longitude: 190)let normalized = raw.normalize()let valid = normalized.isValid()let urlValue = normalized.toUrlValue()Orden de coordenadas
Section titled “Orden de coordenadas”El inicializador principal usa latitud primero y longitud segundo:
let tokyo = GeoPoint(latitude: 35.6812, longitude: 139.7671)Usa fromLatLong(latitude:longitude:) al adaptar código que nombra explícitamente latitud y longitud. Usa fromLongLat(longitude:latitude:) al adaptar fuentes de datos que almacenan coordenadas en orden longitud-primero, como muchos formatos similares a GeoJSON.
let fromLatLong = GeoPoint.fromLatLong(latitude: 35.6812, longitude: 139.7671)let fromLongLat = GeoPoint.fromLongLat(longitude: 139.7671, latitude: 35.6812)Validación y envoltura
Section titled “Validación y envoltura”isValid() verifica si la latitud y longitud están dentro de los rangos geográficos válidos. normalize() y wrap() son útiles cuando la entrada del usuario o los cálculos producen coordenadas fuera del rango habitual de longitud.
let input = GeoPoint(latitude: 35.6812, longitude: 181.5)
if input.isValid() { Marker(position: input)} else { Marker(position: input.normalize())}Los helpers de distancia y dirección están en Spherical, no en GeoPoint:
let distanceMeters = Spherical.computeDistanceBetween(from: pointA, to: pointB)let headingDegrees = Spherical.computeHeading(from: pointA, to: pointB)Valores de URL
Section titled “Valores de URL”Usa toUrlValue(precision:) al construir URLs, claves de caché o salidas de depuración que necesiten una cadena de coordenada compacta:
let value = tokyo.toUrlValue(precision: 5)