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 significativo no 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

O SDK do Maps para iOS permite mostrar um mapa do Google no aplicativo iOS. Esses mapas têm a mesma aparência dos 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 oferece suporte a uma variedade de interações consistentes com o modelo de interface do iOS. Por exemplo, é possível configurar interações com um mapa definindo respondentes que reagem a gestos do usuário, como tocar e tocar duas vezes.

A classe principal ao trabalhar com um objeto Map é a GMSMapView. O GMSMapView processa automaticamente as seguintes operações:

  • 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 com dois dedos ao inclinar o ângulo de visualização do mapa.

Além dessas operações automáticas, é possível controlar o comportamento e a aparência do mapa usando as propriedades e os métodos expostos pela classe GMSMapView. Use GMSMapView para adicionar e remover marcadores, sobreposições de solo e polilinhas, mudar o tipo de mapa exibido e controlar o que é mostrado no mapa usando a classe GMSCameraPosition.

Criar mapas com o SwiftUI

O SwiftUI oferece outra maneira de criar interfaces usando uma abordagem declarativa. Você diz ao SwiftUI como quer exibir a visualização com todos os diferentes estados e o sistema faz o resto. O SwiftUI atualiza a visualização sempre que o estado contido muda devido a um evento ou uma ação do usuário.

O SDK do Maps para iOS é criado com base no UIKit e não oferece uma visualização compatível com o SwiftUI. Para adicionar mapas no SwiftUI, é preciso obedecer a UIViewRepresentable ou UIViewControllerRepresentable. Para saber mais, consulte o codelab Adicionar um mapa ao seu app iOS com SwiftUI.

Adicionar um mapa

As etapas básicas para adicionar um mapa são:

  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 da 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 do mapa, defina as 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. Isso especifica o centro e o nível de zoom do mapa.

    8. Crie e crie uma instância de uma classe GMSMapView usando o método GMSMapView options:. Se esse mapa for usado como a única visualização do controlador de visualização, o valor padrão CGRectZero da opção de mapa frame poderá ser usado como a visualização frame. O mapa será 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, você poderá configurar ainda mais o objeto GMSMapView.

A seguir

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