Os mapas são representados na API pela classe GMSMapView
, uma
subclasse de UIView
. O mapa é o objeto mais importante no
SDK do Maps para iOS e oferece os métodos necessários para adicionar e remover
e gerenciar outros objetos, como marcadores e polilinhas.
Introdução
O SDK do Maps para iOS permite exibir um mapa do Google em seu aplicativo iOS. Esses mapas têm a mesma aparência que os mapas que você vê no app Google Maps para iOS, e o SDK expõe muitos dos mesmos recursos.
Além da funcionalidade de mapeamento, a API também suporta uma variedade de interações que são consistentes com o modelo de interface do iOS. Por exemplo, é possível definir interações com um mapa, definindo responsáveis que reagem aos gestos do usuário, como tocar e tocar duas vezes.
A classe mais importante ao trabalhar com um objeto Map é a GMSMapView
.
GMSMapView
processa as seguintes operações automaticamente:
- Conexão com o serviço do Google Maps
- Download de blocos de mapas
- Exibição de blocos na tela do dispositivo
- Exibição de vários controles, como movimento e zoom
- Resposta aos gestos de movimento e de zoom, deslocando o mapa e aumentando ou diminuindo o zoom
- Respondendo a gestos de dois dedos, inclinando o ângulo de visão do mapa.
Além dessas operações automáticas, é possível controlar o comportamento e
aparência do mapa por meio das propriedades e dos métodos expostos pelo
GMSMapView
. GMSMapView
permite adicionar e remover marcadores, solo
sobreposições e polilinhas, alterar o tipo de mapa exibido e controlar
o que é mostrado no mapa por meio do GMSCameraPosition
.
Crie mapas com o SwiftUI
O SwiftUI oferece outra maneira de criar interface usando uma abordagem declarativa. Você informar ao SwiftUI como você quer que a visualização seja exibida, além de todos os diferentes estados e o sistema faz o resto. O SwiftUI atualiza a visualização sempre que o estado subjacente muda devido a um evento ou ação do usuário.
O SDK do Maps para iOS foi criado com base no UIKit
e não fornece um
Visualização compatível com SwiftUI. A adição de mapas no SwiftUI requer conformidade com
UIViewRepresentable
ou UIViewControllerRepresentable
. Para saber mais, consulte a
Codelab como adicionar um mapa ao seu app iOS com
SwiftUI (em inglês).
Adicionar um mapa
As etapas básicas para adicionar um mapa são:
Para obter o SDK, obter uma chave de API e adicionar os frameworks necessários, siga as etapas em:
No
AppDelegate
, informe sua chave de API aoprovideAPIKey:
método de classe emGMSServices
.Crie ou atualize um
ViewController
. Se o mapa for exibido quando esse o controlador de visualização ficar visível, crie-o dentro doviewDidLoad
.Ao inicializar a visualização de mapa, defina opções de configuração com
GMSMapViewOptions
: As propriedades incluemframe
,camera
,mapID
,backgroundColor
ouscreen
.Defina a propriedade
camera
das opções do mapa com um objetoGMSCameraPosition
. Especifica o centro e o nível de zoom do no mapa.Criar e instanciar uma classe
GMSMapView
usando oGMSMapView
options:
. Se este mapa for usado como o valor do controlador de visualização somente visualização, o valor padrão deCGRectZero
da opção de mapaframe
pode ser usado como a visualizaçãoframe
: o mapa é redimensionado automaticamente.Defina o objeto
GMSMapView
como a visualização do controlador de visualizações. Por exemplo,self.view = mapView;
.
O exemplo a seguir adiciona um mapa, centralizado no centro de Cingapura, a um aplicativo.
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; }
Depois de seguir essas etapas, você poderá configurar ainda mais o GMSMapView
objeto.
A seguir
Depois de concluir essas etapas, você poderá configurar o mapa padrão.