Com os primeiros passos da série, temos um mapa que insere marcadores à partir de um endereço e uma avaliação. Voltemos agora ao nosso objeto Map. Veremos alguns métodos úteis para trabalhar com ele.
Todas as partes da série Google Maps API:
Esta é a Parte 4
Parte 5 - Autocompletar locais e endereços, listar e acessar marcadores
Parte 6 - Pegando localização do Usuário com HTML5 Geolocation
Continuando de onde paramos
Você pode pegar o código, como ficou ao final da Parte III clicando aqui, ou continuar de onde parou.
Se pegar acima, não esqueça de rodar o npm install
na pasta do projeto, com o terminal.
Também deve ter o Gulp e Nodejs instalados.
Se tiver dúvidas, veja este post.
Para começar a trabalhar, abra a pasta do projeto com o terminal e rode:
1 | gulp |
Isso deve abrir o browser, com liveReload. Caso não abra automaticamente, acesse http://localhost:1337
Métodos do objeto google.maps.Map
Para manipular nosso mapa, a API Javascript Google Maps V3 disponibiliza alguns métodos pra gente! São eles:
- getBounds()
- getDiv()
- fitBounds(objetoBounds)
- setOptions(objetoOpcoes)
- getProjection()
- panBy(x,y)
- panTo(objetoLatLng)
- panToBounds(objetoBounds)
- getCenter() e setCenter(objetoLatLng)
- getHeading() e setHeading(numero)
- getMapTypeId() e setMapTypeId(objetoMapTypeId)
- getStreetView() e setStreetView(objetoStreetViewPanorama)
- getTilt() e setTitlt(0ou45)
- getZoom() e setZoom(numero)
Veremos alguns destes métodos na prática. Tomei a liberdade de nomear os parâmetros.
Testando métodos via console!
Após executar gulp
, seu servidor deve ter iniciado.
Clique em Iniciar para criar o mapa, e digite um endereço, avalie-o e clique em converter
.
Vamos utilizar uma ferramenta muito útil no workflow de qualquer desenvolvedor web: o console.
No google chrome, aperte f12.
Lembra que nosso mapa está instanciado na variável map
? Pois podemos utilizá-la direto no console!
Digite no console:
Atenção: Cada linha é um comando, após digitar, tecle ENTER. (ignore as linhas que começam com //). E mantenha a janela aberta, para ver os resultados!
1 | map.setMapTypeId(google.maps.MapTypeId.HYBRID); |
Acho que deu pra ter a idéia né?
Abaixo vou explicar o que são os objetos que alguns métodos usam como parâmetros.
Como disse, tomei a liberdade de nomeá-los de forma para facilitar o entendimento. São eles:
Objeto Bounds
Nome na Documentação: google.maps.LatLngBounds
O que é: Um retângulo que representa limite (de terreno) no mapa.
Como criar:new google.maps.LatLngBounds(sw?LatLng, ne?LatLng);
Um LatLng representa o canto sudoeste, e outro o canto nordeste do retângulo que define os Bounds (limites) do mapa.
Note que cada LatLng é um objeto do tipo abaixo:Objeto LatLng
Nome na Documentação: google.maps.LatLng
Oque é: Objeto contendo latitude e longitude
**Como criar:new google.maps.LatLng(latitude, longitude)
**Objeto MapTypeId
Nome na Documentação: google.Maps.MapTypeId
Oque é: representa diferentes tipo de mapa, sendo eles: HYBRID, ROADMAP, SATELLITE e TERRAIN. É parâmetro do options do mapa.
Como usar: com o método setMapTypeId, por exemplo:map.setMapTypeId(google.maps.MapTypeId.SATELLITE
, ou nas configurações ao inicializar o mapa.Objeto Opções
Um objeto com as opções de configuração do mapa. O mesmo que usamos ao criar nosso mapa. Veja a lista completa de opções aqui: https://developers.google.com/maps/documentation/javascript/reference#MapOptions
Você encontra uma relação dos métodos disponíveis, bem como de seus parâmetros, neste link: https://developers.google.com/maps/documentation/javascript/reference#Map
Conclusão
Hoje o post foi um pouco ‘teórico’ e acabamos não fazendo quaisquer alterações em nosso código-fonte.
Mesmo assim, vimos os métodos disponíveis para utilizar em nossos mapas.
Testamos alungs direto no console do navegador - especialmente pra não bagunção nosso código fonte para o que faremos no próximo artigo.
Depois vimos como criar os diferentes objetos que podem ser passados como parâmetro em alguns dos métodos.
Agora, teoricamente, podemos criar controles personalizados e manipular zoom, posição e opções de nosso mapa em nossa aplicação.
Tudo que você fez pelo console poderia estar em uma função, ou no onclick
de algum button.
A próxima parte será bem mais prática e divertida, não perca!
Comments