Bots de conversa de Telegram amb Google Apps Script

Bots de conversa Exemples Dades pràctiques   Recursos CITCEA
Google Apps Script Projectes Interacció   Inici

Conversió d'adreces a coordenades (i al contrari)

Ens pot interessar conèixer les coordenades (latitud i longitud) que corresponen a una adreça. També ens pot interessar conèixer l'adreça a la que corresponen unes determinades coordenades. Tenim unes funcions que ens permeten fer la conversió, a partir d'un objecte de geolocalització. A continuació comentem les funcions més habituals. Es pot trobar informació completa al web de Google.

Funció Descripció Exemple
Maps.newGeocoder() Crea un objecte de geolocalització var geo = Maps.newGeocoder();
geocode(adre) Estableix una adreça al geolocalitzador var lloc = geo.geocode("ETSEIB UPC");
reverseGeocode(lat, long) Estableix unes coordenades al geolocalitzador var lloc = geo.reverseGeocode(41.3847924,2.115638)
results[i] Vector que conté els resultats del geolocalitzador var result = lloc.results[0];
results.length Nombre de resultats que ha trobat el geolocalitzador lloc.results.length
formatted_address Adreça completa corresponent al resultat del geolocalitzador var adre = result.formatted_address;
geometry.location.lat Latitud corresponent al resultat del geolocalitzador var lat = result.geometry.location.lat;
geometry.location.lng Longitud corresponent al resultat del geolocalitzador var long = result.geometry.location.lng;

Podem obtenir un nobre variable de resultats. Quan definim la localització des de les coordenades és probable que obtinguem una colla de resultats que solen estar ordenats començant pels més concrets.

Per exemple, la següent funció:

function geo(id){
  var geoloc = Maps.newGeocoder();
  var lloc = geoloc.geocode("ETSEIB UPC");
  var text = "";
  for (var i = 0; i < lloc.results.length; i++) {
    var result = lloc.results[i];
    text = text + "Resultat " + i + ":\n";
    text = text + result.formatted_address + "\n";
    text = text + result.geometry.location.lat + "\n";
    text = text + result.geometry.location.lng + "\n\n";
  }
  sendText(id, text)
}

ens dona el següent resultat:

Resultat 0:
Avinguda Diagonal, 647, 08028 Barcelona, Spain
41.38479239999999
2.115638

I la següent:

function geo(id){
  var geoloc = Maps.newGeocoder();
  var lloc = geoloc.reverseGeocode(41.3851564, 2.1160347);
  var text = "";
  for (var i = 0; i < lloc.results.length; i++) {
    var result = lloc.results[i];
    text = text + "Resultat " + i + ":\n";
    text = text + result.formatted_address + "\n";
    text = text + result.geometry.location.lat + "\n";
    text = text + result.geometry.location.lng + "\n\n";
  }
  sendText(id, text)
}

ens dona:

Resultat 0:
24, Carrer de Pascual i Vila, 23-24, 08028 Barcelona, Spain
41.3850049
2.1159613

Resultat 1:
Zona Universitària - Escola T S d'Enginyeria, 08028 Barcelona, Spain
41.385078
2.115683

Resultat 2:
Avinguda Diagonal, 647, 08028 Barcelona, Spain
41.385217
2.1160363

Resultat 3:
Carrer de Pascual i Vila, 08028 Barcelona, Spain
41.3851853
2.1160506

Resultat 4:
La Maternitat i Sant Ramon, Barcelona, Spain
41.3793155
2.1134953

Resultat 5:
08028 Barcelona, Spain
41.3790881
2.1278398

Resultat 6:
Les Corts, Barcelona, Spain
41.3834895
2.1167971

Resultat 7:
Barcelona, Spain
41.3850639
2.1734035

Resultat 8:
Barcelona, Spain
41.3850494
2.1733247

Resultat 9:
Barcelonès, Barcelona, Spain
41.4016668
2.1253854

Resultat 10:
Barcelona, Spain
41.3850477
2.1733131

Resultat 11:
Catalonia, Spain
41.5911589
1.5208624

Resultat 12:
Spain
40.46366700000001
-3.74922

Resultat 13:
94P8+3C Barcelona, Spain
41.3851564
2.1160347

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.