Javafx 21.0.6 Проблема WebView Загрузка Google Maps v3.58+ в Windows 11JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Javafx 21.0.6 Проблема WebView Загрузка Google Maps v3.58+ в Windows 11

Сообщение Anonymous »

Ниже приводит минимальное приложение, которое пытается загрузить карты Google, используя приложение Javafx 21.0.6 (с использованием 21.0.5 JDK). < /p>
На машине Windows 10 код работает, как и ожидалось, но он не может отображать карту при запуске Windows 11, и вместо этого отображается «Извигая, у нас нет изображения». Ниже: < /p>

Код: Выделить всё

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

import netscape.javascript.JSObject;

public class GoogleMaps extends Application
{
public static final void main(final String[] args)
{
Application.launch(args);
}

@Override
public final void start(final Stage stage) throws Exception
{
var webView = new WebView();
var webEngine = webView.getEngine();
webEngine.setJavaScriptEnabled(true);
webEngine.setOnAlert(event -> {
if ("inject:bridge".equals(event.getData()))
{
final var jsWindow = (JSObject)webEngine.executeScript("window");
jsWindow.setMember("javabridge", GoogleMaps.this);
webEngine.executeScript("console.log = (message) => javabridge.logConsole(message);");
}
});

Platform.runLater(() -> webEngine.load(ClassLoader.getSystemClassLoader().getResource("maps.html").toString()));
stage.setScene(new Scene(webView));
stage.show();
}

public final void logConsole(final String message)
{
System.out.println("WebView: " + message);
}
}
Связанные maps.html показаны ниже:

Код: Выделить всё


Google Maps

body {margin: 0; padding: 0;}
#canvas {width: 100%; height: 100%;}


alert("inject:bridge");





window.addEventListener('error', event => {
const {message, filename, lineno, colno, error} = event;
console.log('[Error] ' + message);
});

async function initMap()
{
console.log("Console logging is active");
const map = new google.maps.Map(document.getElementById('canvas'), {zoom: 5, center: {lat: 52.2, lng: -1.3}, mapTypeId: 'satellite'});
}








< /code>
Наконец, если кто -то хочет построить приложение, я включил свой сценарий Apache Ant: < /p>

Google Maps Test






















JavaFX Library Path: ${env.PATH_TO_JAVAFX}
























Насколько я не могу сказать, что ошибки не сообщаются через console.log () или через обработчик событий окна DOM. Я надеюсь, что это сделало что -то глупое, или, возможно, кто -то еще знает ответ или может предложить некоторые вещи, чтобы попробовать. Я уже потратил довольно много времени на экспериментирование, но без успеха. Это включало в себя здание с Javafx 24 (последний выпуск) и тестирование на других машинах Windows 11. Хотя это кажется маловероятным, как я представляю, к настоящему времени оно было бы встречено и сообщило о других (я пытался найти связанные посты и отчеты об ошибках).>

Подробнее здесь: https://stackoverflow.com/questions/795 ... windows-11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»