B4A=true Group=Default Group ModulesStructureVersion=1 Type=Activity Version=9.3 @EndOfDesignText@ #Region Activity Attributes #FullScreen: False #IncludeTitle: False #End Region 'Activity module Sub Process_Globals Dim GPS As GPS Dim rp As RuntimePermissions Dim ruta As String Dim skmt As SQL Dim c As Cursor Dim c2 As Cursor Dim c22 As Cursor Dim c3 As Cursor End Sub Sub Globals Private gmap As GoogleMap Private MapFragment1 As MapFragment Dim Latitud As Double = 0 Dim Longitud As Double = 0 Dim Lat2 As Double = 0 Dim Lon2 As Double = 0 Dim p1, p2 As Location Dim Distance As Float Dim boton1 As Button Dim HUE_BLUE As Float Dim HUE_RED As Float Dim HUE_GREEN As Float Private B_AZUL As Button Private B_ROJO As Button Private B_ROJO As Button Private B_VERDE As Button Dim Tienda As String Dim LatitudRu As Double Dim LongitudRU As Double Dim LIST_AZUL As List Dim LIST_ROJO As List Dim LIST_VERDE As List Dim MARK_AZUL As Marker Dim MARK_ROJO As Marker Dim MARK_VERDE As Marker Dim MARK_CEDIS As Marker Dim MARK_NEGRO As Marker Dim rojo, azul, verde, negro, pVisitar, todos As String Dim NumSerie As Int Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener Dim GoogleMapEXTRA As GoogleMapsExtras Dim CODIGO As String Private SEMANA As String Private b_todos As Button End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("MAPA_RUTAS") ' If File.ExternalWritable Then ' ruta = File.DirDefaultExternal ' Else ruta = File.DirInternal ' End If If File.Exists(ruta, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") End If skmt.Initialize(ruta,"kmt.db", True) 'GPS Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) Wait For Activity_PermissionResult (Permission As String, Result As Boolean) If Result Then StartService(Tracker) Log("Start Tracker") If MapFragment1.IsGooglePlayServicesAvailable = False Then ToastMessageShow("Please install Google Play Services.", True) End If Else ToastMessageShow("No permission", True) B4XPages.ShowPage("Principal") End If ' If(FirstTime) Then ' Starter.GPS.Initialize("GPS") ' End If 'Boton velocidad' ' boton1.Initialize(0) ' boton1.Text = 0 &" "&"km/h" ' boton1.TextColor = Colors.Red ' boton1.TextSize = 15 ' Activity.AddView(boton1, 40%x, 5dip, 25%x, 40dip) 'Fin Boton velocidad' 'MARK_CEDIS.IsInitialized MARK_AZUL.IsInitialized MARK_ROJO.IsInitialized MARK_VERDE.IsInitialized MARK_NEGRO.IsInitialized LIST_AZUL.Initialize LIST_ROJO.Initialize LIST_VERDE.Initialize ' verde = 0 azul = 0 rojo = 0 todos = 1 c=skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) c.Position =0 SEMANA = c.GetString("CUANTOS") c.Close If SEMANA > 0 Then c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) c.Position =0 SEMANA = c.GetString("CAT_VA_VALOR") c.Close End If End Sub Sub Activity_Resume Starter.dondeestoy = "0" Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) Wait For Activity_PermissionResult (Permission As String, Result As Boolean) If Result Then If Starter.GPS.GPSEnabled = False Then ToastMessageShow("Debe Activar el GPS del Equipo.", True) StartActivity(Starter.GPS.LocationSettingsIntent) Else Starter.GPS.Start(0, 0) End If End If LIST_AZUL.Initialize LIST_ROJO.Initialize LIST_VERDE.Initialize verde = 0 azul = 0 rojo = 0 pVisitar = 0 todos = 1 End Sub Sub Activity_KeyPress (KeyCode As Int) As Boolean B4XPages.ShowPage("Principal") Return False End Sub Sub MapFragment1_Ready ' Log("ENTRANDO MapFragment1_Ready") gmap = MapFragment1.GetMap gmap.IsInitialized ' todos= 1 'permisos rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) Wait For Activity_PermissionResult (Permission As String, Result As Boolean) gmap.MyLocationEnabled = Result Dim JavaMapsObject As JavaObject JavaMapsObject = gmap.GetUiSettings JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) '''''''----------------------------MARKER AZUL - NUEVOS If azul = 1 Or todos = 1 Then ' c.IsInitialized c = skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_SECUENCIA from kmt_info where CAT_CL_CODIGO like 'N%' and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' ") ' skmt.Initialize(ruta,"kmt.db", True) Log($"============== Azul Resultados = ${c.RowCount}"$) If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i ' Log($"|${c.GetString("CAT_CL_LONG")}|${c.GetString("CAT_CL_LAT")}|"$) ' Log(i&"|"&c.GetString("CAT_CL_LAT")&"|") LatitudRu = 0 If c.GetString("CAT_CL_LAT") <> "" Then LatitudRu = c.GetString("CAT_CL_LAT") LongitudRU = 0 If c.GetString("CAT_CL_LONG") <> "" Then LongitudRU = c.GetString("CAT_CL_LONG") CODIGO=c.GetString("CAT_CL_CODIGO") Tienda= c.GetString("CAT_CL_NOMBRE") NumSerie=c.GetInt("CAT_CL_SECUENCIA") ' MARK_AZUL = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO, LoadBitmap(File.DirAssets, "marker-azul-" & NumSerie &".png")) MARK_AZUL = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO, Subs.CreateBitmapWithNumber(LoadBitmap(File.DirAssets, "marker-azul.png"), NumSerie)) MARK_AZUL.Snippet = Tienda Next End If c.Close ' Log("4") If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL) End If '''''''----------------------------MARKER VERDE - ACTIVOS If verde = 1 Or todos = 1 Then ' c2.IsInitialized c2=skmt.ExecQuery($"select CAT_CL_CODIGO, CAT_CL_NOMBRE, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info where gestion = 0 And CAT_CL_LAT Is Not Null And CAT_CL_LONG Is Not Null And NUEVO <> '1' And CAT_CL_SECUENCIA <> '0' And CAT_CL_LAT <> 0 And CAT_CL_LONG <> 0"$) Log($"============== Verde Resultados = ${c2.RowCount}"$) For i = 0 To c2.RowCount -1 c2.Position = i ' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$) If IsNumber(c2.GetString("CAT_CL_LONG")) Then LongitudRU = c2.GetString("CAT_CL_LONG") LatitudRu = c2.GetString("CAT_CL_LAT") CODIGO=c2.GetString("CAT_CL_CODIGO") Tienda= c2.GetString("CAT_CL_NOMBRE") NumSerie=c2.GetInt("CAT_CL_SECUENCIA") ' MARK_VERDE = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO,LoadBitmap(File.DirAssets, "marker-verde-"&NumSerie&".png")) MARK_VERDE = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO, Subs.CreateBitmapWithNumber(LoadBitmap(File.DirAssets, "marker-verde.png"), NumSerie)) MARK_VERDE.Snippet = Tienda End If Next c.Close End If ' '''''''----------------------------MARKER ROJO - CERRADOS If rojo = 1 Or todos = 1 Then ' c3.IsInitialized ' c3 = skmt.ExecQuery($"Select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info ' where CAT_CL_CODIGO Not like 'N%' and CAT_CL_SECUENCIA = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null ' And CAT_CL_LAT <> 0 And CAT_CL_LONG <> 0 and CAT_CL_ESTATUS <> 'Inactivo' and CAT_CL_ESTATUS <> 'Activo'"$) ' Se agrego la condicion de "<> inactivo" para que solo aparezcan los "cerrados permanentes" y no los inactivos. ' c3 = skmt.ExecQuery($"Select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info ' where CAT_CL_CODIGO Not like 'N%' and CAT_CL_LAT is not null and CAT_CL_LONG is not null ' And CAT_CL_LAT <> 0 And CAT_CL_LONG <> 0 and CAT_CL_ESTATUS = 'Activo' and HV_MOTIVO = 'CERRADO_XXXXX'"$) c3 = skmt.ExecQuery($"Select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info where cat_cl_estatus = 'Inactivo' and date( -- Para traer la fecha del string substr(cat_cl_fecha_captura, 7, 4) || '-' || -- año substr(cat_cl_fecha_captura, 4, 2) || '-' || -- mes substr(cat_cl_fecha_captura, 1, 2) -- día ) >= date('now', '-2 months')"$) Log($"Select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info where CAT_CL_CODIGO Not like 'N%' and CAT_CL_SECUENCIA = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null And CAT_CL_LAT <> 0 And CAT_CL_LONG <> 0 and CAT_CL_ESTATUS <> 'Inactivo'"$) Log($"============== Rojo Resultados = ${c3.RowCount}"$) For i = 0 To c3.RowCount -1 c3.Position = i LongitudRU = c3.GetDouble("CAT_CL_LONG") LatitudRu = c3.GetDouble("CAT_CL_LAT") Tienda= c3.GetString("CAT_CL_NOMBRE") CODIGO = c3.GetString("CAT_CL_CODIGO") NumSerie=c3.GetInt("CAT_CL_SECUENCIA") ' Log($"${Tienda}|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$) ' MARK_ROJO = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO,LoadBitmap(File.DirAssets, "marker-rojo-"&NumSerie&".png")) MARK_ROJO = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO, Subs.CreateBitmapWithNumber(LoadBitmap(File.DirAssets, "marker-rojo.png"), NumSerie)) MARK_ROJO.Snippet = Tienda Next c3.Close End If ' '''''''----------------------------MARKER NEGRO - VISITADOS If pVisitar = 1 Or todos = 1 Then ' c3.IsInitialized c3 = skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_SECUENCIA from kmt_info where gestion = '11' and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_ESTATUS <> 'Inactivo'") Log($"============== Negro Resultados = ${c3.RowCount}"$) For i = 0 To c3.RowCount -1 c3.Position = i LongitudRU = c3.GetDouble("CAT_CL_LONG") LatitudRu = c3.GetDouble("CAT_CL_LAT") Tienda= c3.GetString("CAT_CL_NOMBRE") CODIGO = c3.GetString("CAT_CL_CODIGO") NumSerie=c3.GetInt("CAT_CL_SECUENCIA") ' Log($"${Tienda}|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$) ' MARK_NEGRO = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO,LoadBitmap(File.DirAssets, "marker-negro-"&NumSerie&".png")) MARK_NEGRO = gmap.AddMarker3(LatitudRu,LongitudRU,CODIGO, Subs.CreateBitmapWithNumber(LoadBitmap(File.DirAssets, "marker-negro.png"), NumSerie)) ' MARK_NEGRO = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO, gmap.HUE_ORANGE) MARK_NEGRO.Snippet = Tienda Next c3.Close End If ''------------------------------ ' MARK_CEDIS = gmap.AddMarker3("19.3961802","-99.0784293","CEDIS", LoadBitmap(File.DirAssets, "marker-azul-0.png")) ' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then ' MARK_CEDIS.Remove ' End If Dim aa As CameraPosition aa.Initialize(LatitudRu,LongitudRU,15)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES gmap.AnimateCamera(aa) '''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION----------- Dim OnInfoWindowClickListener1 As OnInfoWindowClickListener OnInfoWindowClickListener1.Initialize("OnInfoWindowClickListener1") GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1) End Sub ' ''''-------------------------- PRUEBA CON MARKER _CLICK Sub OnInfoWindowClickListener1_click(Marker1 As Marker) skmt.ExecNonQuery("delete from CUENTAA") skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title)) Activity.Finish Starter.dondeestoy = "1" If Marker1.Title.As(String).StartsWith("N") Then B4XPages.MainPage.nuevoCliente.cargarCliente = True B4XPages.ShowPage("NuevoCliente") Else B4XPages.MainPage.cliente.refrescarCliente = True B4XPages.ShowPage("Cliente") End If End Sub Sub GPS_LocationChanged (Parametro As Location) MARK_CEDIS.IsInitialized ' Dim sp As Int ' sp = Ceil(Parametro.Speed * 3.6) ' boton1.Text = sp &" "&"km/h" ' Latitud = Parametro.Latitude ' Longitud = Parametro.Longitude ' p2.Initialize2(Latitud,Longitud) ' p1.Initialize2(Lat2, Lon2) ' Distance = p1.DistanceTo(p2) ' If Latitud <> 0 And Longitud <> 0 Then ' If Distance > 10 Then ' Lat2 = Latitud ' Lon2 = Longitud ' Dim cp As CameraPosition ' cp.Initialize2(Parametro.Latitude, Parametro.Longitude, gmap.CameraPosition.Zoom, Parametro.Bearing, 0) ' gmap.AnimateCamera(cp) ' End If ' End If End Sub Sub Activity_Pause (UserClosed As Boolean) GPS.Stop End Sub Sub B_VERDE_Click verde = 1 azul = 0 rojo = 0 todos = 0 pVisitar = 0 gmap.Clear MapFragment1_Ready End Sub Sub B_ROJO_Click rojo = 1 azul = 0 verde = 0 todos = 0 pVisitar = 0 gmap.Clear MapFragment1_Ready End Sub Sub B_AZUL_Click azul = 1 rojo = 0 verde = 0 todos = 0 pVisitar = 0 gmap.Clear MapFragment1_Ready End Sub Private Sub b_todos_Click todos = 1 azul = 0 rojo = 0 verde = 0 pVisitar = 0 gmap.Clear MapFragment1_Ready End Sub Private Sub b_porVisitar_Click pVisitar = 1 azul = 0 rojo = 0 verde = 0 todos = 0 gmap.Clear MapFragment1_Ready End Sub