criando sistemas de informações geográfica com google maps...

38
Criando Sistemas de Informações Geográfica com Google Maps API Prof. Tiago Badre Marino Geoprocessamento Departamento de Geociências Instituto de Agronomia UFRRJ

Upload: others

Post on 12-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Criando Sistemas de Informaccedilotildees

Geograacutefica com Google Maps API

P r o f T i a g o B a d r e M a r i n o ndash G e o p r o c e s s a m e n t o

D e p a r t a m e n t o d e G e o c i ecirc n c i a s ndash I n s t i t u t o d e A g r o n o m i a

U F R R J

Plano de Aula2 Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Agenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O QUE Eacute GOOGLE MAPS API

REFEREcircNCIA E DOCUMENTACcedilAtildeO

COMPONENTES BAacuteSICOS API KEY GMAP

GMARKER GLINE GPOLYNE

MEDINDO DISTAcircNCIAS E AacuteREAS

GEOLOCATION GEOCODIFICACcedilAtildeO

GDIRECTIONS ROTEAMENTO

GELEVATION ELEVACcedilAtildeO

GOOGLE STATIC MAPS API

KML EXPORTANDO PARA GOOGLE EARTH

CASOS DE USO

Plano de Aula3

Enquete

Quantos alunos de ciecircncias da computaccedilatildeo

Quantos sabem HTML

Quantos sabem Javascript

Quantos jaacute desenvolveram Google Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula4

O que eacute Google Maps API

A Google Maps API eacute um serviccedilo gratuito disponiacutevel para qualquersite que o puacuteblico possa usar gratuitamente (termos de serviccedilo)

O Google usa o padratildeo sistema geodeacutesico mundial WGS84

A incorporaccedilatildeo do Google Maps em sua paacutegina da web pode servia programaccedilatildeo Javascript ou Flash

Atualmente na versatildeo 3 Manteacutem funcionalidades das versotildees anteriores

Tipos de mapas estilizados na Google Maps API V3

StreetView na Google Maps API V3

Google Gears Geolocation exibe sua localizaccedilatildeo em tempo real

Otimizaccedilatildeo de desenvolvimento para Smartphone

ElevationService serviccedilo que se comunica diretamente com servidores doGoogle para solicitar dados de elevaccedilatildeo de um dados ponto

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula5

Referecircncia e Documentaccedilatildeo

Google Maps Javascript API V3 Reference httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptreferencehtml

Google Maps Javascript API V3 Demo Gallery (coacutedigo view code) httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptdemogalleryhtml

Exemplos de implementaccedilotildees com coacutedigo-fonte comentado httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptexamplesindexhtml

Maps API for Flash httpcodegooglecomapismapsdocumentationflash

Google Earth API (no navegador)

httpcodegooglecomintlpt-BRapisearthdocumentationreferenceindexhtml

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 2: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula2 Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Agenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O QUE Eacute GOOGLE MAPS API

REFEREcircNCIA E DOCUMENTACcedilAtildeO

COMPONENTES BAacuteSICOS API KEY GMAP

GMARKER GLINE GPOLYNE

MEDINDO DISTAcircNCIAS E AacuteREAS

GEOLOCATION GEOCODIFICACcedilAtildeO

GDIRECTIONS ROTEAMENTO

GELEVATION ELEVACcedilAtildeO

GOOGLE STATIC MAPS API

KML EXPORTANDO PARA GOOGLE EARTH

CASOS DE USO

Plano de Aula3

Enquete

Quantos alunos de ciecircncias da computaccedilatildeo

Quantos sabem HTML

Quantos sabem Javascript

Quantos jaacute desenvolveram Google Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula4

O que eacute Google Maps API

A Google Maps API eacute um serviccedilo gratuito disponiacutevel para qualquersite que o puacuteblico possa usar gratuitamente (termos de serviccedilo)

O Google usa o padratildeo sistema geodeacutesico mundial WGS84

A incorporaccedilatildeo do Google Maps em sua paacutegina da web pode servia programaccedilatildeo Javascript ou Flash

Atualmente na versatildeo 3 Manteacutem funcionalidades das versotildees anteriores

Tipos de mapas estilizados na Google Maps API V3

StreetView na Google Maps API V3

Google Gears Geolocation exibe sua localizaccedilatildeo em tempo real

Otimizaccedilatildeo de desenvolvimento para Smartphone

ElevationService serviccedilo que se comunica diretamente com servidores doGoogle para solicitar dados de elevaccedilatildeo de um dados ponto

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula5

Referecircncia e Documentaccedilatildeo

Google Maps Javascript API V3 Reference httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptreferencehtml

Google Maps Javascript API V3 Demo Gallery (coacutedigo view code) httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptdemogalleryhtml

Exemplos de implementaccedilotildees com coacutedigo-fonte comentado httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptexamplesindexhtml

Maps API for Flash httpcodegooglecomapismapsdocumentationflash

Google Earth API (no navegador)

httpcodegooglecomintlpt-BRapisearthdocumentationreferenceindexhtml

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 3: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula3

Enquete

Quantos alunos de ciecircncias da computaccedilatildeo

Quantos sabem HTML

Quantos sabem Javascript

Quantos jaacute desenvolveram Google Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula4

O que eacute Google Maps API

A Google Maps API eacute um serviccedilo gratuito disponiacutevel para qualquersite que o puacuteblico possa usar gratuitamente (termos de serviccedilo)

O Google usa o padratildeo sistema geodeacutesico mundial WGS84

A incorporaccedilatildeo do Google Maps em sua paacutegina da web pode servia programaccedilatildeo Javascript ou Flash

Atualmente na versatildeo 3 Manteacutem funcionalidades das versotildees anteriores

Tipos de mapas estilizados na Google Maps API V3

StreetView na Google Maps API V3

Google Gears Geolocation exibe sua localizaccedilatildeo em tempo real

Otimizaccedilatildeo de desenvolvimento para Smartphone

ElevationService serviccedilo que se comunica diretamente com servidores doGoogle para solicitar dados de elevaccedilatildeo de um dados ponto

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula5

Referecircncia e Documentaccedilatildeo

Google Maps Javascript API V3 Reference httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptreferencehtml

Google Maps Javascript API V3 Demo Gallery (coacutedigo view code) httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptdemogalleryhtml

Exemplos de implementaccedilotildees com coacutedigo-fonte comentado httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptexamplesindexhtml

Maps API for Flash httpcodegooglecomapismapsdocumentationflash

Google Earth API (no navegador)

httpcodegooglecomintlpt-BRapisearthdocumentationreferenceindexhtml

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 4: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula4

O que eacute Google Maps API

A Google Maps API eacute um serviccedilo gratuito disponiacutevel para qualquersite que o puacuteblico possa usar gratuitamente (termos de serviccedilo)

O Google usa o padratildeo sistema geodeacutesico mundial WGS84

A incorporaccedilatildeo do Google Maps em sua paacutegina da web pode servia programaccedilatildeo Javascript ou Flash

Atualmente na versatildeo 3 Manteacutem funcionalidades das versotildees anteriores

Tipos de mapas estilizados na Google Maps API V3

StreetView na Google Maps API V3

Google Gears Geolocation exibe sua localizaccedilatildeo em tempo real

Otimizaccedilatildeo de desenvolvimento para Smartphone

ElevationService serviccedilo que se comunica diretamente com servidores doGoogle para solicitar dados de elevaccedilatildeo de um dados ponto

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula5

Referecircncia e Documentaccedilatildeo

Google Maps Javascript API V3 Reference httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptreferencehtml

Google Maps Javascript API V3 Demo Gallery (coacutedigo view code) httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptdemogalleryhtml

Exemplos de implementaccedilotildees com coacutedigo-fonte comentado httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptexamplesindexhtml

Maps API for Flash httpcodegooglecomapismapsdocumentationflash

Google Earth API (no navegador)

httpcodegooglecomintlpt-BRapisearthdocumentationreferenceindexhtml

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 5: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula5

Referecircncia e Documentaccedilatildeo

Google Maps Javascript API V3 Reference httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptreferencehtml

Google Maps Javascript API V3 Demo Gallery (coacutedigo view code) httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptdemogalleryhtml

Exemplos de implementaccedilotildees com coacutedigo-fonte comentado httpcodegooglecomintlpt-

BRapismapsdocumentationjavascriptexamplesindexhtml

Maps API for Flash httpcodegooglecomapismapsdocumentationflash

Google Earth API (no navegador)

httpcodegooglecomintlpt-BRapisearthdocumentationreferenceindexhtml

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 6: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula6

Exemplos - Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Exibe a utilizaccedilatildeo de AJAX Local Search API (consultas sem necessidade derefresh) permitindo usuaacuterios buscar comeacuterciosserviccedilos em qualquer localidade

Ex ldquoPizza em Copacabana - Rio de Janeirordquo

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 7: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula7

Exemplos ndash Reverse Geocoder

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

A partir do clique no mapa o Google retorna as informaccedilotildees de endereccedilo sobreo ponto

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 8: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula8

Exemplos ndash Styled Maps

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Possibilidade de estilizar linhas e cores do mapa

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 9: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula9

Exemplos ndash Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Coacutedigo fonte

Localiza sua posiccedilatildeo atual Ideal para aplicaccedilotildees GPS em Smartphones

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 10: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula10

Inicializaccedilatildeo GMap

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Map Type

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 11: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula11

GMarker GPolyline e GPolygon

GMarker Marca uma posiccedilatildeo no mapa

Um objeto do marcador possui uma ltlatlnggt que eacute a posiccedilatildeo geograacutefica naqual o marcador estaacute ancorado ao mapa e um icon Se o icon natildeo fordefinido no construtor o iacutecone padratildeo G_DEFAULT_ICON seraacute usado

GPolyline Trata-se de uma sobreposiccedilatildeo de mapa que traccedila uma polilinha no mapa

usando os recursos de desenho vetorial do navegador

GPolygon Esta classe eacute muito semelhante a GPolyline exceto pelo fato de que vocecirc

pode especificar uma cor de preenchimento e uma opacidade pois esteobjeto representa um poliacutegono fechado

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 12: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula12

GMarker

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 13: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula13

GPolyline

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 14: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula14

GPolygon

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 15: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula15

GInfoWindow Janela de informaccedilotildees

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 16: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula16

Eventos JavaScript responde a interaccedilotildees gerando eventos e espera que um programa

escute eventos interessantes

Os eventos na API do Google Maps satildeo manipulados com funccedilotildees de utilitaacuteriodentro do GEvent para registrar escutas de evento Ex Click Moveend

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 17: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula17

GOverlay Sobreposiccedilatildeo de Mapas

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 18: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula18

KML Sobreposiccedilatildeo arquivo KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 19: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula19

Medindo distacircncias e aacutereas GPolyline

Atraveacutes do meacutetodo getLength()

Exemplo

GPolygon

Atraveacutes do meacutetodo getArea()

Exemplo

Exemplo de implementaccedilatildeo

Sistema ViconSAGA Web - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

var line = new GPolyline([] color)var len = linegetLength()

var polygon = new GPolygon([] color 3 07 color 02)var area = polygongetArea()

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 20: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula20

Geocoding Geocodificaccedilatildeo Classe usada para fazer a comunicaccedilatildeo direta com os servidores do Google a fim

de obter geocoacutedigos para os endereccedilos especificados pelo usuaacuterio

Aleacutem disso um serviccedilo de geocoacutedigos manteacutem seu proacuteprio cache de endereccedilospermitindo que consultas repetidas sejam respondidas sem precisar percorrertodo o servidor

Uma praacutetica recomendada geral eacute natildeo usar funccedilotildees GClientGeocoder em umloop Os desenvolvedores que possuem diversos endereccedilos para geocoacutedigosdevem usar o Geocodificador HTTP

Meacutetodo importante getLatLng(addressString callbackfunction)

Envia uma solicitaccedilatildeo aos servidores do Google para geocodificar o endereccediloespecificado

Se o endereccedilo foi localizado com ecircxito a funccedilatildeo de retorno de chamadaespecificada pelo usuaacuterio eacute chamada com um ponto GLatLng

Caso contraacuterio a funccedilatildeo de retorno de chamada recebe um ponto null

Em caso de endereccedilos ambiacuteguos somente um ponto da correspondecircncia perfeita eacutepassado para a funccedilatildeo de retorno de chamada Exemplo Consulta por endereccediloldquoAvenida Atlacircnticardquo - httpwwwviconsagacombrladecagendacidada

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 21: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula21

Geocoding Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 22: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula22

Geolocation

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O termo Geolocalizaccedilatildeo se refere agrave identificaccedilatildeo do local geograacutefico de umusuaacuterio ou dispositivo de computaccedilatildeo por meio de vaacuterios mecanismos de coletade dados

Normalmente a maioria dos serviccedilos de geolocalizaccedilatildeo usa endereccedilos deroteamento de rede ou dispositivos GPS internos para determinar esse local

Observe que a Geolocation API eacute especiacutefica para alguns dispositivos algunsnavegadoresdispositivos a suportam outros natildeo portanto natildeo presuma que ageolocalizaccedilatildeo seraacute sempre possiacutevel para qualquer aplicativo da web

Perceba tambeacutem que toda afericcedilatildeo de localizaccedilatildeo do usuaacuterio eacute feita com umamargem de erro informada ao usuaacuterio

Quando aferidos atraveacutes de sensores GPS o geolocation estima a posiccedilatildeo dousuaacuterio com precisatildeo da ordem de 10 metros

Quando aferidos atraveacutes de teacutecnicas de endereccedilos de roteamento a estimativa eacuteda ordem de 100 metros ateacute unidades de quilocircmetros

Exemplo httpmapsgooglecom

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 23: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula23

Geolocation Como detectar o local do usuaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os navegadores mais recentes estatildeo comeccedilando a suportar o padratildeo GeolocalizaccedilatildeoW3C Esse padratildeo faz parte do HTML 5 e provavelmente se tornaraacute logo o padratildeo maisusado

Alguns navegadores com Google Gears podem usar a Google Gears Geolocation APIComo o suporte para o padratildeo W3C ainda natildeo eacute muito abrangente o Gears pode seruma boa opccedilatildeo de reserva

Alguns navegadores usam endereccedilos IP para detectar o local de um usuaacuterio embora aestimativa fornecida seja apenas um valor aproximado (precisatildeo de 100 mts a unidadeskms)

Como o endereccedilo IP de um usuaacuterio pode fornecer apenas uma estimativa aproximada deseu local natildeo recomendamos o uso desse meacutetodo para geolocalizaccedilatildeo O meacutetodo W3C eacuteo mais simples e o mais suportado por isso deve ser priorizado em relaccedilatildeo a outrosmeacutetodos Caso decida usar o Google Gears antes vocecirc deve verificar se o navegadorsuporta o padratildeo W3C Observe que para usar o Google Gears seraacute necessaacuterio carregar oJavascript de inicializaccedilatildeo do Google Gears

O exemplo a seguir tenta determinar o local do usuaacuterio por meio da propriedadenavigatorgeolocation do W3C primeiro e depois tenta o meacutetodo do Google Gears esuspende a operaccedilatildeo se nenhum dos meacutetodos funcionar

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 24: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula24

Geolocation Identifica sua posiccedilatildeo atual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 25: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula25

Geolocation Como especificar o paracircmetro do sensor

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

O uso da API do Google Maps requer que vocecirc indique se o seu aplicativo estaacuteusando um sensor (como um localizador GPS) para determinar a localizaccedilatildeo dousuaacuterio

Isso eacute especialmente importante para dispositivos moacuteveis Os aplicativos devempassar o paracircmetro obrigatoacuterio sensor para a tag ltscriptgt ao incluir o coacutedigoJavascript da Google Maps API indicando se o seu aplicativo estaacute usando umdispositivo sensor

Os aplicativos que determinam a localizaccedilatildeo do usuaacuterio por meio de um sensordevem passar sensor=true ao carregar a API Javascript do Google Maps

Mesmo que seu dispositivo natildeo utilize um dispositivo sensor vocecirc ainda precisapassar esse paracircmetro definindo seu valor como false

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 26: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula26

Geolocation Como desenvolver para aparelhos celulares (iPhone e Android)

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

A API do Google Maps V3 foi desenvolvida para agilizar o carregamento efuncionar bem em aparelhos celulares

Os aparelhos celulares tecircm telas menores do que os navegadores tiacutepicos docomputador Aleacutem disso eles normalmente tecircm um comportamento especiacuteficopara esse tipo de dispositivo (como pressionar para aplicar zoom no iPhone)

Para um bom funcionamento bem em aparelhos celulares recomenda-se

Defina o ltdivgt que conteacutem o seu mapa para ter os atributos de largura e altura de100

Vocecirc pode detectar os aparelhos iPhone e Android inspecionando a propriedadenavigatoruserAgent no DOM

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 27: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula27

Geolocation iPhone

Os aparelhos iPhone respeitam a seguinte tag ltmetagt

Essa configuraccedilatildeo especifica que esse mapa deve ser exibido natela inteira e natildeo deve ser redimensionado pelo usuaacuterio

Os aparelhos Android que executam a versatildeo 15 do software(Cupcake) tambeacutem suportam esses paracircmetros

O navegador Safari do iPhone requer que essa tag ltmetagt sejaincluiacuteda no elemento ltheadgt da paacutegina

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 28: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula28

GDirections Roteamento

Esta classe eacute usada para obter resultados de rotas detraacutefego e exibi-los em um mapa eou um painel de texto

Meacutetodo importante

load(queryString queryOptsGDirectionsOptions)

Este meacutetodo gera uma nova consulta de rotas

O paracircmetro query eacute uma string contendo quaisquer consultasde rotas vaacutelidas

Exemplo de Seattle para Satildeo Francisco ou de Torontopara Ottawa para Nova York

Por padratildeo se um mapa tiver sido especificado durante aconstruccedilatildeo do objeto GDirections a consulta solicitaraacute umresultado na forma de polilinha

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 29: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula29

GDirections Exemplo

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 30: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula30

GDirections Exemplo 2 - Waypoints

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 31: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula31

GElevation Elevaccedilatildeo A ldquoElevation APIrdquo fornece dados para todos os locais na superfiacutecie

da Terra incluindo locais em solos oceacircnicos a grandesprofundezas (que retornam valores negativos) Em casos comoesse para os quais o Google natildeo possui medidas de elevaccedilatildeoprecisas para o local exato da sua solicitaccedilatildeo o serviccedilo interviraacute eretornaraacute um valor aproximado usando os quatro locais maisproacuteximos

Com a ldquoElevation APIrdquo vocecirc pode desenvolver aplicativos decaminhada ciclismo e aplicativos de posicionamento para celular

Retorno pode ser via JSON ou via XML httpmapsgooglecommapsapielevationjsonlocations=397391536-

1049847034|36455556-116866667ampsensor=false

httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 32: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula32

GElevation Elevaccedilatildeo Pontual

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 33: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula33

GElevation Elevaccedilatildeo ao longo de caminho

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Os exemplos abaixo solicitam dados de elevaccedilatildeo ao longo de um caminho emlinha reta partindo de Mt Whitney CA ateacute Badwater CA os pontos mais alto emais baixo no continente do EUA

Noacutes solicitamos dados sobre trecircs samples (vide paracircmetro abaixo) A respostaincluiraacute as duas extremidades e o ponto localizado na metade do caminho

JSON httpmapsgooglecommapsapielevationjsonlocations=397391536-1049847034|36455556-116866667ampsensor=false

XML httpmapsgooglecommapsapielevationxmllocations=397391536-1049847034|36455556-116866667ampsensor=false

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 34: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula34

Google Static Maps API

A Google Static Maps API permite que vocecirc incorpore umaimagem do Google Maps na sua paacutegina da web sem exigir coacutedigosJavaScript ou qualquer carregamento dinacircmico de paacutegina

O serviccedilo Google Static Maps cria o seu mapa com base nosparacircmetros de URL enviados por meio de uma solicitaccedilatildeo HTTPpadratildeo e o retorna como uma imagem que vocecirc pode exibir na suapaacutegina da web

A Google Static Maps API natildeo requer mais uma chave da GoogleMaps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 35: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula35

Google Static Maps API O uso da Google Static Maps API estaacute sujeito a um limite diaacuterio de consulta de

1000 solicitaccedilotildees diaacuterias exclusivas (diferentes) de imagem por visualizador

Como essa restriccedilatildeo eacute baseada em uma cota por visualizador a maioria dosdesenvolvedores natildeo deve se preocupar em exceder essa cota Aleacutem dissoobserve que em geral solicitaccedilotildees de imagens idecircnticas natildeo contam para autilizaccedilatildeo do limite sendo considerada apenas a solicitaccedilatildeo original

Se um usuaacuterio exceder o limite descrito acima a imagem abaixo seraacute exibidaindicando que a cota foi excedida

A Google Static Maps API retorna uma imagem (GIF PNG ou JPEG) em respostaa uma solicitaccedilatildeo HTTP por meio de um URL

Para cada solicitaccedilatildeo vocecirc pode especificar a localizaccedilatildeo do mapa o tamanhoda imagem o niacutevel de zoom o tipo do mapa e o posicionamento de marcadoresopcionais em locais do mapa Aleacutem disso vocecirc pode nomear os seusmarcadores usando caracteres alfanumeacutericos para que possa utilizaacute-los emuma legenda

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 36: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula36

Google Static Maps API

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

httpmapsgooglecommapsapistaticmapcenter=Brooklyn+BridgeNew+YorkNYampzoom=14ampsize=512x512ampmaptype=roadmap ampmarkers=colorblue|labelS|40702147-74015794ampmarkers=colorgreen|labelG|40711614-74012318 ampmarkers=colorred|colorred|labelC|40718217-73998284ampsensor=false

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 37: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula37

KML Exportando para Google Earth KML eacute um formato de arquivo usado para exibir dados geograacuteficos em um

navegador da Terra como Google Earth Google Maps e Google Maps paracelular

O KML utiliza uma estrutura de tags com elementos e atributos aninhados e sebaseia no padratildeo XML

Exemplo de arquivo no formato KML

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Referecircncia Web

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ

Page 38: Criando Sistemas de Informações Geográfica com Google Maps APItiagomarino.com/tiagomarino/publications/18_PPT.pdf · Exemplos - Geocoder ... 11 GMarker, GPolyline e GPolygon

Plano de Aula38

Casos de Uso Projeto Agenda Cidadatilde ndash Santareacutem ndash PA

wwwlageopufrjbrviconladecagendacidada

Plano de Gestatildeo Operacional de Recursos Hiacutedricos ndash Corpo de Bombeiros doEstado do Rio de Janeiro

httpwwwlageopufrjbrviconcbmerjpgorh

Plano Diretor da Universidade Federal do Rio de Janeiro

httpwwwlageopufrjbrviconlageopufrrj

Setor Imobiliaacuterio

Prof Tiago Badre Marino ndash Geoprocessamento - Departamento de Geociecircncias ndash Instituto de Agronomia - UFRRJ