En la API, la clase GMSMapView
, una subclase de UIView
, representa los mapas. 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 en tu aplicación para iOS. El aspecto de estos mapas es el mismo que el que se muestra en la app de Google Maps para iOS, y el SDK expone muchas de las mismas funciones.
Además de la funcionalidad de asignación, la API también admite una variedad de interacciones coherentes con el modelo de IU de iOS. Por ejemplo, puedes configurar interacciones con un mapa definiendo respondedores que reaccionen ante gestos del usuario, como presionar y presionar dos veces.
Cuando trabajas 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 del mapa.
Además de estas operaciones automáticas, puedes controlar el comportamiento y la apariencia del mapa a través de las propiedades y los métodos que expone la clase GMSMapView
. GMSMapView
te permite agregar y quitar marcadores, superposiciones de suelo y polilíneas, cambiar el tipo de mapa que se muestra y controlar lo que se muestra mediante la clase GMSCameraPosition
.
Crea mapas con SwiftUI
SwiftUI ofrece una forma adicional de crear IU con un enfoque declarativo. Tú le indicas a SwiftUI cómo quieres que se vea la vista con todos sus estados, y el sistema hará el resto. SwiftUI se encarga de actualizar la vista cada vez que cambia el estado subyacente debido a un evento o una acción del usuario.
El SDK de Maps para iOS se compiló sobre UIKit
y aún no proporciona una vista compatible con SwiftUI. Para agregar mapas en SwiftUI, debes cumplir con UIViewRepresentable
o UIViewControllerRepresentable
. Si deseas obtener más información, consulta el codelab Cómo agregar un mapa a tu app para iOS con SwiftUI.
Cómo agregar un mapa
Estos son los pasos básicos para agregar un mapa:
Para acceder al SDK, obtener una clave de API y agregar los frameworks necesarios, sigue los pasos que figuran en estas secciones:
En tu
AppDelegate
, proporciona tu clave de API al método de claseprovideAPIKey:
enGMSServices
.Crea o actualiza un
ViewController
. Si se muestra el mapa cuando este controlador de vista se vuelva visible, asegúrate de crearlo en el métodoloadView
.Crea un objeto
GMSCameraPosition
que especifique el centro y el nivel de zoom del mapa. Cuando creas una instancia del objetoGMSMapView
, debes pasar el objetoGMSCameraPosition
como parámetro obligatorio.Crea una clase de
GMSMapView
y crea una instancia de ella con el métodomapWithFrame:
deGMSMapView
. Si se usa este mapa como la única vista del controlador de vista, se puede usarCGRectZero
como marco del mapa (se cambiará el tamaño del mapa automáticamente).Configura el objeto
GMSMapView
como la vista del controlador de vista, p.ej.,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 camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) self.view = mapView } }
Objective‑C
#import "MapObjects.h" @import GoogleMaps; @implementation MapObjects - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; self.view = mapView; } @end
Una vez que hayas seguido estos pasos, puedes continuar configurando el objeto GMSMapView
.
Próximos pasos
Después de completar estos pasos, puedes configurar los parámetros del mapa.