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 oferece 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. Eles têm a mesma aparência que os mapas do app Google Maps para iOS, e o SDK expõe muitos dos mesmos elementos.

Além da funcionalidade de mapeamento, a API também aceita uma variedade 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 dois toques.

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 visualização do mapa.

Além dessas operações automáticas, é possível controlar o comportamento e a aparência dele usando as propriedades e os métodos expostos pela classe GMSMapView. Com o GMSMapView, você pode 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.

Criar mapas com o SwiftUI

O SwiftUI oferece outra maneira de criar IU usando uma abordagem declarativa. Você informa ao SwiftUI como quer que sua visualização seja exibida com todos os diferentes estados e o sistema faz o resto. O SwiftUI processa a atualização da visualização sempre que o estado 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 não oferece uma visualização compatível com o SwiftUI. Para adicionar mapas à SwiftUI, siga 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:

  1. Para fazer o download do 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. Configure um projeto do Xcode

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

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

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

    7. Defina sua propriedade camera das opções do 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 options: do GMSMapView. Se esse mapa for usado como a única visualização do controlador de visualização, o valor padrão de CGRectZero da opção de mapa frame poderá ser usado como o frame da visualização. O mapa será redimensionado automaticamente.

    9. Defina o objeto GMSMapView como a visualização do controlador. 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á fazer outras configurações no objeto GMSMapView.

A seguir

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