En la API, los mapas se representan a través de la clase GMSMapView
, una subclase de UIView
. El mapa es el objeto más importante del
SDK de Maps para iOS y proporciona los métodos necesarios para agregar, quitar
y administrar otros objetos, como marcadores y polilíneas.
Introducción
El SDK de Maps para iOS te permite mostrar un mapa de Google Maps en tu aplicación para iOS. Estos mapas tienen el mismo aspecto que los mapas que ves en Google Maps app para iOS, y el SDK expone muchas de las mismas funciones.
Además de la funcionalidad de asignación, la API admite que son coherentes con el modelo de IU de iOS. Por ejemplo, puedes establecer las interacciones con un mapa definiendo los responsables de respuesta que reaccionan a los gestos del usuario, como presionar y tocar dos veces.
Cuando se trabaja con un objeto Map, la clase clave es GMSMapView
.
GMSMapView
controla automáticamente las siguientes operaciones:
- Conexión al servicio de Google Maps
- Descarga de mosaicos de mapa
- Visualización de mosaicos en la pantalla del dispositivo
- Visualización de varios controles, como el desplazamiento lateral y el zoom
- Respuesta a gestos de desplazamiento lateral y zoom a través del movimiento del mapa y su acercamiento o alejamiento
- respuesta a gestos de dos dedos inclinando el ángulo de visión de la mapa.
Además de estas operaciones automáticas, puedes controlar el comportamiento y
del mapa a través de las propiedades y los métodos que expone
Clase GMSMapView
. GMSMapView
te permite agregar y eliminar marcadores,
las superposiciones y polilíneas, cambiar el tipo de mapa que se muestra y controlar
lo que se muestra en el mapa a través de GMSCameraPosition
clase.
Crea mapas con SwiftUI
SwiftUI ofrece una forma adicional de crear IU con un enfoque declarativo. Tú Indica a SwiftUI cómo quieres que se vea tu vista junto con todos los diferentes estados. y el sistema hace el resto. SwiftUI se encarga de actualizar la vista cada vez que el estado subyacente cambia debido a un evento o a una acción del usuario.
El SDK de Maps para iOS se compiló sobre UIKit
y no proporciona un
Vista compatible con SwiftUI. Para agregar mapas en SwiftUI, debes cumplir con lo siguiente:
UIViewRepresentable
o UIViewControllerRepresentable
. Para obtener más información, consulta la
Codelab cómo agregar un mapa a tu app para iOS con
SwiftUI
Cómo agregar un mapa
Los pasos básicos para agregar un mapa son los siguientes:
Para acceder al SDK, obtener una clave de API y agregar los frameworks necesarios, sigue estos pasos: los pasos que debes seguir:
En tu
AppDelegate
, proporciona tu clave de API aprovideAPIKey:
. de clase enGMSServices
.Crea o actualiza un
ViewController
. Si el mapa se muestra cuando este el controlador de vista se vuelva visible, asegúrate de crearloviewDidLoad
.Cuando inicialices tu vista de mapa, establece las opciones de configuración con
GMSMapViewOptions
Las propiedades incluyenframe
,camera
,mapID
,backgroundColor
oscreen
.Configura tu propiedad de opciones de mapas
camera
con unaGMSCameraPosition
. Especifica el centro y el nivel de zoom de el mapa.Crea una clase
GMSMapView
y crea una instancia de ella conGMSMapView
.options:
. Si se utilizará este mapa como el controlador de solo lectura, el valor predeterminadoCGRectZero
de la opción del mapaframe
puede ser utilizado como la vistaframe
: el tamaño del mapa se cambia automáticamente.Establece el objeto
GMSMapView
como la vista del controlador de vista. Por ejemplo,self.view = mapView;
En el ejemplo siguiente se incluye un mapa, posicionado en el centro de Singapur, a una aplicación.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
Una vez que hayas seguido estos pasos, podrás seguir configurando GMSMapView
.
¿Qué sigue?
Después de completar estos pasos, puedes configurar el mapa Configuración.