Inicio > Visual Fox Pro > Google Maps desde VFP

Google Maps desde VFP


 Con Visual FoxPro podemos hacer muchas cosas entre ellas es incorporar un control Explorador Web en un formulario y utilizar código HTML y JavaScript.

Veremos un ejemplo de como incorporar dinámicamente código HTML y JavaScript, que nos permita navegar por Google Maps y poder desplazarnos virtualmente a diversos lugares del mundo.

Creamos un formulario y en INIT copiados el siguiente código

CREATE CURSOR PosGoogleMaps (Descri C(60), Lat N(12,6), Lon N(12,6), Zoom I(4))

INSERT INTO PosGoogleMaps VALUES (“Donde vivo actualmente – Santiago de compostela”, 42.87532724503904, -8.550581932067871, 17)
INSERT INTO PosGoogleMaps VALUES (“Estadio de Matute”, -12.068363200515948, -77.02249646186828, 17)
INSERT INTO PosGoogleMaps VALUES (“El mejor lugar del mundo – Jauja Perú”, -11.775123309556793, -75.49994051456451, 17)
INSERT INTO PosGoogleMaps VALUES (“Colegio San José de Jauja”, -11.78266440268941, -75.49357295036316, 17)

Thisform.cmbPosGoogleMaps.RowSourceType= 6
Thisform.cmbPosGoogleMaps.Style = 2
Thisform.cmbPosGoogleMaps.RowSource = ‘PosGoogleMaps.Descri’

Thisform.cmbPosGoogleMaps.ListIndex = 1

Adjuntamos 3 objetos a este formulario

1.- Un ComboBox —  Name : cmbPosGoogleMaps
2.- Un Commandbutton — Name : cmdPosGoogleMaps
3.- Un Microsoft Web Browser — Name : oInternetExplorer

Copiamos el siguiente código en evento click del commandbutton

TEXT TO lcHtml NOSHOW TEXTMERGE
    <html> <head>
    <meta http-equiv=”content-type” content=”text/html; charset=utf-8″/>
    <title>Google Maps</title>
    <script src=”http://maps.google.com/maps?file=api&v=2&key=123” type=”text/javascript”></script>
    <script type=”text/javascript”>
    //<![CDATA[
    function load()
    { if (GBrowserIsCompatible())
      { var map = new GMap2(document.getElementById(“map”),G_SATELLITE_MAP);
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addControl(new GOverviewMapControl());
      map.setCenter(new GLatLng(<<ALLTRIM(STR(PosGoogleMaps.Lat,12,6))>>,
      <<ALLTRIM(STR(PosGoogleMaps.Lon,12,6))>>),<<TRANSFORM(17)>>);
      map.setMapType(G_HYBRID_MAP);
    } }
    //]]> </script> </head>
    <body scroll=”no” bgcolor=”#CCCCCC” topmargin=”0″ leftmargin=”0″
    onload=”load()” onunload=”GUnload()”>
    <div id=”map” style=”width:678px;height:416px”></div>
    </body> </html>
ENDTEXT
STRTOFILE(lcHtml,”c:\MiHtml.htm”)
Thisform.oInternetExplorer.Navigate2(FULLPATH(“c:\MiHtml.htm”))

Como poder obtener las longitud y latitud en el googlemaps

1. Encontrar el punto deseado en el mapa (lo más sencillo, el buscador incorporado).
2. Centrarlo en la ventana del mapa con la herramienta ‘arrastrar’ (la mano, vaya).
3. Cuando lo tengas centrado, copia y pega en la barra de direcciones de tu navegador este código:

javascript:void(prompt(”,gApplication.getMap().getCenter()));

4. Pulsas ‘enter’ y voilà. Te aparece una ventanita con los datos deseados.

CODIGO PARA EL FORMULARIO DE GOOGLEMAPS

Categorías:Visual Fox Pro
  1. Lucio
    6 diciembre 2010 a las 11:33 pm

    RAHSuarez
    Tu ejemplo me ha servido de muchisimo.¿Pero? Yo cree un formulario igual pero a la requisitoria de mis jefes laborales no las he podido solucionar. Lo que me piden es que trabajando con el google maps dentro de mi formulario de VFP, pueda con el mouse al hacer click en el lugar que elija se cree una marca (globito) con un mensaje sobre esta marca (descripcion del lugar). Que cada marca realizada quede grabada y pueda ser borrada a voluntad. Es decir tal cual sucede cuando uno trabaja con Google Maps.
    Espero tus ayudas. Contestame al correo lucioyrita@yahoo.com.ar
    Un abrazo
    Lucio de La Rioja

    • 7 diciembre 2010 a las 1:14 pm

      El control Microsoft Web Browse, donde se muestra el Google Maps es como si estuvieras en el iExplorer así que podrías hacer todo lo que haces con este.

      Saludos

  2. 25 septiembre 2011 a las 12:17 am

    Exelente tu publicacion… Me sirvio de mucho……

  3. eduardo martinez
    10 noviembre 2011 a las 12:22 am

    todo muy lindo pero esto funciona con latitud y longitud de la direccion, como hago para encontrar ese dato

  4. eduardo martinez
    10 noviembre 2011 a las 12:22 am

    todo muy lindo pero esto funciona con latitud y longitud de la direccion, como hago para encontrar ese dato, lo quiero programar en VFP 8

  5. Eduaredo Marttinez
    11 noviembre 2011 a las 4:11 pm

    Realmente este ejemplo sirve como prueba, de ninguna manera se lo puede insertar en formulario de produccion, porque se necesita latitud y longitud para que funcione, por ejemplo: tengo un sistema de Personal y a cada legajo que se muestra en pantalla tendria que ponerle un boton para poder ver el mapa de donde vive la persona. y para ello es necesario la LATITUD Y LONGITUD de la direccion.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: