在v-ol3(Openlayers4)的OLMap中添加一个新的监听器



在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包装器,您就有了一个要注册的事件。

相关内容

  • 没有找到相关文章

最新更新