Adicionar um mapa

Selecionar plataforma: Android iOS JavaScript

Os mapas são representados na API pela GMSMapView classe, 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 seu aplicativo iOS. Esses mapas têm a mesma aparência dos mapas que você vê no Google Maps app 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 de mapa é 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
    • Resposta 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 do mapa pelas propriedades e métodos expostos pela classe GMSMapView. Use GMSMapView para adicionar e remover marcadores, sobreposições de solo e polilinhas, mudar o tipo de mapa mostrado e controlar o que é exibido no mapa pela classe GMSCameraPosition.

Criar mapas com o SwiftUI

O SwiftUI oferece outra maneira de criar a interface usando uma abordagem declarativa. Você diz ao SwiftUI como quer que a visualização apareça, 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, é necessário estar em conformidade com UIViewRepresentable ou UIViewControllerRepresentable. Para saber mais, consulte o Codelab Adicionar um mapa ao seu app iOS com o 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 de classe provideAPIKey: no GMSServices.

    5. Crie ou atualize um ViewController. Se o mapa for mostrado 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 opções de mapa camera com um objeto GMSCameraPosition. Isso 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 de visualização, o valor padrão da opção de mapa frame de CGRectZero 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çã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 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.