Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Cómo agregar un mapa con un marcador

En este instructivo, se muestra cómo agregar un mapa de Google Maps a tu app para iOS. El mapa incluye un marcador, también llamado pin, para indicar una ubicación específica.

Obtén el código

Clona o descarga el repositorio de muestras de Google Maps para iOS en GitHub.

Configura tu proyecto de desarrollo

Sigue estos pasos para instalar el SDK de Maps para iOS:

  1. Descarga e instala Xcode 13.0 o una versión posterior.
  2. Si todavía no tienes CocoaPods, instálalo en macOS ejecutando el siguiente comando desde la terminal:
    sudo gem install cocoapods
  3. Clona o descarga el repositorio de muestras de Google Maps para iOS.
  4. Navega al directorio tutorials/map-with-marker.
  5. Ejecuta el comando pod install. De esta manera, se instalarán las API especificadas en Podfile, junto con las dependencias que puedan tener.
  6. Abre (haz doble clic) el archivo map-with-marker.xcworkspace del proyecto para abrirlo en Xcode. Debes usar el archivo .xcworkspace para abrir el proyecto.

Obtén una clave de API y habilita las API necesarias

Para completar este instructivo, necesitas una clave de API de Google autorizada a fin de usar el SDK de Maps para iOS. Haz clic en el siguiente botón para obtener una clave y activar la API.

Comenzar

Para obtener más detalles, consulta Cómo obtener una clave de API.

Agrega la clave de API a tu aplicación

Swift

Agrega tu clave de API a AppDelegate.swift de la siguiente manera:

  1. Ten en cuenta que se agregó la siguiente declaración de importación al archivo:
    import GoogleMaps
  2. Edita la siguiente línea en tu método application(_:didFinishLaunchingWithOptions:) y reemplaza YOUR_API_KEY por tu clave de API:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective‑C

Agrega tu clave de API a AppDelegate.m de la siguiente manera:

  1. Ten en cuenta que se agregó la siguiente declaración de importación al archivo:
    @import GoogleMaps;
  2. Edita la siguiente línea en tu método application(_:didFinishLaunchingWithOptions:) y reemplaza YOUR_API_KEY por tu clave de API:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

Compila y ejecuta tu app

  1. Conecta un dispositivo iOS a la computadora o selecciona un simulador del menú emergente de esquema de Xcode.
  2. Si usas un dispositivo, asegúrate de que los servicios de ubicación estén habilitados. Si usas un simulador, selecciona una ubicación en el menú Funciones.
  3. En Xcode, haz clic en la opción del menú Producto/Ejecutar (o en el ícono del botón de reproducción).

Xcode compila la app y, luego, la ejecuta en el dispositivo o en el simulador.

Deberías ver un mapa con un marcador centrado en Sídney en la costa este de Australia, similar a la imagen de esta página.

Solución de problemas:

  • Si no ves un mapa, verifica que hayas obtenido una clave de API y la hayas agregado a la app, como se describió anteriormente. Consulta la consola de depuración de Xcode para ver los mensajes de error sobre la clave de API.
  • Si restringiste la clave de API mediante el identificador de paquete de iOS, edita la clave para agregar el identificador de paquete de la app: com.google.examples.map-with-marker.
  • Asegúrate de tener una buena conexión Wi-Fi o GPS.
  • Usa las herramientas de depuración de Xcode para ver los registros y depurar la app.

Comprende el código

  1. Crea un mapa y configúralo como la vista en loadView().

    Swift

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    Objective‑C

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. Agrega un marcador al mapa en loadView().

    Swift

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    Objective‑C

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

De forma predeterminada, el SDK de Maps para iOS muestra el contenido de la ventana de información cuando el usuario presiona un marcador. No es necesario agregar un objeto de escucha de clics para el marcador si deseas usar el comportamiento predeterminado.

¡Felicitaciones! Compilaste una app para iOS que muestra un mapa de Google Maps con un marcador a fin de indicar una ubicación en particular. También aprendiste a usar el SDK de Maps para iOS.

Próximos pasos

Obtén más información sobre el objeto de mapa y lo que puedes hacer con marcadores.