Os mapas são representados na API pela classe GMSMapView
, uma subclasse de UIView
. O mapa é o objeto mais importante do SDK do Maps para iOS. Ele disponibiliza os métodos necessários para adicionar, remover e gerenciar outros objetos, como marcadores e polilinhas.
Introdução
O SDK do Maps para iOS permite exibir um mapa do Google no seu aplicativo para iOS. Esses mapas têm a mesma aparência dos mapas que você vê no aplicativo Google Maps para iOS, e o SDK expõe muitos dos mesmos recursos.
Além da funcionalidade de mapeamento, a API também aceita um intervalo de interações consistentes com o modelo de IU do iOS. Por exemplo, você pode configurar interações com um mapa definindo respondentes que reagem aos gestos do usuário, como toque e toque duplo.
A classe de chave ao trabalhar com um objeto Map é a classe 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 panorâmica e zoom
- Resposta aos gestos de movimento e de zoom, movendo o mapa e aplicando ou removendo zoom.
- Resposta ao gesto de dois dedos, inclinando o ângulo de visualização do mapa.
Além dessas operações automáticas, você pode controlar o comportamento e a aparência do mapa por meio das propriedades e dos métodos expostos pela classe GMSMapView
. GMSMapView
permite adicionar e remover marcadores, sobreposições de solo e polilinhas, mudar o tipo de mapa exibido e controlar o que é mostrado no mapa por meio da classe GMSCameraPosition
.
Criar mapas com o SwiftUI
O SwiftUI oferece uma maneira adicional de criar uma IU usando uma abordagem declarativa. Você diz ao SwiftUI como quer que sua visualização seja exibida com todos os diferentes estados, e o sistema fará o resto. O SwiftUI atualiza a visualização sempre que o estado subjacente muda devido a um evento ou uma ação do usuário.
O SDK do Maps para iOS foi criado com base no UIKit
e ainda não oferece uma visualização compatível com o SwiftUI. A adição de mapas no SwiftUI exige conformidade com UIViewRepresentable
ou UIViewControllerRepresentable
. Para saber mais, consulte o codelab Como adicionar um mapa ao seu app iOS com o SwiftUI.
Adicionar um mapa
Veja como adicionar um mapa:
Para fazer o download do SDK, conseguir uma chave de API e adicionar os frameworks necessários, siga as etapas em:
No
AppDelegate
, forneça sua chave de API ao método de classeprovideAPIKey:
emGMSServices
.Crie ou atualize um
ViewController
. Se o mapa for exibido quando esse controlador de visualização ficar visível, crie-o dentro do métodoloadView
.Crie um objeto
GMSCameraPosition
que especifique o centro e o nível de zoom do mapa. Ao instanciar o objetoGMSMapView
, é preciso transmitir o objetoGMSCameraPosition
como um parâmetro obrigatório.Crie e instancie uma classe
GMSMapView
usando o métodoGMSMapView
mapWithFrame:
. Se ele for usado como a única visão do controlador,CGRectZero
poderá ser usado como frame do mapa, que será redimensionado automaticamente.Defina o objeto
GMSMapView
como a visualização do controlador de visualização, 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 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
Depois de seguir essas etapas, você poderá configurar ainda mais o objeto GMSMapView
.
A seguir
Depois de concluir essas etapas, você poderá definir as configurações do mapa.