我正在尝试在 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/releases和 https://developers.google.com/maps/documentation/javascript/versions .
您正在使用的库使用的是版本 3.exp(实验性)。
在较新的 Java 版本上运行将解决此问题(目前)。
关于javascript - 新版本的谷歌地图javascript版本是否适用于JavaFx-WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56642447/