javascript - 新版本的谷歌地图javascript版本是否适用于JavaFx-WebView

标签 javascript java google-maps javafx

我正在尝试在 JavaFx-WebView 上加载 google map,除了我在 html 文件中编码的 html 主体的背景颜色外,它没有显示任何内容。 我还尝试了一些关于谷歌搜索的例子,所有的结果都是旧的。没有一个有效。 我的 Java 版本是“1.8.0_121”

我写了一个 html 文件并运行它。它成功加载了谷歌地图。 然后我使用 webEngine.load("path") 方法将 html 文件加载到 webview。 除了背景颜色,它不显示任何内容。

在那之后我尝试了 http://rterp.github.io/GMapsFX

  • 运行 ClusteredMainApp.java(输入我的 google api key )
  • 控制台输出是:
  • “他”
  • “集群图像/m”
  • “隐藏路线调用”
  • “加载 map 库”
  • “加载 map 库完成”
  • “初始化 map ”
  • “经纬度:(47.606189, -122.33584200000001)”
  • "netscape.javascript.JSException: 错误: Google map JavaScript API 不支持此浏览器。 (未定义,0)”

Also i couldn't find any solutions for this error

HTML 文件

CSS:

#map_canvas { height: 100%; background-color: blue; }

JavaScript:

function initialize() {
                var latlng = new google.maps.LatLng(37.39822, -121.9643936);
                var myOptions = {
                    zoom: 14,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    mapTypeControl: false,
                    navigationControl: false,
                    streetViewControl: false,
                    backgroundColor: "#666970"
                };

                document.geocoder = new google.maps.Geocoder();
                document.map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

html:

<body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
   </body>

JavaFX:

public class WebMap extends Application {
 
    @Override public void start(Stage stage) {
        // create web engine and view
        final WebView webView = new WebView();
        final WebEngine webEngine = webView.getEngine();
        webEngine.load(getClass().getResource("WebMap.html").toString());
        // create scene
        stage.setTitle("Web Map");
        Scene scene = new Scene(webView,1000,700, Color.web("#666970"));
        stage.setScene(scene);
        // show stage
        stage.show();
    }
 
    public static void main(String[] args){
        Application.launch(args);
    }
}

最佳答案

Google map API 放弃了对旧版浏览器的支持,这开始导致“Google map JavaScript API 不支持此浏览器”。错误。看https://developers.google.com/maps/documentation/javascript/releaseshttps://developers.google.com/maps/documentation/javascript/versions .

您正在使用的库使用的是版本 3.exp(实验性)。

在较新的 Java 版本上运行将解决此问题(目前)。

关于javascript - 新版本的谷歌地图javascript版本是否适用于JavaFx-WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56642447/

相关文章:

javascript - 如何从 yaml 文件为 Kubernetes Nodejs API 客户端生成 `V1Job` 对象?

getResourceAsStream 的 java.lang.NullPointerException

javascript - 从文件 express js 提供 json

java - 工作线程的线程池任务执行器超时

Java VisualVM 堆空间转储到输出路径

javascript - 将 KML 输入映射到 Google 表单的时间过长。卡住。任何替代方案,解决方法?

google-maps - 谷歌地理编码返回与谷歌地图完全不同的结果

javascript - 使用 MarkerClusterer 更改所选簇的样式

javascript - 调整浏览器大小时如何获取选定的div宽度

javascript - 如果选择了特定的选择选项,则运行 javascript 代码