Aplicación De Google Maps En Java Swing
Categorías: Java

Aplicación De Google Maps En Java Swing

Si lo que necesitas es integrar y mostrar la herramienta de Google Maps en Java, entonces la biblioteca JxBrowser de Java es lo que necesitas.

JxBrowser es una biblioteca de Java multiplataforma que permite añadir un componente de Chromium, basado en el navegador web de Google, la cual funciona en aplicaciones Java Swing para mostrar páginas web creadas con HTML5, CSS3, JavaScript, AJAX, etc. El componente de navegador que muestra las páginas web es totalmente ligero.

Desbloquea el contenido con una acción social...

Comparte este articulo y obtén el contenido premium!

Facebook
Twitter
Linkedin0

Con el fin de añadir y mostrar Google Maps en la aplicación de escritorio en Java,  sólo tienes que crear la instancia del navegador, integrarlo en un JFrame ó cualquier otro contenedor Swing y cargar la URL http://maps.google.com. Para el siguiente ejemplo seria necesario contar con una licencia que va desde los $1,599 hasta los $14,599, claro que no todos contamos con una buena cantidad solo para un momento, asi que podemos hacer uso de una licencia gratuita que dura 30 dias.

Obtener Licencia De JxBrowser Para Java

Para este ejemplo descargare la licencia de prueba, tan solo tendré que enviar mediante un correo la petición de uso y listo, de regreso tendremos la URL de descarga para el archivo de la licencia.

1.  Debemos de ir a la siguiente URL.

2.  Luego, pulsamos el botón Evaluate Now.

3.  Ingresamos el nombre, correo y una explicacion del por que deseamos tener la licencia de prueba.

4.  Al pulsar Download Evaluation Key, se descargará inmediatamente la llave.

Usar JxBrowser En NetBeans

Bueno ya tenemos la licencia gratuita con la que podremos trabajar. Lo siguiente es descargar JxBrowser para trabajar con el ejemplo. Para esto no dirigimos al siguiente link, descargamos el archivo.

Una vez descargado tanto la licencia como la librería, la añadimos al nuevo proyecto que creamos para la aplicación de Java con Google Maps. El proyecto debería de tener el siguiente contenido en las librerías.

En la clase principal, añadimos el siguiente código:

Ver Código
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserFactory;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
 
public class GoogleMapsEnJava {
    public static void main(String[] args) {
        
        Browser browser = BrowserFactory.create();

        JFrame frame = new JFrame("JxBrowser Google Maps En Java");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(browser.getView().getComponent(), BorderLayout.CENTER);
        frame.setSize(700, 500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        browser.loadURL("http://maps.google.com");
    }
}



En el anterior ejemplo, se creó una instancia del navegador, se integra en un JFrame y se carga la URL http://maps.google.com en ella para mostrar Google Maps.

Una vez que se compila y ejecuta el ejemplo de Google Maps en Java, se debería de ver el siguiente resultado:

Tienes dudas de cómo usar JxBrowser en la aplicación de Java, te invito a leer la documentación del Programador JxBrowser.

Y si queremos dar mas interacción por parte del usuario? Por ejemplo, dar la posibilidad al usuario, de alejar y acercar el mapa en la aplicación de Java. En este caso, es necesario comunicarnos con la API de Google Maps a través de JavaScript. La API de JxBrowser permite ejecutar cualquier código JavaScript en la página web que se ha cargado.

Para dar la interacción es recomendable crear nuestro propio contenido web (HTML, JavaScript, CSS, etc), cargarlo al contenedor y manejar los objetos de la interacción que hayan. Ahora, deberás copiar el siguiente contenido en un nuevo archivo llamado mapas.html, claro, el nombre puede ser el que tu elijas:

Ver Código


  
    
    
    
    
  
  
    

 
Y cargamos el archivo mapas.html utilizando el siguiente código:

browser.loadURL("C:mapas.html");

El resultado debe ser el siguiente:

Ahora podemos acceder al objeto google.maps.Map de JavaScript e invocar su los métodos para acercar y alejar el mapa. Para cambiar el zoom del mapa podemos usar el método map.setZoom(zoom: número). Vamos a añadir dos botones, uno para acercar y otro para alejar:

Ver Código
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserFactory;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

public class GoogleMapsEnJava {

    public static final int MIN_ZOOM = 0;
    public static final int MAX_ZOOM = 21;
    private static int zoomValue = 5;

    public static void main(String[] args) {
        final Browser browser = BrowserFactory.create();

        JButton zoomInButton = new JButton("Acercar");
        zoomInButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (zoomValue < MAX_ZOOM) {
                    browser.executeJavaScript("map.setZoom(" + ++zoomValue + ")");
                }
            }
        });

        JButton zoomOutButton = new JButton("Alejar");
        zoomOutButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (zoomValue > MIN_ZOOM) {
                    browser.executeJavaScript("map.setZoom(" + --zoomValue + ")");
                }
            }
        });

        JPanel toolBar = new JPanel();
        toolBar.add(zoomInButton);
        toolBar.add(zoomOutButton);

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(browser.getView().getComponent(), BorderLayout.CENTER);
        frame.add(toolBar, BorderLayout.NORTH);
        frame.setSize(700, 500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        browser.loadURL("C:mapas.html");
    }
}

 
Ahora puedes acercar y alejar el mapa directamente desde la aplicación de Java:

Desbloquea el contenido con una acción social...

Comparte este articulo y obtén el contenido premium!

Facebook
Twitter
Linkedin0

A Tener En Cuenta

Como ya te podrás imaginar, no solo podrás cargar Google Maps, podrás cargar cualquier otra URL en un contenedor en Java.

WP Dev JaGonzalez

Hijo, esposo y padre de un hermoso niño. Amante de los animales, la tecnología, informática y programación. Si tienes alguna duda, inquietud, comentario o deseas comunicarte directamente conmigo, puedes enviarme un correo electrónico a admin@jagonzalez.org

Ver comentarios

  • Hola excelente explicacion! Ahora tengo una duda muy importante, es posible realizar eta aplicaciòn y leer los mapas sin conexion a internet???? Agradeceria una respuesta
    Gracias

  • Hola muy bueno tu tutorial. Tengo dos dudas que no logro resolver:

    1) ¿Como hago para obtener lat y long de un punto en el mapa? Quiero que el usuario marque el punto y saber los datos.

    2) ¿Como hago para colocar un marcador en el mapa? Por ejemplo un punto que definió anteriormente el usuario.

    Saludos y gracias

Compartir
Publicado por
WP Dev JaGonzalez

Entradas recientes

iPhone Hackeado: Qué Hacer para Proteger tu Dispositivo y Asegurar tu Seguridad

¿Has notado aplicaciones desconocidas o un drenaje inesperado de la batería? Estos podrían ser indicios…

2 meses hace

Cómo Restablecer un iPhone a su Estado de Fábrica

Saber cómo Restablecer un iPhone a su Estado de Fábrica es clave para solucionar problemas…

2 meses hace

Motorola planea lanzar al menos dos nuevos teléfonos Moto G en septiembre

Motorola ha confirmado el lanzamiento de Moto G84 5G y Moto G54 5G en India,…

1 año hace

El equipo de WizardLM afirma que un modelo de IA de terceros les robó el trabajo

Recuerde WizardCoder, ¿el codificador de IA que cubrimos recientemente aquí en Windows Report? Nos jactamos…

1 año hace

Las fallas del complemento Jupiter X Core amenazaron a 172.000 sitios web con apropiaciones de cuentas

Los investigadores han descubierto numerosos fallos de seguridad en el complemento WordPress Jupiter X Core…

1 año hace

Consola portátil Xbox: aquí tienes todo lo que necesitas saber al respecto

Para solucionar problemas del sistema de PC con Windows, necesitará una herramienta dedicada Fortect es…

1 año hace