segunda-feira, 30 de dezembro de 2019

Sapo Mapas - serviços sem chave que ainda funcionam

Dando uma vista de olhos pela API de Mapas do SAPO,

Deixando de parte a API em javascript, até porque parou no Openlayers 2.13.1



E também porque tem Ortofotos que pararam no tempo, em 2007,


(neste caso concreto sei que naquele local deveria estar uma ETAR a qual foi inaugurada em 2009, mas de qualquer forma temos, para confirmar, as marcas de água de 2007)


A título de curiosidade fui eu quem desenvolveu o Modo de Terreno. Foram utilizadas as DEM Utilities (2006) do Matthew Perry as quais ainda não tinham sido incorporadas na GDAL (gdaldem).

Foi também utilizado o IrfanView para edição de imagem.

E o mapa, propriamente dito, foi desenvolvido em Mapserver 5.2.1, e pré-gerado com Tilecache,



Também já cá falei, em Março de 2010, das Curvas de Nível no Mapserver , ou seja, como são representadas no Modo Terreno. Eram, e são, as utilizadas no Sapo.

Diga-se de passagem que ainda há pouco tempo repliquei toda a configuração original de 2009 para geral MBTiles para utilizar em Android em modo offline, sem ter de apontar aos servidores do Sapo Mapas.

De qualquer forma, o Modo de Terreno, em 10 anos, não foi alterado.


Aliás, os HEADERS têm a data de ultima modificação de 2010 (ver sombreado em baixo).

Reparem que o Sapo Mapas não tem nenhuma funcionalidade de clicar no mapa para saber a altitude, ou muito menos um Web Service de Altitudes, funcionalidade da minha autoria também já documentada neste blogue.

Na altura, o Google Maps ainda não tinha um serviço semelhante, e eu achei que disponibilizar a funcionalidade ao Sapo, ou pior, à Portugal Telecom, seria estar a dar pérolas a porcos. E realmente quando aquilo, uns anos depois, rebentou de forma espectacular, realmente o melhor foi mesmo nem sequer ter falado em interpoladores bilineares, ou coisa que o valha!


Serviços


Mas o mais interessante é que através dos exemplos de Serviços da API de Mapas (nomeadamente, Search, Geocoder, Itineraries, ou Directions) podemos, utilizando o separador de desenvolvimento do browser, descobrir os serviços e respectivos parâmetros que estão por trás da API de Mapas (fazer a descoberta do serviço à mão, por assim dizer).

Por exemplo, para o Geocoder,


Podemos ver os parâmetros na Query String, e temos a URL a sombreado,


E não pede chave de API. E podem utilizar JSONP. Vejam o parâmetro jsonTag para a definição de um callback.


Ou alternativamente, pesquisando por http://services.sapo.pt/Maps/ no ficheiro SAPOMapsAPI.js,

e vamos obter,

http://services.sapo.pt/Maps/GetMyLocationJSON
 
http://services.sapo.pt/Maps/SearchJSON
 
http://services.sapo.pt/Maps/GetWhatsHereJSON
 
http://services.sapo.pt/Maps/GetRoute/JSON
 

Procedimento semelhante para deduzir os parâmetros para estes quatro endpoints, 
através do código javascript. 
 
 
Como estes serviços são necessários para alimentar a API de Mapas, e o Portal de Mapas, 
enquanto estes não forem descontinuados, temos uma certa garantia de que os serviços 
continuam a funcionar...  e sem chave!

























Sem comentários:

Enviar um comentário