INGENIERIA DE SISTEMAS Y ELECTRONICABlog Informativo de tecnologias en Ingenieria de Sistemas y Electronica Inicio Acerca de Inicio Rastreador GPS-Aplicacion Cliente en Vb.Net BUSCAR ARTICULOS Rastreador GPS-Aplicacion Buscar … Cliente en Vb.Net CALENDARIO julio 2012 julio 17, 2012 ingsistele Programacion en .Net L M X J V S D Bien, tal y como habia mencionado en la anterior entrada, vamos a elaborar una 1 aplicacion de escritorio que se encargará de ir haciendole el seguimiento al 2 3 4 5 6 7 8 dispositivo movil a traves de las coordenadas que este envia al servidor y las vamos a ir ubicando en un mapa. Nuestra Aplicacion ademas permitira buscar direcciones 9 10 11 12 13 14 15 diferentes a las que envia el GPS y navegar por cualquier lugar en el mapa. Dicho 16 17 18 19 20 21 22 programa a elaborar tendra el siguiente aspecto: 23 24 25 26 27 28 29 30 31 « Jun Feb » PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API ENTRADAS RECIENTES Consumir WebService Creado en PHP con J2ME Consumir WebService creado en PHP con Vb.Net Crear WebService En PHP Rastreador GPS-Aplicacion Cliente en Vb.Net Rastreador GPS con J2ME NUBE DE TAGS C++ Java Pascal Php Bien, Para comenzar a desarrollar primero debemos descargar el framework o Programacion conjunto de librerias que nos ofrece GMaps, el cual sera nuestra herramienta que nos conectara con los proveedores de mapas disponibles para realizar la ubicacion. en .Net Programacion Estructurada Dicho paquete de librerias junto con una aplicacion DEMO la podemos descargar desde la siguiente direccion:Descargar GMaps.Net, al abrir la pagina descargamos COMENTARIOS el archivo llamado: GMap.NET.WindowsForms.zip o si prefieren el link directo de RECIENTES la descarga presiona:Descarga Directa de GMap.Net. Eduardo en Creacion de Un WebService en… Una Vez descargado el archivo, lo descomprimimos y copiamos las siguientes DLL a Ing. Carlos Witt en nuestro proyecto en vb.net: Consumir Web Service con … PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API Mariano Sedano en Consumir Web Service con … Darwin Mora en Creacion de Un WebService en… eze en Conectar a un puerto serie (CO… CATEGORÍAS C++ Java Pascal Php Programacion en .Net Programacion Estructurada Ahora las pegamos en la carpeta debug del proyecto en vb.net: PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API co.Ahora.uk via the HTML to PDF API . para agregar el control presionamos clic derecho sobre cualquier elemento del cuador de herramientas de la parte derecha de la ventana y en el menu contextual que aparece seleccionamos la opcion elegir elementos tal y como se ve en la imagen: PDF created on http://www.htm2pdf. podemos proceder a agregar el control al conjunto de herramientas de vb y posteriormente la referencia. en la nueva ventana que aparece estando en la pestaña Componentes de .dll tal y como se observa en la interfaz: PDF created on http://www. accedemos a la carpeta debug del proyecto y seleccionamos la referencia: GMap.WindowsForms.co.htm2pdf.Luego.uk via the HTML to PDF API .NET.Net Framework presionamos el boton examinar y en la nueva ventana que se crea. listo con esto ya esta agregado el control.despues de seleccionarla presionamos el boton abrir y posteriormente el boton aceptar. nos dirigimos al cuadro de herramientas y buscamos el control que acabamos de agregar: PDF created on http://www.co.uk via the HTML to PDF API .htm2pdf. A continuacion. y procedemos a a arrastrar el elemento GmapControl al formulario: PDF created on http://www.uk via the HTML to PDF API .htm2pdf.co. htm2pdf. despues de esto vamos a agregar la otra referencia que nos falta.Bien.co. para ello nos dirigimos al explorador de soluciones y presionamos clic derecho sobre la opcion Agregar referencia PDF created on http://www.uk via the HTML to PDF API . por ultimo presionamos el boton aceptar PDF created on http://www. luego accedemos a la carpeta debug del proyecto (a traves de los directorios) y seleccionamos la referencia llamada: GMap.htm2pdf.uk via the HTML to PDF API .NET.Core.dll.co.y en la nueva ventana que aparece nos dirigimos a la pestaña examinar. Bien.uk via the HTML to PDF API . ahora si podemos comenzar a desarrollar…. Pero antes elaboremos el siguiente diseño al formulario agregando otros controles (como se ve en la imagen): PDF created on http://www.co.htm2pdf. ya tenemos todo listo. PDF created on http://www.uk via the HTML to PDF API .htm2pdf.co. Entonces agregaremos: * 5 Botones * 6 TextBox * 2 Combobox * 1 Picturebox * 1 Panel * Varios Groupbox PDF created on http://www.co.htm2pdf.uk via the HTML to PDF API . NET.Markers 8 9 Imports System. agreguemos los siguientes imports al formulario: 1 Imports GMap.* 1 TrackBar: para controlar el zoom * 1 GMapControl1 para visualizar el mapa * 3 timer. Listo.uk via the HTML to PDF API .WindowsForms.NET 4 5 Imports GMap.htm2pdf.NET.NET.co.MapProviders 6 7 Imports GMap. ahora comencemos a programar.Threading Ahora vamos a definir las siguientes variables como globales PDF created on http://www.WindowsForms 2 3 Imports GMap. TextBox_zoom. contador_rws As Integer 8 9 Dim tipo_mapa As GMapProvider 10 11 ' Creamos una variable del tipo Thread 12 13 Private proceso_ubi As Thread el evento load del formulario debera tener el siguiente codigo: 1 Private Sub Form1_Load(ByVal sender As System.Text = 10 PDF created on http://www. pres_boton_coordenadas. contador.Timer_refresco.Enabled = True 16 17 Me.uk via the HTML to PDF API .Timer1.Enabled = False 14 15 Me.Timer_refresco_ws_contador.Enabled = False 12 13 Me.htm2pdf. pres_boton_ws 6 7 Dim indicador_termino. pres_boton_buscar.Object 2 3 'verificar_conexion_internet() 4 5 indicador_termino = 0 6 7 contador = 0 8 9 contador_rws = 0 10 11 Me. longitudm As String 4 5 Dim pres_boton_inicio.co. 1 Dim modo As String 'modo de conexion 2 3 Dim latitudm. GoogleHybridMap 30 31 Me.uk via the HTML to PDF API .Button_desactivaws.Text = "Google Hibrid Map" 26 27 modo = AccessMode.htm2pdf.Text = "ServerOnly" 24 25 Me.Visible = False 20 21 CheckForIllegalCrossThreadCalls = False 'desactiva error por subproceso 22 23 Me. 17 Me.co.ServerOnly 28 29 tipo_mapa = GMapProviders.Text = 10 18 19 Me.Panel_mensaje.Combo_servidor_mapa.Combo_modo_conexion.TextBox_zoom.Enabled = False 32 33 pres_boton_inicio = False 34 35 pres_boton_coordenadas = False 36 37 pres_boton_buscar = False 38 39 pres_boton_ws = False 40 41 End Sub Luego al combobox Modo de Conexion le agregamos los siguientes items como se ve en la imagen: PDF created on http://www. y creamos un procedimiento llamado establecer_modo_conexion() asi: PDF created on http://www.uk via the HTML to PDF API .htm2pdf.co. Text = "ServerOnly") Then 4 5 modo = AccessMode.Combo_modo_conexion.uk via the HTML to PDF API .Combo_modo_conexion. 1 Sub establecer_modo_conexion() 2 3 If (Me.Text = "CacheOnly") Then 10 11 modo = AccessMode.co.Text = "ServerAndCache") 16 17 modo = AccessMode.Combo_modo_conexion.ServerAndCache 18 19 End If 20 21 End Sub Luego al combobox servidor de mapas le agregamos los siguientes items tal y como se ve en la interfaz: PDF created on http://www.htm2pdf.ServerOnly 6 7 End If 8 9 If (Me.CacheOnly 12 13 End If 14 15 If (Me. co.GoogleMap 6 7 End If 8 9 If (Me.Text = "Google Satellite" 10 11 tipo_mapa = GMapProviders.Combo_servidor_mapa.htm2pdf.uk via the HTML to PDF API .Text = "Google Map") Then 4 5 tipo_mapa = GMapProviders.y creamos un procedimiento para determinar la seleccion de cada uno de los servidores asi: 1 Sub establecer_servidor_mapa() 2 3 If (Me.Combo_servidor_mapa.GoogleSatelliteMap 12 PDF created on http://www. 12 13 End If 14 15 If (Me.GoogleHybridMap 24 25 End If 26 27 If (Me.Combo_servidor_mapa.Text = "Ovi Satellite") 40 41 tipo_mapa = GMapProviders.htm2pdf.OviSatelliteMap 42 43 End If 44 45 If (Me.Combo_servidor_mapa.Combo_servidor_mapa.GoogleChinaMap 30 31 End If 32 33 If (Me.Text = "Google Hibrid Map" 22 23 tipo_mapa = GMapProviders.Text = "Google China Map" 28 29 tipo_mapa = GMapProviders.Combo_servidor_mapa.uk via the HTML to PDF API .Combo_servidor_mapa.GoogleTerrainMap 18 19 End If 20 21 If (Me.Combo_servidor_mapa.Text = "Google Terrain") 16 17 tipo_mapa = GMapProviders.Text = "Ovi Terrain") Then PDF created on http://www.co.Text = "Ovi Map") Then 34 35 tipo_mapa = GMapProviders.OviMap 36 37 End If 38 39 If (Me. uk via the HTML to PDF API .Text = "Open Street Map" 58 59 tipo_mapa = GMapProviders.Combo_servidor_mapa.Text = "Ovi Terrain") Then 46 47 tipo_mapa = GMapProviders.Text = "Bing Hibrid Map" 76 77 tipo_mapa = GMapProviders.45 If (Me.OviTerrainMap 48 49 End If 50 51 If (Me.OpenStreetMap 60 61 End If 62 63 If (Me.Combo_servidor_mapa.Combo_servidor_mapa.Text = "Bing Satellite") 70 71 tipo_mapa = GMapProviders.Combo_servidor_mapa.OviHybridMap 54 55 End If 56 57 If (Me.BingMap 66 67 End If 68 69 If (Me.Combo_servidor_mapa.Text = "Bing Map") Then 64 65 tipo_mapa = GMapProviders.BingHybridMap 78 79 End If PDF created on http://www.BingSatelliteMap 72 73 End If 74 75 If (Me.Text = "Ovi Hibrid Map") 52 53 tipo_mapa = GMapProviders.Combo_servidor_mapa.co.htm2pdf. Combo_servidor_mapa.Text = "Yahoo Hibrid Map" 94 95 tipo_mapa = GMapProviders. dicha funcion la llamaremos configuracion y nos quedara asi: PDF created on http://www.Text = "Yahoo Map") Then 82 83 tipo_mapa = GMapProviders.YahooSatelliteMap 90 91 End If 92 93 If (Me.YahooHybridMap 96 97 End If 98 99 End Sub Luego elaboramos una funcion o procedimiento donde invocamos las 2 anteriores subrutinas.Text = "Yahoo Satellite" 88 89 tipo_mapa = GMapProviders. es decir.htm2pdf.co.Combo_servidor_mapa.Combo_servidor_mapa.uk via the HTML to PDF API . establecer_modo_conexion() y establecer_servidor_mapa(). 79 End If 80 81 If (Me.YahooMap 84 85 End If 86 87 If (Me. Position.Manager.Dock = DockStyle. llamaremos este procedimiento avanzadas(): 1 Sub avanzadas() 2 3 Cursor.TrackBar_zoom.Position.Zoom = Me.Fill 14 15 GMapControl1.MaxZoom = 19 10 11 GMapControl1.Spanish 18 19 End Sub Cabe aclararse que al trackbar se le coloco un valor inicial de 10 que es el valor de zoom asignado al control gmap Ahora crearemos otro procedimiento desde el cual manipularemos el zoom con la rueda del mouse y el desplazamiento del mapa al ir haciendo clic y moviendo el mouse a traves del control gmap.Language = LanguageType.WaitCursor 4 5 Dim current = New PointLatLng(GMapControl1.MarkersEnabled = True 16 17 GMapProvider.Ln .htm2pdf.MinZoom = 1 8 9 GMapControl1. entre otras funciones.Current = Cursors.Mode = modo 4 5 GMapControl1.co. PDF created on http://www.uk via the HTML to PDF API GMapControl1.MapProvider = tipo_mapa 6 7 GMapControl1.Lat.Value 12 13 GMapControl1. 1 Sub configuracion() 2 3 GMapControl1. DragButton = MouseButtons. 5 Dim current = New PointLatLng(GMapControl1.Ln 6 7 Dim currentMark = New GMapMarkerGoogleGreen(current) 8 9 Dim overlay = New GMapOverlay(GMapControl1.Add(rect) 34 35 GMapControl1. 0) 28 29 rect. "objects" 22 23 Me.Lat.[Default] 16 17 '-------------- 18 19 ResumeLayout(True) 20 21 Dim objects = New GMapOverlay(Me.Overlays.Position.Drawing.Size = New System.Add(overlay) 14 15 Cursor.Position.Markers.Current = Cursors.GMapControl1.Overlays.Add(objects) 24 25 Dim rect As New GMapMarkerGoogleRed(GMapControl1.Markers.Left 36 37 End Sub PDF created on http://www.htm2pdf. GMapControl1.Add(currentMark) 12 13 GMapControl1.Size(0.co. "current" 10 11 overlay.ToolTipText = "Tu Ubicacion" 30 31 rect.GMapControl1.Always 32 33 overlay.uk via the HTML to PDF API .ToolTipMode = MarkerTooltipMode.Position) 26 27 rect. uk via the HTML to PDF API . para ubicar el punto inicial utilizaremos una coordenada de latitud y longitud fija y elaboraremos la funcion de la siguiente manera: 1 Sub ubicar1() 2 3 configuracion() 4 5 latitudm = 7. vamos a crear otros procedimientos o funciones a traves de los cuales realizaremos la ubicacion de algun lugar o coordenada en el mapa.1169319152832 8 9 'MsgBox(latitudm & " " & longitudm) 10 11 posicionar() 12 13 avanzadas() 14 15 contador = 0 16 17 indicador_termino = 1 18 19 End Sub Luego vamos con la funcion de ubicar cuando realicemos busqueda por coordenadas.htm2pdf.co. dicho procedimiento lo llamaremos ubicar2() PDF created on http://www.A continuacion.11443487566174 6 7 longitudm = -73. encargada de ubicar cuando realicemos una busqueda por lugar: PDF created on http://www.Text_latitud.htm2pdf.") 8 9 'MsgBox(latitudm & " " & longitudm) 10 11 posicionar() 12 13 avanzadas() 14 15 contador = 0 16 17 indicador_termino = 1 18 19 End Sub Ahora vamos con ubicar3(). ".".Replace(". 1 Sub ubicar2() 2 3 configuracion() 4 5 latitudm = Me.".") 6 7 longitudm = Me.Replace(". ".Text.uk via the HTML to PDF API .co.Text.Text_longitud. 1 Sub ubicar3() 2 3 configuracion() 4 5 posicionar() 6 7 avanzadas() 8 9 contador = 0 10 11 indicador_termino = 1 12 13 End Sub Por ultimo, crearemos un procedimiento llamado posicionar() que es el que basicamente establecera la posicion en el mapa y consta de una sola linea de codigo, asi: 1 Sub posicionar() 2 3 GMapControl1.Position = New PointLatLng(latitudm, longitudm) 4 5 End Sub Por otra parte, en el evento MouseDoubleClick del componente GmapControl agregamos el siguiente codigo para que al momento de hacer doble clic sobre cualquier lugar se coloque una marca y se observen las coordenadas correspondientes de latitud y longitud: 1 Private Sub GMapControl1_MouseDoubleClick(ByVal sender 2 3 If e.Button = MouseButtons.Left Then PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API 3 If e.Button = MouseButtons.Left Then 4 5 Cursor.Current = Cursors.WaitCursor 6 7 Dim latLng As PointLatLng = GMapControl1.FromLocalToLatLng(e.X, e.Y) 8 9 Dim current = New PointLatLng(Math.Abs(latLng.Lat), latLng.Lng) 10 11 Dim currentMark = New GMapMarkerGoogleGreen(current) 12 13 Dim overlay = New GMapOverlay(GMapControl1, "current" 14 15 GMapControl1.MarkersEnabled = False 16 17 overlay.Markers.Clear() 18 19 GMapControl1.Overlays.Clear() 20 21 overlay.Markers.Add(currentMark) 22 23 GMapControl1.Overlays.Add(overlay) 24 25 GMapControl1.MarkersEnabled = True 26 27 Cursor.Current = Cursors.Hand 28 29 Me.Text_longitud.Text = latLng.Lng.ToString() 30 31 Me.Text_latitud.Text = latLng.Lat.ToString() 32 33 End If 34 35 End Sub PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API siguiendo con la programacion de la aplicacion, vamos a crear otras funciones que nos permitan llamar a cada una de las anteriores (ubicar1(), ubicar2(), ubicar3() ) y desplegarlas a traves de un hilo o hebra de proceso para evitar algun bloqueo debido a la carga de procesos que se hacen y ademas incluir otros comandos al realizar cada una de las ubicaciones; por tanto la siguiente funcion o subrutina la llamaremos busqueda_boton_inicio() y se desencadenara al presionar el boton inicio, el codigo de dicho procedimiento es: PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API Image = Image.PictureBox_carga.Text = "Espere por favor" 12 13 Me.FromFile("carga.Label_mensaje. 1 Sub busqueda_boton_inicio() 2 3 '-------- 4 5 establecer_modo_conexion() 6 7 establecer_servidor_mapa() 8 9 '-------- 10 11 Me.uk via the HTML to PDF API .Visible = True 16 17 Me.PictureBox_carga.co.gif" 18 19 proceso_ubi = New Thread(AddressOf ubicar1) 20 21 'ponemos al hilo en marcha 22 23 proceso_ubi.Start() 24 25 End Sub Ahora.Panel_mensaje.htm2pdf. la busqueda por coordenadas de latitud y longitud sera: PDF created on http://www.Visible = True 14 15 Me. Visible = True 16 17 Me.Visible = True 14 15 Me.Image = Image.co.Start() 24 25 End Sub y por ultimo la busqueda por nombre de un lugar o sitio conocido nos quedara asi: PDF created on http://www.FromFile("carga.uk via the HTML to PDF API .PictureBox_carga.Text = "Espere por favor" 12 13 Me.PictureBox_carga.gif" 18 19 proceso_ubi = New Thread(AddressOf ubicar2) 20 21 'ponemos al hilo en marcha 22 23 proceso_ubi.Panel_mensaje.Label_mensaje. 1 Sub busqueda_boton_coordenadas() 2 3 '-------- 4 5 establecer_modo_conexion() 6 7 establecer_servidor_mapa() 8 9 '-------- 10 11 Me.htm2pdf. ToString( 14 15 Return 16 17 End If 18 19 Dim objects = New GMapOverlay(GMapControl1.co.htm2pdf.ReloadMap() 4 5 GMapProvider.Text) 26 27 End Sub Donde la funcion Agregar_ubicacion tendra la siguiente estructura: 1 Private Sub Agregar_ubicacion(ByVal lugar As String 2 3 establecer_modo_conexion() PDF created on http://www.Text) 8 9 Dim code As GeoCoderStatusCode = GMapControl1.SetCurrentPositionByKeywords(search 10 11 If code <> GeoCoderStatusCode. "objects" 20 21 objects.Text_busqueda.Language = LanguageType.Clear() 22 23 Me.GMapControl1.Text_busqueda.GMapControl1. Me. 1 Sub busqueda_boton_lugar() 2 3 Me.Clear() 24 25 Agregar_ubicacion(Me.Spanish 6 7 Dim search As String = String.Show("Direccion no encontrada!" & Convert.Markers.Format("{0}".Overlays.uk via the HTML to PDF API .G_GEO_SUCCESS Then 12 13 MessageBox. Value.uk via the HTML to PDF API .Lng 18 19 Me.posiciono.gif" 26 27 proceso_ubi = New Thread(AddressOf ubicar3) 28 29 'ponemos al hilo en marcha 30 31 proceso_ubi....Lng.Visible = True 22 23 Me..Text = "Espere por favor" 20 21 Me.Lat 16 17 longitudm = latLngFromGeocoder. 3 establecer_modo_conexion() 4 5 establecer_servidor_mapa() 6 7 Dim unknow As GeoCoderStatusCode = GeoCoderStatusCode.FromFile("carga.Nullable(Of PointLatLng) = GMap..Unknow 8 9 Dim latLngFromGeocoder As System.Label_mensaje..ToString() 36 37 pres_boton_inicio =PDFFalse created on http://www..Image = Image.Text_longitud.NET.Lat.Visible = True 24 25 Me. 14 15 latitudm = latLngFromGeocoder.Value..G_GEO_SUCCESS 12 13 '.Start() 32 33 Me.MapProviders 10 11 If latLngFromGeocoder.htm2pdf..co.Text_latitud..Text = latLngFromGeocoder..Panel_mensaje...PictureBox_carga.HasValue AndAlso (unknow = GeoCoderStatusCode..Value..PictureBox_carga.Text = latLngFromGeocoder..Value.ToString() 34 35 Me... uk via the HTML to PDF API .htm2pdf. 37 pres_boton_inicio = False 38 39 pres_boton_coordenadas = False 40 41 pres_boton_buscar = True 42 43 pres_boton_ws = False 44 45 End If 46 47 End Sub Luego al Timer1 le agregamos el siguiente codigo (para hacer que se desaparezca un archivo gif de carga) y que se muestre un mensaje: PDF created on http://www.co. Panel_mensaje.Visible = False 10 11 If (contador = 2) Then 12 13 indicador_termino = 0 14 15 contador = 0 16 17 Me.Object 2 3 If (indicador_termino = 1) Then 4 5 Me.Label_mensaje.co. teniendo las funciones y procedimientos de ubicacion y busqueda listos.htm2pdf. 1 Private Sub Timer1_Tick(ByVal sender As System.Text = "Carga Finalizada" 6 7 proceso_ubi.uk via the HTML to PDF API .PictureBox_carga. podemos invocarlos dentro de cada boton asi: PDF created on http://www.Visible = False 18 19 End If 20 21 contador += 1 22 23 End If 24 25 End Sub “Dicho timer tendra una frecuencia o intervalo de 1000 milisegundos o 1 segundo” Ahora si.Abort() 8 9 Me. 2 3 busqueda_boton_inicio() 4 5 pres_boton_inicio = True 6 7 pres_boton_coordenadas = False 8 9 pres_boton_buscar = False 10 11 pres_boton_ws = False 12 13 End Sub aqui llamamos al procedimiento de posicionar a un punto fijo ya preestablecido en la aplicacion. ahora vamos con el boton localizar coordenadas: PDF created on http://www. 1 Private Sub Button_inicio_Click(ByVal sender As System. ademas colocamos una variable logica llamada pres_boton_inicio en true y colocamos las demas en false que seran utilizadas como indicadores mutuamente excluyentes.co.uk via the HTML to PDF API .htm2pdf. el boton buscar lugar quedara asi: 1 Private Sub Button_buscar_lugar_Click(ByVal sender As 2 3 busqueda_boton_lugar() 4 5 End Sub PDF created on http://www.Trim = "" Or Me.uk via the HTML to PDF API .co.Trim = 4 5 MsgBox("Por favor.Text. Ingrese Los valores Correspondientes a la latitud y longitud q 6 7 Else 8 9 'puede realizar la ubicacion 10 11 busqueda_boton_coordenadas() 12 13 pres_boton_inicio = False 14 15 pres_boton_coordenadas = True 16 17 pres_boton_buscar = False 18 19 pres_boton_ws = False 20 21 End If 22 23 End Sub Por ultimo.Text.Text_longitud.Text_latitud.htm2pdf. 1 Private Sub Button_coordenadas_Click(ByVal sender As 2 3 If (Me. Ejecutando el programa y poniendolo a prueba con lo que ya se ha programado veremos los siguientes resultados: al escribir el nombre de un lugar y presionar el boton correspondiente (buscar lugar). una vez cargado el mapa observaremos un resultado similar al siguiente: PDF created on http://www. veremos que el programa automaticamente nos muestra un elemento gif de carga en la parte derecha de la ventana y mientras que se carga el mapa podemos ver la ubicacion en coordenadas de latitud y longitud que devuelve el programa: Luego.uk via the HTML to PDF API .htm2pdf.co. notaresmos que nuestro mapa cambia al que ofrece el nuevo servidor: PDF created on http://www.uk via the HTML to PDF API .co.htm2pdf.Si hacemos clic sobre el combo servidor de mapas y escogemos otro como puede ser “Ovi Mpas” y volvemos a hacer la busqueda. podemos ver el mapa que se genera al escoger la opcion Open Street Maps: PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API .y podemos probar con cualquier servidor que deseemos y veremos los resultados al instante. por ejemplo. asi que abrimos netbeans y codificamos lo siguiente en el servicio web WebServiceGPS: 1 //---------------comienzo procedimiento para consultar datos---------------- 2 3 @WebMethod 4 5 public boolean consultarDatos(){ 6 7 String conexionBD="jdbc:mysql://127.htm2pdf. ahora hace falta programar la opcion de consulta de datos a traves del webservice.0. PDF created on http://www. pero antes de llegar alla debemos completar el servicio web y crear una funcion llamada consultarDatos() para traer los datos que estan registrados en la base de datos.0.1/coordenadas_gps 8 9 Connection conexion=null.co.Bueno.uk via the HTML to PDF API . hasta aqui nuestro programa puede localizar tanto coordenadas o lugares en el mapa. 30 31 // JOptionPane.co. 9 Connection conexion=null.getConnection(conexionBD.showMessageDialog(null. 14 15 String idregistro. 18 19 ResultSet rs.//el driver de mysql 26 27 conexion=DriverManager.next()) { 38 39 idregistro=rs. 10 11 boolean funciono=false.executeQuery (con).uk via the HTML to PDF API . 16 17 idregistro="". 40 41 //JOptionPane. 42 PDF created on http://www. 24 25 Class.showMessageDialog(null. { 36 37 while (rs.forName("com. idregistro).htm2pdf. 12 13 String con.mysql.getString("id").jdbc.no+" "+ap).Driver").createStatement()."entro"). 20 21 try{ 22 23 // JOptionPane.showMessageDialog(null. "root" 28 29 Statement s = conexion. 32 33 con="SELECT max(id) as id from datos" . 34 35 rs = s. { 52 53 while (rs.42 43 } 44 45 } 46 47 //ahora si traigo los datos de ubicacion 48 49 con="SELECT * from datos where id='"+idregistro+"'" 50 51 rs = s.getString("latitud").executeQuery (con).uk via the HTML to PDF API ..htm2pdf. 60 61 } 62 63 } 64 65 funciono=true.showMessageDialog(null.println("No se ha completado la petición.co.out. 70 71 } 72 73 catch(Exception e){ 74 75 System. 58 59 //JOptionPane. 56 57 longitud=rs." 76 PDF created on http://www.next()) { 54 55 latitud=rs. "si").. 68 69 MostrarLongitud().getString("longitud"). 66 67 MostrarLatitud(). uk via the HTML to PDF API .co. 76 77 } 78 79 return funciono.htm2pdf. 80 81 } Tambien creamos las funciones que permiten mostrar los datos de latitud y longitud asi: PDF created on http://www. 24 25 return longi.htm2pdf. 10 11 return lati. 8 9 lati=latitud. 1 @WebMethod 2 3 public String MostrarLatitud(){ 4 5 String lati.co. 12 13 } 14 15 @WebMethod 16 17 public String MostrarLongitud(){ 18 19 String longi. 6 7 lati="". 20 21 longi="". 26 27 } El codigo completo se puede observar en las siguientes imagenes: PDF created on http://www. 22 23 longi=longitud.uk via the HTML to PDF API . htm2pdf.co.uk via the HTML to PDF API .PDF created on http://www. ahora Ponemos en marcha el webservice: PDF created on http://www.uk via the HTML to PDF API .Bien.co.htm2pdf. htm2pdf.net de dicho servicio.co.Luego procedemos a agregar la referencia web en vb. para ello vamos a la opcion Proyecto de la barra de menu y seleccionamos la opcion agregar referencia de servicio tal y como se ve en la imagen: PDF created on http://www.uk via the HTML to PDF API . co.Despues en la ventana que aparece presionamos el boton avanzadas: PDF created on http://www.htm2pdf.uk via the HTML to PDF API . co.Posteriormente en la nueva ventana que aparece presionamos el boton llamado Agregar referencia web tal y como se ve en la siguiente imagen: PDF created on http://www.uk via the HTML to PDF API .htm2pdf. despues le colocamos un nombre a la referencia.co. en la siguiente ventana copiamos la wsdl o ruta del webservice.uk via the HTML to PDF API .htm2pdf.Luego. en este caso la llame: datos_gps y presionamos el boton agregar referencia: PDF created on http://www. presionamos el boton ir para que se listen los procedimientos de los que dispone el servicio web. co.net. con esto ya hemos agregado la referencia web al proyecto de vb.Listo.datos_gps Ahora debemos crear un procedimiento encargado de posicionar los datos (latitud y longitud) que son traidos por el servicio web. ahora debemos agregar el siguiente import para hacer el llamado al servicio web: 1 Imports Rastreador_GPS_Gmap.htm2pdf. dicho procedimiento lo llamaremos busqueda_activar_webservice(): PDF created on http://www.uk via the HTML to PDF API . PictureBox_carga.Visible = True 12 13 Me.Label_mensaje.Text = "Espere por favor" 10 11 Me.co.Start() 22 23 '-------- 24 25 End Sub Por consiguiente el codigo del boton Activar para recibir los datos del webservice quedara asi: 1 Private Sub Button_activaws_Click(ByVal sender As System.FromFile("carga. 1 Sub busqueda_activar_webservice() 2 3 establecer_modo_conexion() 4 5 establecer_servidor_mapa() 6 7 '-------- 8 9 Me. 2 3 contador_rws = 0 4 PDF created on http://www.htm2pdf.gif" 16 17 proceso_ubi = New Thread(AddressOf ubicar2) 18 19 'ponemos al hilo en marcha 20 21 proceso_ubi.Image = Image.Visible = True 14 15 Me.uk via the HTML to PDF API .PictureBox_carga.Panel_mensaje. consultarDatos() 16 17 If (resultado = True) Then 18 19 'MsgBox("entro") 20 21 Me. 4 5 Try 6 7 Me.Text = jws.htm2pdf.Timer_refresco_ws_contador.servicio_gpsService 12 13 Dim resultado As Boolean 14 15 resultado = jws.Text_latitud.Timer_refresco.Enabled = True 10 11 Dim jws As New datos_gps.MostrarLatitud() 22 23 Me.Enabled = False 8 9 Me.uk via the HTML to PDF API .MostrarLongitud() 24 25 '-------- 26 27 busqueda_activar_webservice() 28 29 '-------- 30 31 pres_boton_inicio = False 32 33 pres_boton_coordenadas = False 34 35 pres_boton_buscar = False 36 37 pres_boton_ws = True PDF created on http://www.co.Text = jws.Text_longitud. Timer_refresco.uk via the HTML to PDF API .Enabled = False 52 53 Me.!" 56 57 End Try 58 59 End Sub Ademas hay que programar en el timer refresco lo siguiente para determinar si se debe actualizar la lectura de datos de la base de datos.Button_activaws.Enabled = False 54 55 MsgBox("Servicio web No Disponible. el intervalo que maneja dicho timer es de 1000 milisegundos y el codigo que lleva es el siguiente: PDF created on http://www. 37 pres_boton_ws = True 38 39 Else 40 41 ' MsgBox("no") 42 43 End If 44 45 Me.Enabled = True 48 49 Catch ex As Exception 50 51 Me.co.Timer_refresco_ws_contador.htm2pdf. Verifique Conexion a Internet.Enabled = False 46 47 Me.Button_desactivaws.. Timer_refresco. 2 3 Me.Timer_refresco_ws_contador.Enabled = False 14 15 End If 16 17 End Sub Por ultimo.Text_contador_ws. que cada minuto se va a leer una nueva posicion del celular o gps: 1 Private Sub Timer_refresco_ws_contador_Tick(ByVal sender 2 3 Me. en el timer refresco_ws_contador vamos a contar hasta 60 que es la frecuencia con la que se actualizara el mapa.uk via the HTML to PDF API .comienzo a contar hasta 60 para volver a refrescar la posicion. 1 Private Sub Timer_refresco_Tick(ByVal sender As System... es decir.Text = contador_rws 4 5 If (contador_rws = 60) Then 6 7 'realizo la ubicacion 8 9 Try 10 11 Dim jws As New datos_gps..servicio_gpsService PDF created on http://www.htm2pdf. activo el 8 9 contador_rws = 0 10 11 Me.co.Text_indica_termino..Enabled = True 12 13 Me.Text = indicador_termino 4 5 If (indicador_termino = 1) Then 6 7 '.. co.MostrarLatitud() 22 23 Me.Text_longitud.Text = jws.Text_latitud.Text = jws.servicio_gpsService 12 13 Dim resultado As Boolean 14 15 resultado = jws.11 Dim jws As New datos_gps.htm2pdf.uk via the HTML to PDF API .consultarDatos() 16 17 If (resultado = True) Then 18 19 'MsgBox("entro") 20 21 Me.MostrarLongitud() 24 25 '-------- 26 27 busqueda_activar_webservice() 28 29 '-------- 30 31 pres_boton_inicio = False 32 33 pres_boton_coordenadas = False 34 35 pres_boton_buscar = False 36 37 pres_boton_ws = True 38 39 Else 40 41 ' MsgBox("no") 42 43 End If 44 PDF created on http://www. Button_activaws.co.Enabled = True 60 61 Me..Enabled = True 48 49 Catch ex As Exception 50 51 desactivar_datos_webservice() 52 53 MsgBox("Servicio web No Disponible. 44 45 Me.htm2pdf. Verifique Conexion a Internet.Button_desactivaws.Timer_refresco.!" 54 55 End Try 56 57 contador_rws = 0 58 59 Me.Enabled = False 46 47 Me. lo llamaremos desactivar_datos_webservice() y tendra lo siguiente: PDF created on http://www.uk via the HTML to PDF API .Enabled = False 62 63 End If 64 65 contador_rws += 1 66 67 End Sub Luego creamos una funcion o procedimiento para desactivar la lectura de los datos por el webservice.Timer_refresco_ws_contador. Enabled = False 4 5 Me.uk via the HTML to PDF API .co.Text = 0 8 9 Me.Text = 0 10 11 Me.Text_contador_ws.Enabled = False 6 7 Me. el codigo que debe ir alli es el siguiente: 1 Private Sub Combo_servidor_mapa_SelectedIndexChanged( 2 3 If (pres_boton_inicio = True) Then PDF created on http://www.Button_desactivaws.Timer_refresco. 1 Sub desactivar_datos_webservice() 2 3 Me.Text_indica_termino.htm2pdf.Enabled = False 14 15 End Sub Ahora lo llamamos en el evento clic del boton desactivar: 1 Private Sub Button_desactivaws_Click(ByVal sender As 2 3 desactivar_datos_webservice() 4 5 End Sub Ademas tenemos que programar en el evento SelectedIndexChanged del combobox servidor de mapas para que el mapa cambie automaticamente al seleccionar algun item de los que aparecen en la lista.Button_activaws.Timer_refresco_ws_contador.Enabled = True 12 13 Me. htm2pdf.........uk via the HTML to PDF API ..... 3 If (pres_boton_inicio = True) Then 4 5 busqueda_boton_inicio() 6 7 End If 8 9 '....... 10 11 If (pres_boton_coordenadas = True) Then 12 13 busqueda_boton_coordenadas() 14 15 End If 16 17 '--------------- 18 19 If (pres_boton_buscar = True) Then 20 21 busqueda_boton_lugar() 22 23 End If 24 25 '......co.... 26 27 If (pres_boton_ws = True) Then 28 29 busqueda_activar_webservice() 30 31 End If 32 33 End Sub Para terminar solo hay que programar en el evento scroll de nuestro PDF created on http://www..... .......Text = Me... 24 25 If (pres_boton_buscar = True) Then 26 27 ' modifico el zoom cuando busco por el boton lugar 28 29 busqueda_boton_coordenadas() 30 31 End If PDF created on http://www......Value 4 5 If (pres_boton_inicio = True) Then 6 7 ' modifico el zoom cuando busco por el boton inicio 8 9 busqueda_boton_inicio() 10 11 End If 12 13 '...... 14 15 If (pres_boton_coordenadas = True) Then 16 17 ' modifico el zoom cuando busco por el boton coordenadas 18 19 busqueda_boton_coordenadas() 20 21 End If 22 23 '. 2 3 Me.........Trackbar_zoom de tal manera que se pueda ir variando el zoom al ir moviendo la barra de desplazamiento: 1 Private Sub TrackBar_zoom_Scroll(ByVal sender As System.....TrackBar_zoom...uk via the HTML to PDF API ...co...........htm2pdf.TextBox_zoom. uk via the HTML to PDF API .co...htm2pdf......... con todo esto ya hemos terminado de programar nuestra aplicacion... 34 35 If (pres_boton_ws = True) Then 36 37 ' modifico el zoom cuando busco por el boton webservice 38 39 busqueda_activar_webservice() 40 41 End If 42 43 End Sub Bien.... ahora podemos ejecutarla y ver los resultados: PDF created on http://www....... 31 End If 32 33 '. nos podemos dar cuenta que ya comenzo la lectura de los datos de la base de datos a traves del webservice.uk via the HTML to PDF API .co. luego veremos el mapa cargado y en la parte inferior derecha podemos ver los contadores. el primero indica que el mapa esta cargado (cuando esta en 1) y el contador de abajo indica el segundo por el cual va transcurriendo dicho tiempo hasta llegar a 60 para que se actualice o refresque una nueva posicion: PDF created on http://www.Aqui presionamos el boton activar.htm2pdf. htm2pdf.uk via the HTML to PDF API .Como se puede ver entre los registros de la base de datos. el ultimo registro que es el que esta leyendo cada 60 segundos el webservice corresponde a la ultima ubicacion o posicion segun el gps: PDF created on http://www.co. se pueden poner a prueba todas las opciones de este programa y observar los resultados pertinentes.9.Bien. *Para descargar la aplicacion puedes presionar el siguiente link:Descargar Aplicacion de Vb. espero y este tutorial pueda ser de utilidad a quien lo pueda necesitar.net *Para descargar el webservice en netbeans 6.co.uk via the HTML to PDF API . esto es todo acerca de nuestro rastreador.1 presiona el siguiente enlace: Descargar WebService *para descargar la base de datos puedes hacer clic sobre el siguiente link:Descargar Base de datos PDF created on http://www.htm2pdf. net y WebCam Rastreador GPS con J2ME Crear WebService En PHP 18 thoughts on “Rastreador GPS-Aplicacion Cliente en Vb.co.net Vb.Net” PDF created on http://www. Relacionado Rastreador GPS con J2ME Transferir archivos desde un pc a Deteccion de Movimiento con otro con vb. Me gusta Sé el primero en decir que te gusta.htm2pdf.uk via the HTML to PDF API . !!! pero me pregunto .htm2pdf.longitud) de ir almacenando los datos ? si me pudieras dar un consejo. 2012 en 5:41 pm excelente…. GRACIAS……!!!!! Responder nelson octubre 16. GRACIAS……!!!!! Responder William octubre 22.uk via the HTML to PDF API . 2012 en 9:55 pm Parece un buen trabajo pero tengo un problema a ver si me ayudas …hasta ahora no he manejado el WEB Service… De acuerdo con tu Publicacion ya instale el Netbeans y el JDK pero ahora ¿ como levanto el Web Service con los archivos que baje para probar ????… a ver si me ayudas ...co.!!! pero me pregunto .longitud) de ir almacenando los datos ? si me pudieras dar un consejo. Saludos Responder PDF created on http://www.nelson octubre 16. como seria una manera(como leo y que hardware utilizo para leer los datos de latitud . como seria una manera(como leo y que harware utilizo para leer los datos de latitud . 2012 en 5:43 pm excelente…. 2013 en 5:26 pm Hola compañero. pero.1 400 Petición incorrecta Server: Apache-Coyote/1. 2013 en PDF 7:10 created pm on http://www. estoy probando esto y la verdad que funciona muy bien todo. Saludos Responder ingsistele septiembre 4. Verifica bien los parámetros de conexión al webservice. 2013 en 2:31 pm Buenas. HTTP/1. te cuento que estoy utilizando un modulo GSM/GPRS.Carlos septiembre 4.uk via the HTML to PDF API .htm2pdf.1 Transfer-Encoding: chunked Date: Wed. el SIM908 y cuando quiero establecer la conexion con el servidor el modulo me devuelve el siguiente error. para que puedas hacer una conexión exitosa al servidor necesitas poner en marcha el servicio web con el servidor apache tomcat. Responder Carlos septiembre 4. 04 Sep 2013 14:19:16 GMT Connection: close alguna idea de que puede ser??? Desde ya muchas gracias por el gran aporte. recuerda que la comunicación se esta realizando a través de un webservice.co. la direccion ip es dinamica pero antes de realizar mi conexion verifico de poner en mi modulo la que me asigna en ese momento. tal vez lo hago mal pero segun la explicacion de mas arriba es… Test Webservice y de alli se tiene que abrir la pagina y dejarla corriendo… eso ocurre perfectamente.co. lo hago antes de tratar de conectarme con el modulo. No se que pueda estar pasando… si pruebo conectarme al servidor monitoreando con otro programa la conexion tcp ip lo hace correctamente… pero cuando inicio el webservice y quiero conectarme me salta ese error que cito mas arriba. septiembre 4. no se si tendra que ver con el webservice. efectivamente el webservice esta corriendo. si yo tendria que mandar al webservice los datos con el comando GET… como lo tendria que hacer? vamos a suponer que en vez de un celular ocupo otra computadora remota para enviarle estos datos… como lo podria hacer? Responder PDF created on http://www. pero el problema es que ahora no puedo pasarle los parametros de latitud y longitud… te consulto desde tu experiencia.htm2pdf.uk via the HTML to PDF API . 2013 en 3:30 am Logre conectarme. Saludos Carlos septiembre 5. 2013 en 7:10 pm Gracias por la respuesta. espero y puedas resolver tus tudas. los puedes resolver con un PC tal y como lo planteas en lugar de tener un celular. Eso es todo. me alegro de que te hayas podido conectar al webservice.ingsistele septiembre 5. estudiando los comandos get para tratar de establecer la conexion con el sim 908.htm2pdf.co. Responder 251285 noviembre 1. te recomiendo que te guies del siguiente ejemplo: Consumir Web Service con VB. estoy en tu misma situacion. A manera de ejemplo.com Responder PDF created on http://www. queria preguntarte: ¿tuviste que subir el web service a una pagina de internet o te comunicaste con el sim 908 a la maquina en donde corre el programa?. lo que necesitas es una aplicación que este recibiendo los parametros del gps por el puerto serial y los vas guardando cada cierto tiempo en la base de datos remota haciendo uso de un webservice. 2013 en 9:17 pm Hola carlos.uk via the HTML to PDF API . acerca del problema que que tu ves en cuanto a pasarle los parámetros de latitud y longitud.Net principalmente te fijas de la opcion guardar que es muy semejante a la que implemento en la aplicacion movil para ir guardando los datos. queria que me cuentes tu procedimiento para poder establecer la conexion y si lograste enviar los datos de longitud y latitud. 2013 en 6:54 pm Hola compañero. te dejo mi email y estamos en contacto…mmgswim@hotmail. para descargar el programa debes hacer clic en el boton que esta encerrado en el circulo amarillo indicado por la flecha de color rojo.andres septiembre 26. será possivel um link alternativo. Responder Lusitanso diciembre 13. 2013 en 10:59 pm Hola amigo disculpa las molestias pero mira tengo problemas con la aplicación el Gmap no me deja buscar nada entonces podrías colaborarme con esto muchas gracias por tu atención. Obrigado Responder ingsistele diciembre 14.htm2pdf.co. não consigo fazer o download dos ficheiros.uk via the HTML to PDF API . aqui te dejo un enlace para que descargues todo el material relacionado con este proyecto: Descargar Rastreador GPS Full Blog- Ingsistele muchas gracias por visitar mi blog. 2014 en 1:57 am Hola lusitanso. Mira esta imagen para que sepas a que boton darle clic para descargar Responder PDF created on http://www. 2014 en 10:22 am Bom dia. 2014 en 11:38 am Muito obrigado.7 que es el actual y hay funciones que cambiaron y no funcionan mas te paso el listado desde ya gracias Dim currentMark = New GMarkerGooglegreen(current) no esta definido Dim rect As New GMapMarkerGoogleRed(GMapControl1. estamos para servir. 2016 en 10:39 pm Dim currentMark = New GMarkerGooglegreen(current) no esta definido PDF created on http://www.co. um bom Domingo para si.Position) no esta definido Dim objects = New GMapOverlay(Me. 2015 en 3:21 pm hola mira necesito saber como cambio tu versión de GMap.net 1.GMapControl1.htm2pdf. saludos! Roque Proia noviembre 21.6 a 1. Lusitanso diciembre 14. ingsistele diciembre 15.uk via the HTML to PDF API . 2014 en 11:30 pm De nada compañero. “objects”) no esta definido Responder feliciano enero 19. 2017 en 4:10 pm He probado tu codigo esta bonito interesante.co. estoy empezando en la programación y tu proyecto es muy interesante. Responder vsmegadescargas marzo 21. pero no se como enviar los datos de posición de un teléfono al web service y así localizarlo desde la aplicación. y los dos archivos dll saludos. mi pregunta es me sale de otro pais como hago para que salga con mi pais y como tomo los valores de mi PDF created on http://www. Saludos Responder Rocco abril 13.htm2pdf. disculpa si ya esta explicado arriba. 2017 en 3:01 pm Hola amigo disculpa la molestia.Position) no esta definido Dim objects = New GMapOverlay(Me.GMapControl1. “objects”) no esta definido estos errores se quitan si agregar los dll que tiene el proyecto(descarga el proyecto) de la carpeta Debug ahí esta hasta la imagen gif..uk via the HTML to PDF API . Dim currentMark = New GMarkerGooglegreen(current) no esta definido Dim rect As New GMapMarkerGoogleRed(GMapControl1. PDF created on http://www.. Blog de WordPress.com..htm2pdf.co. equipo movil. para que que realmente eso esta funcionando Responder Responder Introduce aquí tu comentario.uk via the HTML to PDF API .
Report "Rastreador Gps Aplicacion Cliente en Vb Net"