Spanish Obtener un punto de gps y generar un link para Google Maps

ocalle

Active Member
Licensed User
Longtime User
Hola a todos, Hay algún modo de obtener una latitud longitud y enviarla mediante un mensaje en un link de Google maps con zoom?

Algo liviano que no sobrecargue el sistema.

Un gran saludo!
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

La localizacion la puedes coger con la libreria GPS o LocationManager, con esta ultima tienes la ventaja de que puedes cogerla del gps, o de las redes del dispositivo (wifi, datos) o ambas y es muy facil de implementar

B4X:
Dim lm As LocationManager

lm.Initialize("Localizacion")

' puedes llamar a las dos si quieres, asi si hay cobertura GPS tendrás mas precisión
' MARCHA
lm.requestMobileLocation ' la del movil
lm.requestGPSLocation ' la del gps

' PARO
lm.stopMobileListening
lm.stopGPSListening

Sub Localizacion_LocationChanged (Longitude As Double, Latitude As Double, Altitude As Double, Accuracy As Float, Bearing As Float, Provider As String, Speed As Float, Time As Long)
 
   Log("LocationChanged " & Longitude & " " & Latitude)
 
   ' puedes emplear una variable global para pasarle la localización
   GPS_Latitud = Latitude
   GPS_Longitud = Longitude

End Sub

Sub Localizacion_ProviderDisabled (Provider As String)
' Entra aquí cuando la ubicación está parada
' puedes emplearla para avisar al usuario de que la conecte
End Sub

' ------------------------------------------------------------------------------
' ENVIAR UN MENSAJE SMS (hay mil formas, si no te gusta estas puedes buscar en el foro
Dim sm As JavaObject
sm = sm.InitializeStatic("android.telephony.SmsManager").RunMethod("getDefault", null)
Dim port As Short = 90
Dim Destination As String = "123456778" ' numero de telefono
Dim Data() As Byte = "Texto del mensaje a enviar".GetBytes("UTF8")
sm.RunMethod("sendDataMessage", Array(Destination, "", port, data, null, null))
 

Sub EnviarSMS(NumeroTelefono As String, Texto As String)
  ' Envia SMS sin recibir la notificacion del operador de que ha sido enviado
   Dim ps As PhoneSms
   Dim r As Reflector
   r.Target = r.RunStaticMethod("android.telephony.SmsManager", "getDefault", Null, Null)
   r.RunMethod4("sendTextMessage", Array As Object(NumeroTelefono, Null, Texto, Null, Null), _
   Array As String("java.lang.String", "java.lang.String", "java.lang.String","android.app.PendingIntent", "android.app.PendingIntent"))
End Sub
' ------------------------------------------------------------------------------



' verlo en Google Maps
http://maps.google.com/maps?f=q&q=GPS_Latitud,GPS_Longitud&z=16



Saludos
 
Last edited:

ocalle

Active Member
Licensed User
Longtime User
Muchas gracias por la infinita ayuda y claridad!
 
Top