Adicionar um mapa

Selecione a plataforma: Android iOS JavaScript

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 e fornece os métodos necessários para adicionar, remover e gerenciar outros objetos, como marcadores e polilinhas.

Introdução

Com o SDK do Maps para iOS, você pode exibir um mapa do Google no seu aplicativo iOS. Esses mapas têm a mesma aparência que os mapas que você vê no app iOS do Google Maps, e o SDK expõe muitos dos mesmos recursos.

Além da funcionalidade de mapeamento, a API também aceita várias interações consistentes com o modelo de interface do iOS. Por exemplo, você pode configurar interações com um mapa definindo participantes que reagem aos gestos do usuário, como toque e toque duplo.

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
    • Responder 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 a aparência do mapa com as propriedades e os 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 aparece no mapa com a classe GMSCameraPosition.

Crie mapas com o SwiftUI

O SwiftUI oferece outra maneira de criar interface usando uma abordagem declarativa. Você diz ao SwiftUI como quer que sua visualização apareça com todos os diferentes estados para ela, e o sistema faz o resto. A SwiftUI processa a atualização da visualização sempre que o estado subjacente muda devido a um evento ou ação do usuário.

O SDK do Maps para iOS é criado com base no UIKit e não fornece uma visualização compatível com a SwiftUI. Para adicionar mapas no SwiftUI, é necessário estar em conformidade com UIViewRepresentable ou UIViewControllerRepresentable. Para saber mais, consulte o codelab como adicionar um mapa ao seu app iOS com a SwiftUI.

Adicionar um mapa

Veja como adicionar um mapa:

  1. Para baixar o SDK, conseguir uma chave de API e adicionar os frameworks necessários, siga as etapas em:

    1. Configuração no console do Google Cloud

    2. Usar uma chave de API

    3. Configurar um projeto do Xcode

    4. No AppDelegate, forneça sua chave de API ao método de classe provideAPIKey: em GMSServices.

    5. Crie ou atualize um ViewController. Se o mapa for exibido quando esse controlador de visualização ficar visível, crie-o no método viewDidLoad.

    6. Ao inicializar a visualização de mapa, defina opções de configuração com GMSMapViewOptions. As propriedades incluem frame, camera, mapID,backgroundColor ou screen.

    7. Defina a propriedade camera das opções de mapa com um objeto GMSCameraPosition. Especifica o centro e o nível de zoom do mapa.

    8. Crie e instancie uma classe GMSMapView usando o método GMSMapView options:. Se esse mapa for usado como a única visualização do controlador, o valor padrão de CGRectZero da opção frame poderá ser usado como a visualização frame. O mapa é redimensionado automaticamente.

    9. 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, será possível configurar ainda mais o objeto GMSMapView.

A seguir

Depois de concluir essas etapas, você poderá definir as configurações do mapa.