He agregado Google Maps a Java Swing Frame usando Jxbrowser. Todo funciona bien, pero no sé cómo agregar marcadores en el mapa en código Java. ¿Habría una forma sencilla de agregar código javascript al archivo HTML en el lugar correcto? Jxbrowser parece proporcionar algunos métodos para resolver esto, pero los códigos de muestra de la versión 7.0 no funcionan para mí. Cualquier código de muestra que muestre cómo usarlo sería muy apreciado.
¿O tengo que modificar el archivo html cuando necesito agregar marcadores? (Lo busqué e instalé la biblioteca jsoup pero no estoy seguro de si funcionará).
Versión de Jxbrowser: 7.25 Sistema operativo: Mac OS Monterey 12.2.1 (M1 pro)
package com.teamdev; import static com.teamdev.jxbrowser.engine.RenderingMode.HARDWARE_ACCELERATED; import com.teamdev.jxbrowser.browser.Browser; import com.teamdev.jxbrowser.engine.Engine; import com.teamdev.jxbrowser.engine.EngineOptions; import com.teamdev.jxbrowser.view.swing.BrowserView; // import com.teamdev.jxbrowser.*; import java.awt.BorderLayout; // import java.io.File; import java.io.IOException; import javax.swing.JFrame; import javax.swing.SwingUtilities; // import org.jsoup.Jsoup; // import org.jsoup.nodes.Document; // import org.jsoup.nodes.Element; public class GoogleMaps { public static void main(String[] args) throws IOException { EngineOptions options = EngineOptions.newBuilder(HARDWARE_ACCELERATED).licenseKey("myKey").build(); Engine engine = Engine.newInstance(options); Browser browser = engine.newBrowser(); SwingUtilities.invokeLater(() -> { BrowserView view = BrowserView.newInstance(browser); JFrame frame = new JFrame("Google Maps"); frame.add(view, BorderLayout.CENTER); frame.setSize(800, 500); frame.setVisible(true); browser.navigation().loadUrl("/Users/suchacoolguy/Programming/Creative/googlemaps/src/main/java/com/teamdev/map.html"); }); } } <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=my_Key"></script> <script type="text/javascript"> var map; function initialize() { var mapOptions = { center: new google.maps.LatLng(35.9095055, 128.6039958), zoom: 10 }; map = new google.maps.Map( document.getElementById("map-canvas"), mapOptions); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"></div> </body> </html>