视图适合动画结束时的 Openlayers
Openlayers on view fit animation ends
我正在使用 openlayers 6.5。
我有:
/* Set the features to fill the map */
var extent = ol.extent.createEmpty();
for(var county_id in map['map_internal_data'])
{
ol.extent.extend(
extent,
map['openlayers_features']['counties'][county_id].getGeometry().getExtent()
);
}
map['openlayers'].getView().fit(
extent,
{
size: map['openlayers'].getSize(),
padding: [25, 10, 25, 10],
duration:1000
}
);
/* I need to call a function here, but only after above animation ends */
function_after_above_animation_ends();
以上代码采用县的几何图形并缩放地图,直到县填满地图。如您所见,那里有一个动画设置:duration:1000
.
我需要的是在fit结束后(动画结束后)调用一个函数。
我可以使用 setTimeout
1000
,但我认为这不是正确的方法。
我需要 promise
...
fit 有一个 callback
选项 https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#fit
map['openlayers'].getView().fit(
extent,
{
size: map['openlayers'].getSize(),
padding: [25, 10, 25, 10],
duration:1000,
callback: myFunction
}
);
我正在使用 openlayers 6.5。
我有:
/* Set the features to fill the map */
var extent = ol.extent.createEmpty();
for(var county_id in map['map_internal_data'])
{
ol.extent.extend(
extent,
map['openlayers_features']['counties'][county_id].getGeometry().getExtent()
);
}
map['openlayers'].getView().fit(
extent,
{
size: map['openlayers'].getSize(),
padding: [25, 10, 25, 10],
duration:1000
}
);
/* I need to call a function here, but only after above animation ends */
function_after_above_animation_ends();
以上代码采用县的几何图形并缩放地图,直到县填满地图。如您所见,那里有一个动画设置:duration:1000
.
我需要的是在fit结束后(动画结束后)调用一个函数。
我可以使用 setTimeout
1000
,但我认为这不是正确的方法。
我需要 promise
...
fit 有一个 callback
选项 https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#fit
map['openlayers'].getView().fit(
extent,
{
size: map['openlayers'].getSize(),
padding: [25, 10, 25, 10],
duration:1000,
callback: myFunction
}
);