首页 > 解决方案 > Openlayers 3 Wicket 在初始化后添加新功能

问题描述

每当单击按钮(初始化后)时,我都在尝试使用 LineStrings 添加新功能,并且我想知道如何在不刷新的情况下执行此操作。目前,当单击按钮时,新功能已添加到地图中,但在我刷新页面之前未显示。什么是正确或最简单的方法来做到这一点。我使用的按钮是一个 AjaxButton,它不会刷新页面,因为我不希望它被刷新。我当前的解决方案很简单,remove(this.map)因为add(this.map)这将在下次刷新时使用新功能加载到新地图中,但是是的,我希望在不需要刷新的情况下发生这种情况。

标签: springapachewicketopenlayersopenlayers-3

解决方案


OpenLayersMap#update(AjaxRequestTarget)这个方法。

AjaxButton button = new AjaxButton("someId") {

  @Override protected void onSubmit(AjaxRequestTarget target) {
     // add feature
     map.update(target); // this will repaint just the map
  }

}


推荐阅读