Как экспортировать карту gwt-openlayers как изображение - PullRequest
0 голосов
/ 05 декабря 2018

У нас есть веб-приложение gwt, показывающее карту, реализованное с помощью gwt-openlayers.

Я хотел бы реализовать функцию для экспорта текущей карты в виде изображения (например, png).

Я знаю об этом примере от openlayers, но я изо всех сил пытаюсь сделать это с помощью gwt.

https://openlayers.org/en/latest/examples/export-map.html

Помощь была бы признательна

1 Ответ

0 голосов
/ 06 декабря 2018

После дополнительных проб и ошибок я нашел это решение, которое частично решает мою проблему: https://stackoverflow.com/a/25486443/6919820

Однако, после закрытия диалогового окна печати, напечатанный макет остается своего рода наложением на мое предыдущее окно.Поэтому мой подход заключался в создании новой карты и копировании всех соответствующих данных из исходной.Затем распечатайте новую карту и затем уничтожьте ее.

buttonPrint.addClickHandler(event -> {
    // mapPrintLayout contains my new MapWidget
    print(mapPrintLayout.getElement().getInnerHTML());

    mapPrintLayout.destroy(); 
});

public static final native void print(String html) /*-{
    top.consoleRef=$wnd.open('','_blank', "", false);
    top.consoleRef.document.write(html);
    top.consoleRef.print();
    top.consoleRef.close();
}-*/;

Это работает, но мой подход меня не убеждает.Может быть, есть лучшие способы сделать это.

...