Pronto!

Para começar a desenvolver, acesse nossa documentação do desenvolvedor.

Ative o Google Maps SDK for iOS

Para começar, orientaremos você pelo Google Developers Console para realizar algumas atividades:

  1. Criar ou selecionar um projeto
  2. Ative o Google Maps SDK for iOS
  3. Criar chaves apropriadas
Continuar

Sobreposições de solo

As sobreposições de solo são sobreposições no mapa vinculadas a coordenadas de latitude/longitude. Portanto, elas se movem quando o mapa é arrastado ou o zoom é alterado.

Introdução

Uma sobreposição de solo é uma imagem fixa em um mapa. Ao contrário dos marcadores, as sobreposições de solo são orientadas em relação à superfície do planeta e não em relação à tela. Portanto, a rotação, a inclinação ou a alteração do zoom do mapa altera a orientação da imagem.

Para adicionar uma sobreposição de solo, crie um objeto GMSGroundOverlay que define um ícone e os limites. Se um desses parâmetros não for especificado, a sobreposição de solo não será exibida no mapa. Opcionalmente, você pode especificar configurações adicionais que afetam o posicionamento da imagem no mapa. Após definir as opções necessárias, defina a propriedade map do objeto para adicionar a sobreposição.

Adicionar uma sobreposição

  1. Instancie um novo objeto GMSGroundOverlay
  2. Defina a propriedade icon para uma instância de UIImage.
  3. Defina a propriedade bounds para uma instância de GMSCoordinateBounds. Os limites representam os cantos sudoeste e nordeste da imagem.
  4. Defina propriedades opcionais, como bearing e zoomLevel, conforme desejado.
  5. Defina a propriedade map. A imagem aparece no mapa.

O exemplo a seguir mostra como adicionar uma sobreposição de solo a um objeto GMSMapView existente.

Swift

let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655)
let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544)
let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast)

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
let icon = UIImage(named: "newark_nj_1922")

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView

Objective-C

CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655);
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544);
GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest
                                                                        coordinate:northEast];

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"];
GMSGroundOverlay *overlay =
    [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;

Remover uma sobreposição

Você pode remover uma sobreposição de solo do mapa definindo a propriedade map do GMSGroundOverlay como nil. Como alternativa, remova todas as sobreposições (inclusive sobreposições de solo) existentes no mapa chamando o método GMSMapView clear.

Swift

let camera = GMSCameraPosition.camera(withLatitude: 40.71,
                                      longitude: -74.22,
                                      zoom:11)
let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
...
mapView.clear()

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:40.742
                                                        longitude:-74.174
                                                             zoom:6];
mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
...
[mapView clear];

Se você quiser fazer alterações em uma sobreposição de solo após adicioná-la ao mapa, não deixe de manter uma referência ao objeto GMSGroundOverlay. A sobreposição de solo poderá ser modificada posteriormente fazendo alterações nesse objeto.

Swift

let overlay = GMSGroundOverlay(position: newark, icon: icon, zoomLevel: 10)
overlay.map = mapView
...
overlay.isTappable = true

Objective-C

GMSGroundOverlay *overlay =
    [GMSGroundOverlay groundOverlayWithPosition:newark
                                           icon:icon
                                      zoomLevel:10];
overlay.map = mapView;
...
overlay.tappable = YES;

Eventos

É possível escutar eventos ocorridos no mapa, como o toque de um usuário em uma sobreposição. Para escutar eventos, é necessário implementar o protocolo GMSMapViewDelegate. Consulte o guia para eventos e a lista de métodos no GMSMapViewDelegate.

Enviar comentários sobre…

Google Maps SDK for iOS
Google Maps SDK for iOS
Precisa de ajuda? Acesse nossa página de suporte.