Comenzar
Antes de probar el código de muestra, debes configurar tu entorno de desarrollo. Para obtener más información, consulta Muestras de código del SDK de Maps para iOS.
Consulta el código
Swift
import GoogleMaps import UIKit // Sample code for adding a marker. class MarkersViewController: UIViewController { private lazy var sydneyMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -33.8683, longitude: 151.2086)) private lazy var melbourneMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -37.81969, longitude: 144.966085)) private lazy var mapView: GMSMapView = { let camera = GMSCameraPosition(latitude: -37.81969, longitude: 144.966085, zoom: 4) return GMSMapView(frame: .zero, camera: camera) }() override func loadView() { view = mapView sydneyMarker.title = "Sydney" sydneyMarker.snippet = "Population: 4,605,992" sydneyMarker.isFlat = false sydneyMarker.rotation = 30 print("sydneyMarker: \(sydneyMarker)") let australiaMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -27.994401, longitude: 140.07019)) australiaMarker.title = "Australia" australiaMarker.appearAnimation = .pop australiaMarker.isFlat = true australiaMarker.isDraggable = true australiaMarker.groundAnchor = CGPoint(x: 0.5, y: 0.5) australiaMarker.icon = UIImage(named: "australia") australiaMarker.map = mapView mapView.selectedMarker = sydneyMarker navigationItem.rightBarButtonItem = UIBarButtonItem( barButtonSystemItem: .add, target: self, action: #selector(tapAdd)) } @objc func tapAdd() { if sydneyMarker.map == nil { sydneyMarker.map = mapView } else { sydneyMarker.map = nil } melbourneMarker.title = "Melbourne" melbourneMarker.snippet = "Population: 4,169,103" melbourneMarker.map = mapView } }
Objective-C
#import "GoogleMapsDemos/Samples/MarkersViewController.h" #import <GoogleMaps/GoogleMaps.h> @implementation MarkersViewController { GMSMarker *_sydneyMarker; GMSMarker *_melbourneMarker; GMSMarker *_fadeInMarker; } - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-37.81969 longitude:144.966085 zoom:4]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; _sydneyMarker = [[GMSMarker alloc] init]; _sydneyMarker.title = @"Sydney"; _sydneyMarker.snippet = @"Population: 4,605,992"; _sydneyMarker.position = CLLocationCoordinate2DMake(-33.8683, 151.2086); _sydneyMarker.flat = NO; _sydneyMarker.rotation = 30.0; NSLog(@"sydneyMarker: %@", _sydneyMarker); GMSMarker *australiaMarker = [[GMSMarker alloc] init]; australiaMarker.title = @"Australia"; australiaMarker.position = CLLocationCoordinate2DMake(-27.994401, 140.07019); australiaMarker.appearAnimation = kGMSMarkerAnimationPop; australiaMarker.flat = YES; australiaMarker.draggable = YES; australiaMarker.groundAnchor = CGPointMake(0.5, 0.5); australiaMarker.icon = [UIImage imageNamed:@"australia"]; australiaMarker.map = mapView; _fadeInMarker = [[GMSMarker alloc] init]; _fadeInMarker.title = @"Australia"; _fadeInMarker.position = CLLocationCoordinate2DMake(-29.9959, 145.0719); _fadeInMarker.appearAnimation = kGMSMarkerAnimationFadeIn; _fadeInMarker.icon = [UIImage imageNamed:@"australia"]; // Set the marker in Sydney to be selected mapView.selectedMarker = _sydneyMarker; self.view = mapView; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(didTapAdd)]; } - (void)didTapAdd { if (_sydneyMarker.map == nil) { _sydneyMarker.map = (GMSMapView *)self.view; } else { _sydneyMarker.map = nil; } _melbourneMarker.map = nil; _melbourneMarker = [[GMSMarker alloc] init]; _melbourneMarker.title = @"Melbourne"; _melbourneMarker.snippet = @"Population: 4,169,103"; _melbourneMarker.position = CLLocationCoordinate2DMake(-37.81969, 144.966085); _melbourneMarker.map = (GMSMapView *)self.view; if (_fadeInMarker.map) { _fadeInMarker.map = nil; } else { _fadeInMarker.map = (GMSMapView *)self.view; } } @end
Ejecuta la app de ejemplo completa de forma local
La app de ejemplo del SDK de Maps para iOS está disponible como archivo de descarga en GitHub. Sigue estos pasos para instalar y probar la app de ejemplo del SDK de Maps para iOS.
- Ejecuta
git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git
para clonar el repositorio de muestras en un directorio local. Abre una ventana de terminal, navega al directorio en el que clonaste los archivos de muestra y desplázate hacia abajo hasta el directorio GoogleMaps:
Swift
cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift
pod install
open GoogleMapsSwiftDemos.xcworkspace
Objective-C
cd maps-sdk-for-ios-samples-main/GoogleMaps
pod install
open GoogleMapsDemos.xcworkspace
- En Xcode, presiona el botón de compilación para
compilar la app
con el esquema actual. La compilación genera un error que te solicita que ingreses tu clave de API
en el archivo
SDKConstants.swift
para Swift o en el archivoSDKDemoAPIKey.h
para Objective-C. - Obtén una clave de API de tu proyecto con el SDK de Maps para iOS habilitado.
- Edita el archivo
SDKConstants.swift
para Swift o el archivoSDKDemoAPIKey.h
para Objective-C y pega tu clave de API en la definición de la constanteapiKey
okAPIKey
. Por ejemplo:Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
static NSString *const kAPIKey = @"YOUR_API_KEY";
- En el archivo
SDKConstants.swift
(Swift) o en el archivoSDKDemoAPIKey.h
(Objective-C), quita la siguiente línea, ya que se usa para registrar el problema definido por el usuario:Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
- Compila y ejecuta el proyecto. Aparecerá la ventana del simulador de iOS, que mostrará una lista de demostraciones del SDK de Maps.
- Elige una de las opciones que se muestran para experimentar con una función del SDK de Maps para iOS.
- Si se te solicita que permitas que GoogleMapsDemos acceda a tu ubicación, elige Permitir.