Добавить нового слушателя в OLMap v-ol3 (Openlayers4)

в классе OLMap v-ol3 (vaadin-Openlayers4) есть метод:

map.addClickListener(new OLMap.ClickListener() {

@Override
public void onClick(OLClickEvent clickEvent) {

//calling  some method to execute when we click on the map  
 } 
});

когда мы нажимаем на карту

new OLmap.ClickListener()

будет действовать и вызывать метод, написанный внутри метода onClick (), но я хочу без щелчка по карте, что означает, что при визуализации карты должен быть какой-то слушатель, который будет вызывать метод внутри некоторого события. В соответствии с API, как я понял, они реализованы для ClickListener на карте, теперь я хочу расширить API для Listener, который будет вызываться при отображении карты.

is there any such kind of Listener in java that will be called immediately after the application is launched ?

на самом деле я хочу получить значения пикселей точки, которые я могу получить в javascript, как показано ниже,

map.once('postrender', function() {
 var geometry = polyFeature.getGeometry();
var coordinate = geometry.getCoordinates();
var pixel1 = map.getPixelFromCoordinate(coordinate);
});
map.setView(view)

но я хочу реализовать в java с использованием v-ol3 jar, но есть только реализация для прослушивателя кликов на карте, а не для обработанного прослушивателя карты, поэтому какой прослушиватель мне нужно реализовать для этого или есть ли какой-либо Слушателя в java?

Importanat:v-ol3 depends on the gwt-ol3(GWT_Opelayers) . in the gwt-ol3 the ol.js(openlayers is wrapped )

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
186
1

Ответы 1

Когда функциональность отсутствует в API, причина, возможно, в том, что для нее еще нет кода. Так обстоит дело и сейчас.

Видеть:

https://github.com/VOL3/v-ol3/blob/master/gwt-ol3/src/main/java/org/vaadin/gwtol3/client/Map.java

есть фрагмент:

//    public native final void beforeRender()/*-{
//        //TODO: find a nice way to do this in GWT
//    }-*/;

Так что это единственное событие, связанное с отрисовкой и загрузкой карты в оболочку gwt ol3-v (поверх нее также есть оболочка vaadin).

Вы можете поискать в Интернете информацию о загруженной карте, нет возможности так легко поймать.

OpenLayers: Как определить, что вид карты полностью загружен?

рассказывает, как это сделать, ему нужно следить за событиями запуска и готовности для каждого слоя на карте. Затем, после того, как это будет сделано (вы рассчитываете, что больше ничего не нужно загружать), вы переносите код в оболочку gwt и, наконец, в оболочку vaadin, и у вас есть событие для регистрации.

Другие вопросы по теме