Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 21/10/13, 10:39:40
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
Obtener el nombre de un lugar (su dirección) sabiendo sus coordenadas

Comparto una tarea que tengo y que sirve para obtener la dirección postal en función de las coordenadas.

Normalmente, el sistema de ubicación nos devuelve las coordenadas (latitud y longitud) del sitio en el que estamos, al estilo siguiente: 40.451475,-3.704344
En muchos casos será interesante obtener también -a partir de esas coordenadas- la dirección postal o el nombre del lugar. Funciona bastante bien en ciudades y otras poblaciones: en esos casos la información obtenida incluye la calle y el número del portal, como por ejemplo "Calle Poeta Querol, 10. 46002 Valencia. Spain". Pero si las coordenadas son de un lugar despoblado (en medio de un bosque o en el mar), es evidente que no vas a obtener una información tan concreta y precisa.

Los datos se obtienen del servidor maps.google.com , y luego son adecuadamente troceados y seleccionados para quedarnos solo con la dirección postal y descartar el resto de información que no nos interesa. Siendo un servidor de Google, supongo que servirá para todo el planeta, aunque yo solo lo he probado y usado en algunos sitios de la España continental. Puesto que hay que consultar un servidor de Internet, es claro que esta tarea solo funcionará cuando tengas conexión de datos.

La tarea se llama UbicNombreSitio y está pensada para ser utilizada como una SubTarea. O sea que esta tarea UbicNombreSitio debe ser invocada desde otra tarea principal, mediante una acción Realizar tarea que debe incluir como parámetro1 las coordenadas del lugar y debe indicar también en cual variable se recojerá el resultado devuelto por la subtarea. Lo más cómodo y habitual es que las coordenadas estén en una variable, así que podemos incluir como parámetro1 el nombre de esa variable.

Conviene que la acción Realizar tarea otorgue a la SubTarea NombreSitio una prioridad mayor que la prioridad de la tarea principal; de esta forma nos aseguramos de que la tarea principal quedará en pausa mientras se ejecuta la SubTarea. Lo más sencillo es otorgar a la SubTarea una prioridad máxima (10) y ya, puesto que que las tareas normales tienen prioridad 5 (salvo que lo hayas cambiado). Tras haberse completado la SubTarea, la tarea principal continuará ejecutándose en la siguiente acción, y podrá utilizar a conveniencia la información obtenida de la SubTarea que se habrá guardado en la variable especificada (en la misma acción Realizar tarea).

Hay otro artículo que explica detalladamente todo lo relacionado con el tema Subtareas y tareas principales. Coordinación entre ellas., lo puedes ver en http://www.htcmania.com/showthread.php?t=744076

Como he dicho, la tarea UbicNombreSitio está pensada para ser utilizada como una subtarea, pero para hacer pruebas se puede ejecutar directamente; en tal caso utilizará una ubicación de Madrid (pero puedes establecer otras coordenadas que te interesen) y devolverá una Notifiación con el nombre del lugar.

UbicNombreSitio (29)
<Esta tarea obtiene el nombre de un lugar a partir de las coordenadas geográficas que son recibidas como parámetro. Para hacer pruebas, se puede utilizar la tarea directamente sin parámetro y en tal caso se utilizarán unas coordenadas de Madrid>
A1: Si (if) [ %par1 !~ *,* ]
A2: Establecer variable [ Nombre:%test A:1 Calcular:Apagado Añadir:Apagado ]
A3: Establecer variable [ Nombre:%par1 A:40.45,-3.70 Calcular:Apagado Añadir:Apagado ]
A4: Fin si (End if)
<Consultamos la base de datos de google>
A5: HTTP Get [ Servidor:Puerto:maps.google.com/maps/api/geocode/xml?sensor=true&latlng=%par1 Ruta: Atributos: Cookies: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida: Continuar Tarea Tras Error:Encendido ]
A6: Establecer variable [ Nombre:%nombresitio A:%HTTPD Calcular:Apagado Añadir:Apagado ]
<Comprobamos el dato obtenido>
A7: Si (if) [ %nombresitio ~ */formatted_address* ]
<Ajustamos el dato obtenido>
A8: Separar variable [ Nombre:%nombresitio Separador:</formatted_address> Eliminar base:Apagado ]
A9: Separar variable [ Nombre:%nombresitio1 Separador:<formatted_address> Eliminar base:Apagado ]
A10: Establecer variable [ Nombre:%nombresitio A:%nombresitio12 Calcular:Apagado Añadir:Apagado ]
A11: Else
<Dato inválido>
A12: Limpiar variable [ Nombre:%nombresitio Coincidencia de Patrón:Apagado ]
A13: Fin si (End if)
<Devolvemos el resultado a la tarea principal>
A14: Devolver [ Valor:%nombresitio Parar:Apagado ]
<Se muestra el resultado en un flash pero sólo si estamos haciendo pruebas>
A15: Flash [ Texto:%nombresitio Largo:Encendido ] Si (if) [ %test ~ 1 ]
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker

Última edición por Caravantes Día 24/12/13 a las 15:44:21.
Responder Con Cita
Los siguientes 6 usuarios han agradecido a Caravantes su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 21/10/13, 18:12:32
Array

[xs_avatar]
Jusss Jusss no está en línea
Usuario muy activo
 
Fecha de registro: ago 2012
Mensajes: 713
Modelo de smartphone: Galaxy Note 3 N9005
Tu operador: Movistar
Funciona perfecto desde Argentina, la integre a Tu tarea http://www.htcmania.com/showthread.php?t=547893

Para que funcione le agregue al final esto:
A3: Realizar tarea NombreSitio Parámetro1 %Sitio . Devolver-Valor-de-Variable %nombresitio
A4: Decir %nombresitio

y me lee la direccion donde estoy tras decir posicion guardada
Responder Con Cita
Los siguientes 3 usuarios han agradecido a Jusss su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #3  
Viejo 21/10/13, 18:27:22
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por Jusss Ver Mensaje
http://www.htcmania.com/showthread.php?t=547893
...me lee la direccion donde estoy tras decir posicion guardada
Si quieres, también puedes integrar otras dos acciones similares en la segunda tarea de esa página (Posición-Volver). Yo lo tengo así, para que (antes de abrir el mapa-navegador) me diga de voz la dirección hacia la que voy caminando.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Caravantes su comentario:
  #4  
Viejo 22/02/15, 22:20:44
Array

[xs_avatar]
SacalmM SacalmM no está en línea
Miembro del foro
 
Fecha de registro: mar 2014
Localización: United Kingdom
Mensajes: 261
Modelo de smartphone: Note 9
Tu operador: Otra
No consigo que me funcione...

ejecutando la tarea en modo prueba sale HTTPD, y si la añado como dice Jusss en tu otra tarea, me dicer: Error, la tarea no existe



Edito: Nada nada, errores mios... en esta "subtarea" ya me da la dirección de madrid.

Por otro lado, si cambio:

Código:
A3: Establecer variable [ Nombre:%par1 A:40.45,-3.70 Calcular:Apagado Añadir:Apagado ] 
por
A3: Establecer variable [ Nombre:%Sitio Calcular:Apagado Añadir:Apagado ]
obtengo la dirección de la ultima ubicación, y para unirla a la otra tarea, solo con añadir la "subtarea" NombreSitio es suficiente

Muchas gracias por esas magníficas tareas

Última edición por SacalmM Día 22/02/15 a las 23:31:22.
Responder Con Cita
Gracias de parte de:
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 11:54:32 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /