в классе 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 )
Когда функциональность отсутствует в 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, и у вас есть событие для регистрации.