Front End

14 fev, 2019

Integrando o Google Maps com Angular 7

Publicidade

Que tal incluir mapas na sua aplicação? Neste artigo eu mostro como é fácil integrar o Google Maps em projetos Angular (versão 7).

Após a criação do projeto, o passo seguinte é instalar o AGM (Angular Google Maps) utilizando o comando no terminal:

$ npm install @agm/core --save

Assim que o download do pacote for realizado, iremos configurar o módulo. Abra o arquivo app.module.ts e importe o módulo AgmCoreModule.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { AgmCoreModule } from '@agm/core';
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    AgmCoreModule.forRoot({
      apiKey: 'CHAVES_GOOGLE_MAPS'
    })
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Será necessário informar uma chave (linha 15). Para isso, acesse o site:

Clique em GET STARTED.

A tela seguinte apresenta três etapas para a obtenção da chave para acesso à API.

Na primeira etapa selecione “Maps“:

Em seguida, clique em “+Create a new project” e dê um nome:

Na terceira etapa será solicitada a ativação do faturamento do projeto:

Marque a confirmação dos termos de serviço e continue.

A próxima fase solicita as informações pessoais e de pagamento. De acordo com a empresa: “Nenhuma cobrança automática será feita após o término da avaliação gratuita”. Para mais informações consulte o terceiro link nas referências.

Finalizado o processo, copie a chave do popup. É possível consultar as chaves no painel do Google Cloud Platform. Clique em “APIs e Serviços>Credenciais“.

Com a chave da API, cole em ApiKey do módulo.

Na sequência vamos abrir o app.component.ts e definir algumas propriedades como título,lat (latitude), lgn (longitude) e zoom, conforme o código abaixo.

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  texto : string = 'Wenceslau Braz - Cuidado com as cargas';
  lat: number = -23.8779431;
  lng: number = -49.8046873;
  zoom: number = 15;
}

No template do componente (app.component.html), codificamos a tag da biblioteca <agm-map> com os atributos [latitude], [longitude] e [zoom], referenciando as propriedades da classe. Definimos, também, um marcador com os mesmos atributos (linha 4).

<h1> {{texto}}</h1>

<agm-map [latitude]="lat" [zoom]="zoom" [longitude]="lng">
  <agm-marker  [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>

Finalizando, e não menos importante, vamos setar uma altura para o mapa no CSS do componente, conforme o código do arquivo app.component.css

agm-map {
         height: 300px;
        }

Sem essa definição não é possível visualizar o mapa.

No terminal, informe o comando:

$ ng serve -o

O resultado deve ser esse:

Até mais!

Referências