Primeiros passos
Antes de testar o exemplo de código, é necessário configurar o ambiente de desenvolvimento. Confira mais detalhes em Exemplos de código do SDK do Maps para iOS.
Ver o código
Swift
import GoogleMaps import UIKit class BasicMapViewController: UIViewController { var statusLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() // Seattle coordinates let camera = GMSCameraPosition(latitude: 47.6089945, longitude: -122.3410462, zoom: 14) let mapView = GMSMapView(frame: view.bounds, camera: camera) mapView.delegate = self view = mapView navigationController?.navigationBar.isTranslucent = false statusLabel = UILabel(frame: .zero) statusLabel.alpha = 0.0 statusLabel.backgroundColor = .blue statusLabel.textColor = .white statusLabel.textAlignment = .center view.addSubview(statusLabel) statusLabel.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ statusLabel.topAnchor.constraint(equalTo: view.topAnchor), statusLabel.heightAnchor.constraint(equalToConstant: 30), statusLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor), statusLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor), ]) } } extension BasicMapViewController: GMSMapViewDelegate { func mapViewDidStartTileRendering(_ mapView: GMSMapView) { statusLabel.alpha = 0.8 statusLabel.text = "Rendering" } func mapViewDidFinishTileRendering(_ mapView: GMSMapView) { statusLabel.alpha = 0.0 } }
Objective-C
#import "GoogleMapsDemos/Samples/BasicMapViewController.h" #import <GoogleMaps/GoogleMaps.h> @implementation BasicMapViewController { UILabel *_statusLabel; } - (void)viewDidLoad { [super viewDidLoad]; // Seattle coordinates GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.6089945 longitude:-122.3410462 zoom:14]; GMSMapView *view = [GMSMapView mapWithFrame:CGRectZero camera:camera]; view.delegate = self; self.view = view; // Add status label, initially hidden. _statusLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 30)]; _statusLabel.alpha = 0.0f; _statusLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth; _statusLabel.backgroundColor = [UIColor blueColor]; _statusLabel.textColor = [UIColor whiteColor]; _statusLabel.textAlignment = NSTextAlignmentCenter; [view addSubview:_statusLabel]; } - (void)mapViewDidStartTileRendering:(GMSMapView *)mapView { _statusLabel.alpha = 0.8f; _statusLabel.text = @"Rendering"; } - (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView { _statusLabel.alpha = 0.0f; } @end
Executar o app de exemplo completo localmente
O app de exemplo do SDK do Maps para iOS está disponível como um arquivo de download no GitHub. Siga estas etapas para instalar e testar o app de exemplo do SDK do Maps para iOS.
- Execute
git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git
para clonar o repositório de amostras em um diretório local. Abra uma janela de terminal, navegue até o diretório em que você clonou os arquivos de amostra e navegue até o diretório 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
- No Xcode, pressione o botão de compilação para
criar o app
com o esquema atual. O build produz um erro, solicitando a inserção da chave de API
no arquivo
SDKConstants.swift
para Swift ouSDKDemoAPIKey.h
para Objective-C. - Se você ainda não tiver uma chave de API, siga as instruções para configurar um projeto no console do Google Cloud e gerar uma. Ao configurar a
chave no Cloud Console, é possível
restringir a chave ao
identificador de pacote do app de exemplo para
garantir que somente seu app possa usá-la. O identificador de pacote padrão do
aplicativo de exemplo do SDK é
com.example.GoogleMapsDemos
. - Edite o arquivo
SDKConstants.swift
para Swift ouSDKDemoAPIKey.h
para Objective-C e cole a chave de API na definição da constanteapiKey
oukAPIKey
. Exemplo:Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
static NSString *const kAPIKey = @"YOUR_API_KEY";
- No arquivo
SDKConstants.swift
(Swift) ouSDKDemoAPIKey.h
(Objective-C), remova a linha a seguir, porque ela é usada para registrar o problema definido pelo usuário:Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
- Compile e execute o projeto. A janela do simulador do iOS aparece, mostrando uma lista de demonstrações do SDK do Maps.
- Escolha uma das opções exibidas para experimentar um recurso do SDK do Maps para iOS.
- Se você receber uma solicitação para permitir que o GoogleMapsDemos acesse sua localização, selecione Permitir.