domingo, 8 de setembro de 2013

Adicionar coordenadas aos contactos no iPhone

(Este post foi construído com base em informação que encontrei em iOS Developer Library e no blog de Brag Diggs)


Experimente o leitor fazer este exercício simples. Imagine que tem um amigo que mora num local sem endereço de porta. Não precisa de ser algo no meio do mato, basta que seja um ponto numa rua/estrada sem número de polícia. Neste exemplo usarei uma casa próximo da Estrada Nacional 10, uma via que começa após o Parque das Nações, passa por Samora Correia e Setúbal antes de terminar em Cacilhas. São 144Km de estrada e é fácil de compreender que a indicação habitual "N10, 2600 Vila Franca de Xira" é inútil porque aponta para um local a 20 quilómetros do pretendido.

1) Abra o Mapas no iPhone, escolha um ponto. 
2) Mantenha o dedo no mapa até aparecer um alfinete.
3) Clique na seta que aparece e escolha "Contactos"
4) Pode agora adicionar o local a um contacto.

E tudo corre bem se a morada for algo semelhante a "Rua do Sol ao Rato, 42, Lisboa". No entanto, no caso da morada que adicionar ser algo do semelhante a "2135 Samora Correia" todo este trabalho é perfeitamente inútil e quando dali por uma semana tentar voltar ao local irá perceber que essa indicação leva-o a um ponto a 15 quilómetros de Samora Correia.

O problema é o iOS não aceitar coordenadas nas moradas e optar sempre pela morada mais próxima com resultados desastrosos na maior parte dos casos.

Então, como proceder para adicionar um local com as coordenadas 38.9035 , -8.8437 a um contacto?

Simples, coloquem no campo "Web" do contacto o seguinte texto maps:ll=q?=38.9035,-8.8437

Este texto que o iPhone interpreta como Latitude/Longitude de um ponto é um link para um URL, uma forma elaborada de dizer que podem guardar qualquer local desde que escrevam no campo "Web" do contacto maps:ll=q?= seguido das coordenadas (latitude e longitude) separadas por uma vírgula.




Existem outras variantes que podem ser usadas para forçar a escolha da aplicação de GPS pretendida.


Apple Maps:maps:ll=&q=38.9035,-8.8437 

Google Maps:comgooglemaps://?daddr=38.9035,-8.8437&directionsmode=driving


TomTom:tomtomhome:geo:action=navigateto
&lat=38.9035&long=-8.8437&name=Casa