Vectorlayer 的 postrender 事件不适用于 openlayers 6

问题描述 投票:0回答:1

我们正在使用 openlayer 6.3.1 并希望使用 Layer Api 中的“postrender”事件,但它无法正常工作。

代码是这样的:

vectorLayer.on("postrender", this.moveFeature);
......
moveFeature: function (event) {
    console.log(event);
...

控制台日志消息将不会显示。

但是如果我将代码更改为:

vectorLayer.on("postrender", console.log("test"));

日志消息“test”将显示在控制台中,

如果我将代码更改为:

vectorLayer.on("postrender", function(evt) {
    console.log(evt);
});

还有没有控制台消息,可能是什么问题?我们的项目是backbone基础的,我们使用了很多backbone事件,不知道会不会造成一些麻烦。

layer backbone-events openlayers-6
1个回答
0
投票

您的图层可能已经渲染。您可以在

宣布您的活动后
在地图上拨打render

function animate(event) {
  // your logic here

  // Rerender to loop
  map.render();
}
this.vectorLayer.on('postrender', animate);
map.render();
© www.soinside.com 2019 - 2024. All rights reserved.