Dario Caceres
Member
Me descargue el proyecto tuyo , y en el celular solo aparecen satelites pero de lo otro nada, que sera ? saludos
#Region Module Attributes
#FullScreen: False
#IncludeTitle: True
#ApplicationLabel: GPS
#VersionCode: 1
#VersionName:
#SupportedOrientations: unspecified
#End Region
Sub Process_Globals
Public GPS1 As GPS
Public locationw As Location
End Sub
Sub Globals
Dim lblLon As Label
Dim lblLat As Label
Dim lblSpeed As Label
Dim lblSatellites As Label
Dim precis,Vel,bearing,alt As Float
Private lblprec As Label
Private lblbearing As Label
Private lblalt As Label
Private lblaccval As Label
Private lblspeedval As Label
Dim a As Int
Private btntest As Button
Private Label1 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
GPS1.Initialize("GPS")
End If
Activity.LoadLayout("1")
End Sub
Sub Activity_Resume
If GPS1.GPSEnabled = False Then
ToastMessageShow("Please enable the GPS device.", True)
StartActivity(GPS1.LocationSettingsIntent) 'Will open the relevant settings screen.
Else
GPS1.Start(0,0) 'Listen to GPS with no filters.
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
GPS1.Stop
End Sub
Sub GPS_LocationChanged (location1 As Location)
lblLat.Text = "Lat = " & location1.ConvertToSeconds(location1.Latitude)
lblLon.Text = "Lon = " & location1.ConvertToseconds(location1.Longitude)
Vel=Round(location1.Speed*3600/1000)
lblSpeed.Text = "Speed = " & Round2(Vel,1)
precis=location1.accuracy
lblprec.Text= "Prec = " & Round2(precis,1)
bearing=location1.Bearing
lblbearing.Text= "Bear = " & Round2(bearing,1)
alt=location1.Altitude
lblalt.Text= "Alt = " & Round2(alt,1)
If location1.SpeedValid=True Then
lblspeedval.text="SI"
Else
lblspeedval.text="NO"
End If
If location1.AccuracyValid=True Then
lblaccval.text="SI"
Else
lblaccval.text="NO"
End If
End Sub
Sub GPS_UserEnabled (Enabled As Boolean)
ToastMessageShow("GPS device enabled = " & Enabled, True)
End Sub
Sub GPS_GpsStatus (Satellites As List)
lblSatellites.Text = "Satellites:" & CRLF
For i = 0 To Satellites.Size - 1
Dim Satellite As GPSSatellite
Satellite = Satellites.Get(i)
If Satellite.UsedInFix=True Then
a=a+1
End If
Next
lblSatellites.Text = lblSatellites.Text & CRLF & a
a=0
End Sub
Sub btntest_Click
locationw.Initialize
Label1.Text=locationw.Latitude
End Sub
Hola a todos.
Soy nuevo en B4A aunque tengo nociones básicas de VB. Estoy con la versión de pruebas intentando hacer un programa que me de la posición GPS cada cierto tiempo co un Timer o apretando un botón.
Saludos!!, precisamente ando trabajando con el mismo problema, y si que deberia de haber alguna solucion, quiero recuperar los datos GPS sin tener que cambiar de localizacion, es decir, sin tener que esperar a que el dispositivo se mueva para poder leer los datos.
Pues Suerte, porque he estado mirando por todo el foro y no he visto en ningún sitio como acceder fuera del evento location_change así que he adaptado todo el programa a esta carácterística. Como por ejemplo saber que no hay cobertura cuando pasa determinado tiempo sin coordenadas refrescadas.
Sub Globals
Dim lm As LocationManager
' .............
' .............
' .............
Sub Activity_Create(FirstTime As Boolean)
lm.Initialize("Localizacion")
' .............
' .............
' .............
Sub Activity_Pause (UserClosed As Boolean)
If UserClosed Then lm.stopMobileListening
' .............
' .............
' .............
' ------------------------------------------------------------------------------------------
' DONDE QUERAIS PONER EN MARCHA O PARAR (en el timer por ejemplo como decia Glitchs)
lm.requestMobileLocation ' pone en marcha localización
lm.stopMobileListening ' para localización
' ------------------------------------------------------------------------------------------
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)
' cogemos los datos de longitud y latitud
End Sub
Sub Localizacion_ProviderDisabled (Provider As String)
Msgbox("Por favor, active la Ubicación", "Aviso GPS")
End Sub