Per veure un mapa de Google en el nostre dispositiu mòbil, hem de fer una crida al Google Maps des de la nostra app. Això ho farem incorporant a la nostra app el component ActivityStarter (menu Connectivity) i programant l'inici de la nostra app de la següent forma:
L'ActiviyStarter és un component d'App Inventor que permet engegar altres aplicacions des de la nostra app. En aquest cas li estem dient a App Inventor que volem treballar amb l'aplicació Google Maps.
L'ActivityStarter té una altra propietat, el DataUri, amb la que indicarem a GoogleMaps com és el mapa que volem veure.
Un cop ho tenim tot configurat, cal dir-li a l'ActivityStarter que engegui l'aplicació que volem veure:
0.- FEM UN PRIMER EXERCICI: Situem el mapa a unes coordenades.
Per situar un punt al mapa en funció de les seves coordenades, el DataUri ha de contenir totes les dades necessàries.
A la pantalla dels components posarem l’Activity Starter i un botó que ens obrirà els mapes de Google, de manera que ens centrarà el mapa en les coordenades indicades. A més del bloc del ActivityStarter que hem descrit abans, fem el següent bloc de programació:
Quan cliquem el botó ens aparegui el punt del mapa que hem demanat.
PROVEU SI FUNCIONA AMB EL SIMULADOR AI2 COMPANION
guardat al compte xtec amb el nom exercici_mapa0
EXERCICI 1
Ara fem una aplicació semblant però que hàgim de donar la latitud i la longitud i al clicar el botó se'ns obri el GoogleMaps al punt que li hem indicat:
Hem de posar dos components TextBox. Per programar l’obertura del Google Maps ho podem fer de la següent forma:
A la part final del DataUri hi ha el paràmetre z amb què indiquem el nivell de zoom que volem. Aquest valor ha d'estar entre 1 i 23.
** Guardem aquest treball amb el nom de mapa1
guardat al compte xtec amb el nom g_mapes1_1coordenades_copy
El mètode anterior ens centra el mapa a les coordenades indicades, però aquest punt no queda assenyalat al mapa. Per veure el punt al mapa tenim diferents opcions:
Veure les coordenades
Escriure una etiqueta per descriure el lloc
EXERCICI 2
També podeu buscar l'adreça del lloc
Cercar el nom del lloc
Per exemple, per programar trobar l'adreça especificada en un TextBox ho podem fer de la forma següent, i el resultat que obtindrem és el que hi ha a continuació:
** Guardem aquest treball amb el nom de mapa2 (o algun nom semblant) guardat al compte xtec amb el nom g_mapes1_adreca
Els DataUri també poden tenir format https. Per exemple, el que fa referència a l'adreça també podria ser així:
EXERCICI 3 On som?
Una altra cosa que podem fer amb els mapes és geolocalitzar on som. Per fer-ho necessitem un nou component d'App Inventor, que és el LocationSensor, de manera que l'hem de configurar per tal que s'activi en executar la nostra app:
Un cop ja tenim activat el LocationSensor el podem fer servir per construir programar tal i com hem fet fins ara.
La programació seria aquesta:
guardat al compte xtec amb el nom g_mapes2_on som
DIBUIXEM MAPES
Per dibuixar un recorregut en un mapa de Google, el DataUri ha d'incloure el punt d'inici i el de destí del recorregut, en format https i separats pel símbol "/".
Aquests punt_inici i punt_destí poden ser les coordenades del punt (latitud i longitud), l'adreça del lloc o bé el seu nom (41.383, 2.176 - Pla de la Seu, Barcelona - o bé: Catedral)
EXERCICI 4 Rutes des d'on som a un punt posat a una llista.
El punt d'inici és el punt on som. Per construir una ruta a la part dels components hem de posar un LocationSensor i un ListPicker. Si volem que dibuixi la ruta després de clicar un botó, també n'haurem de posar un.
La programació seria: primer caldria crear la variable localització i la llista de destins:
La ruta la programarem en el botó:
** Guardem aquest treball amb el nom de mapa4 (o algun nom semblant)
guardat al compte xtec nom g_mapes3_dibuixar rutes_desdonsom_a_lallista
també hi ha el g_mapes3_dibuixar rutes_llistes
Si acabes prova una versió en que el mapa es dibuixi sense haver de clicar el botó.
Acabem amb els mapes estàtics: http://ateneu.xtec.cat/wikiform/wikiexport/cmd/tac/computacional/b14_ai_mapes/03_estatics
EXERCICI 4 b
Dibuixar una ruta escollint d’una llista el punt d’inici i el punt d’arribada.
Per construir una ruta a la part dels components hem de posar dos ListPicker. Si volem que dibuixi la ruta després de clicar un botó, també n'haurem de posar un botó. Podem posar també un label per explicar el que vols que faci l'aplicació.
Programació:
Comencem posant els blocs de sempre:
Després programem els List Pickers. Dins l’espai de text (color grana) escrivim separats en comes els llocs a on deixarem que esculli l’usuari de la app. Quan la porvem cliquem en aquest lloc i veurem que apareixen aquests llocs.