Adicionar mapas com marcadores
Neste tutorial, mostramos como adicionar um mapa do Google ao seu app iOS, incluindo um marcador (também chamado de alfinete), para indicar um local específico.
Como conseguir o código
Clone ou faça o download do repositório de amostras do Google Maps para iOS do GitHub.
Configurar seu projeto de desenvolvimento
Siga estas etapas para instalar o SDK do Maps para iOS:
- Faça o download e instale o Xcode versão 14.0 ou mais recente.
- Se você ainda não tem o CocoaPods,
instale-o no macOS executando o seguinte comando no terminal:
sudo gem install cocoapods
- Clone ou faça o download do repositório de amostras do Google Maps para iOS.
- Navegue até o diretório
tutorials/map-with-marker
. - Execute o comando
pod install
. Isso vai instalar as APIs especificadas noPodfile
, com as respectivas dependências. - Execute
pod outdated
para comparar a versão do pod instalado com as novas atualizações. Se uma nova versão for detectada, executepod update
para atualizar aPodfile
e instalar o SDK mais recente. Para mais detalhes, consulte o Guia do CocoaPods. - Abra (clique duas vezes) o arquivo map-with-marker.xcworkspace do projeto para abri-lo no Xcode. Use o arquivo
.xcworkspace
para abrir o projeto.
Gerar uma chave de API e ativar as APIs necessárias
Para concluir este tutorial, você precisa de uma chave de API do Google que possa usar o SDK do Maps para iOS. Clique no botão abaixo para acessar uma chave e ativar a API.
ComeçarPara mais detalhes, consulte Gerar uma chave de API.
Adicionar a chave de API a seu aplicativo
Inclua sua chave de API ao AppDelegate.swift
da seguinte maneira:
- Observe que a seguinte instrução de importação foi adicionada ao arquivo:
import GoogleMaps
- Edite a linha a seguir no método
application(_:didFinishLaunchingWithOptions:)
, substituindo YOUR_API_KEY pela chave de API:GMSServices.provideAPIKey("YOUR_API_KEY")
Compilar e executar seu app
- Conecte um dispositivo iOS ao computador ou selecione um simulador no menu pop-up de esquema do Xcode.
- Se estiver usando um dispositivo, certifique-se de que os Serviços de localização estejam ativados. Se você estiver usando um simulador, selecione um local no menu Recursos.
- No Xcode, clique na opção de menu Product/Run ou no ícone do botão de reprodução.
- O Xcode cria o app e o executa no dispositivo ou no simulador.
- Será mostrado um mapa com um marcador centralizado em Sydney, na costa leste da Austrália, semelhante à imagem desta página.
Solução de problemas:
- Se o mapa não aparecer, confirme se você recebeu uma chave de API e a incluiu no app, como descrito acima. Verifique se há mensagens de erro sobre essa chave no console de depuração do Xcode.
- Se você restringiu a chave de API pelo identificador do pacote iOS, edite a chave para adicionar o identificador do pacote no app:
com.google.examples.map-with-marker
. - Verifique se você tem uma boa conexão Wi-Fi ou GPS.
- Use as ferramentas de depuração do Xcode para conferir os registros e depurar o app.
Entender o código
- Crie um mapa e o defina como a visualização no
loadView()
.Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- Adicione um marcador ao mapa no
loadView()
.Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
Por padrão, o SDK do Maps para iOS exibe o conteúdo da janela de informações quando o usuário toca em um marcador. Não é preciso adicionar um listener de clique ao marcador se o comportamento padrão atende às suas expectativas.
Parabéns! Você criou um app iOS que mostra um mapa do Google com um marcador indicando um local específico. Além disso, aprendeu a usar o SDK do Maps para iOS.
Próximas etapas
Saiba mais sobre o objeto "map" e o que você pode fazer com os marcadores.