在v-ol3(vaadin-Openlayers4(的OLMap类中有一个方法为:
map.addClickListener(new OLMap.ClickListener() {
@Override
public void onClick(OLClickEvent clickEvent) {
//calling some method to execute when we click on the map
}
});
当我们点击地图时
新的OLmap。ClickListener((
将执行并调用onClick((方法中编写的方法,但我希望不单击映射,这意味着当渲染映射时,应该有一些侦听器将在某个事件中调用该方法。根据API,我所理解的是,它们是为地图上的ClickListener实现的,现在我想扩展一个API,用于在地图呈现时调用的Listener
在java中有这样的监听器吗在应用程序启动后立即?
实际上,我想获得点的像素值,我可以在javascript中获得,如下所示,
map.once('postrender', function() {
var geometry = polyFeature.getGeometry();
var coordinate = geometry.getCoordinates();
var pixel1 = map.getPixelFromCoordinate(coordinate);
});
map.setView(view)
但我想使用v-ol3jar在java中实现,但在map上只有click监听器的实现,而没有map渲染监听器的实现。那么我需要实现什么样的监听器,或者在java中有任何类型的监听器?
Importanat:v-ol3取决于gwt-ol3(gwt_Opelaters(。在gwt-ol3 ol.js(openlayers被包裹(
当功能不在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
// }-*/;
因此,这是唯一一个与ol3-vgwt包装器上的Map渲染和加载相关的事件(它上面还有一个vaadin包装器(。
你可以在网上搜索加载的地图,没有办法这么容易抓住。
OpenLayers:如何检测地图视图是否已完全加载?
告诉如何做到这一点,它需要观察地图上每层的开始和准备事件。然后,在完成这些操作之后(您计算出不再加载任何内容(,将代码封装在gwt包装器中,最后封装到vaadin包装器,您就有了一个要注册的事件。