Sub tmMapa_Tick
Dim cp As CameraPosition
Dim lat As Float
Dim lon As Float
Dim distancia As Double
'Log("punto actual: "& posLatitud &" || "&posLongitud &" || "&posDireccion)
''' posLatitud = -39.829855
''' posLongitud = -73.238061
posLatitud = svcGps.gdLatitud
posLongitud = svcGps.gdLongitud
posDireccion = svcGps.giDireccion
posVelocidad = svcGps.giVelocidad
tmMapa.Enabled = False
' Log("punto actual: "& posLatitud &" || "&posLongitud &" || "&posDireccion &" || "&posVelocidad)
If posVelocidad > 15 Then
zoom= gmap.CameraPosition.zoom+17
Else
zoom = 15
End If
If movil = True Then
If markerActual.IsInitialized Then markerActual.Remove
If posVelocidad <> 0 Then
If posDireccion <= 22 Or posDireccion > 337 Then
cp.Initialize2(posLatitud,posLongitud,zoom,0,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 67 And posDireccion > 22 Then
cp.Initialize2(posLatitud,posLongitud,zoom,44,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 112 And posDireccion > 67 Then
cp.Initialize2(posLatitud,posLongitud,zoom,89,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 157 And posDireccion > 112 Then
cp.Initialize2(posLatitud,posLongitud,zoom,134,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 202 And posDireccion > 157 Then
cp.Initialize2(posLatitud,posLongitud,zoom,180,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 247 And posDireccion > 202 Then
cp.Initialize2(posLatitud,posLongitud,zoom,224,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 292 And posDireccion > 247 Then
cp.Initialize2(posLatitud,posLongitud,zoom,270,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
Else If posDireccion <= 337 And posDireccion > 292 Then
cp.Initialize2(posLatitud,posLongitud,zoom,315,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
End If
Select flecha
Case "ORIGEN"
markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imONorte)
Case "DESTINO"
markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDNorte)
Case Else
markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSNorte)
End Select
Else
markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDetenido)
cp.Initialize(posLatitud,posLongitud, zoom)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
End If
Else
If markerActual.IsInitialized Then markerActual.Remove
If posVelocidad <> 0 Then
DoEvents
Select flecha
Case "ORIGEN"
If posDireccion <= 22 Or posDireccion > 337 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imONorte)
If posDireccion <= 67 And posDireccion > 22 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imONorEste)
If posDireccion <= 112 And posDireccion > 67 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imOEste)
If posDireccion <= 157 And posDireccion > 112 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imOSurEste)
If posDireccion <= 202 And posDireccion > 157 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imOSur)
If posDireccion <= 247 And posDireccion > 202 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imOSurOeste)
If posDireccion <= 292 And posDireccion > 247 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imOOeste)
If posDireccion <= 337 And posDireccion > 292 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imONorOeste)
Case "DESTINO"
If posDireccion <= 22 Or posDireccion > 337 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDNorte)
If posDireccion <= 67 And posDireccion > 22 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDNorEste)
If posDireccion <= 112 And posDireccion > 67 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDEste)
If posDireccion <= 157 And posDireccion > 112 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDSurEste)
If posDireccion <= 202 And posDireccion > 157 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDSur)
If posDireccion <= 247 And posDireccion > 202 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDSurOeste)
If posDireccion <= 292 And posDireccion > 247 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDOeste)
If posDireccion <= 337 And posDireccion > 292 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDNorOeste)
Case Else 'SIN GIRO
If posDireccion <= 22 Or posDireccion > 337 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSNorte)
If posDireccion <= 67 And posDireccion > 22 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSNorEste)
If posDireccion <= 112 And posDireccion > 67 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSEste)
If posDireccion <= 157 And posDireccion > 112 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSSurEste)
If posDireccion <= 202 And posDireccion > 157 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSSur)
If posDireccion <= 247 And posDireccion > 202 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSSurOeste)
If posDireccion <= 292 And posDireccion > 247 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSOeste)
If posDireccion <= 337 And posDireccion > 292 Then markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imSNorOeste)
End Select
Else
markerActual = gmap.AddMarker3(posLatitud, posLongitud, "Usted está aquí", imDetenido)
End If
lat = gmap.CameraPosition.Target.Latitude
lon = gmap.CameraPosition.Target.Longitude
cp.Initialize2(lat,lon,zoom,0,90)
'gmap.AnimateCamera(cp)
gmap.MoveCamera(cp)
End If
lblVelocidadR.Text = posVelocidad & " km/h"
'LogColor("lblVelocidadR: " & lblVelocidadR.Text, Colors.Blue)
If lblEstadoGiro.Text = "" Or lblEstadoGiro.text = "Sin giro" Or lblEstadoGiro.text = "Terminado" Then
lblETA.Text = "N/D"
lblDistancia.Text = "N/D"
lblETAR.Text = "N/D"
lblDistanciaR.Text = "N/D"
Else If lblEstadoGiro.text = "Hacia origen" Then
Try
If posLatitud <> 0 And posLongitud <> 0 Then
distancia = Round2((Round(Comun.revisaPuntoPunto2(posLatitud,posLongitud,sX_ORIGEN.val,sY_ORIGEN.val)) / 1000),2)
lblDistancia.Text = distancia & " Kms"
lblDistanciaR.Text = distancia & " kms"
lblDistancia.Text = lblDistancia.Text.Replace(".",",")
lblDistanciaR.Text = lblDistanciaR.Text.Replace(".",",")
Else
lblDistancia.Text = "N/D"
lblDistanciaR.Text = "N/D"
End If
If posVelocidad <> 0 And posLatitud <> 0 And posLongitud <> 0 Then
lblETA.Text = Round((distancia / posVelocidad) * 60) & " Min."
lblETAR.Text = Round((distancia / posVelocidad) * 60) & " min"
Else
lblETA.Text = "N/D"
lblETAR.Text = "N/D"
End If
Catch
'Log("catch tmMapa_Tick Main " & LastException)
lblETA.Text = "N/D"
lblETAR.Text = "N/D"
tmMapa.Enabled = True
End Try
Else If lblEstadoGiro.text = "En origen" Or lblEstadoGiro.text = "En destino" Then
lblETA.Text = "0 Minutos"
lblDistancia.Text = "0 KM"
lblETAR.Text = "0 min"
lblDistanciaR.Text = "0 km"
Else If lblEstadoGiro.text = "Hacia destino" Then
Try
If posLatitud <> 0 And posLongitud <> 0 Then
distancia = Round2((Round(Comun.revisaPuntoPunto2(posLatitud,posLongitud,sX_DESTINO.val,sY_DESTINO.val)) / 1000),2)
lblDistancia.Text = distancia & " Kms"
lblDistanciaR.Text = distancia & " kms"
lblDistancia.Text = lblDistancia.Text.Replace(".",",")
lblDistanciaR.Text = lblDistanciaR.Text.Replace(".",",")
Else
lblDistancia.Text = "N/D"
lblDistanciaR.Text = "N/D"
End If
If posVelocidad <> 0 And posLatitud <> 0 And posLongitud <> 0 Then
lblETA.Text = Round((distancia/posVelocidad)*60) & " Min."
lblETAR.Text = Round((distancia/posVelocidad)*60) & " min"
Else
lblETA.Text = "N/D"
lblETAR.Text = "N/D"
End If
Catch
Log("catch tmMapa_Tick 1 Main " & LastException)
lblETA.Text = "N/D"
lblETAR.Text = "N/D"
tmMapa.Enabled = True
End Try
End If
tmMapa.Enabled = True
DoEvents
End Sub