Openlayers 4.6.4,无法使用source.getAttributions()获取BingMap属性

时间:2018-02-10 02:03:58

标签: openlayers

我们在应用程序中使用BingMap并调用source.getAttributions()来打印pdf上的bing属性。 升级到OL4.6.4后,source.getattributions()返回null。 帖子https://github.com/openlayers/openlayers/pull/7329解释了为什么bing map的getattributions()返回null。

是否有任何解决方法可以在代码中获取Bing attriibutions?

1 个答案:

答案 0 :(得分:0)

这可以在v5.0中再次使用,但是从getAttributions()获得的内容将是您使用FrameState调用的函数。像

这样的东西
var getAttribution = bingSource().getAttributions();
var attribution = getAttribution({
  extent: map.getView().calculateExtent(),
  viewState: map.getView().getState()
});

或者在地图的'postcompose'或'postrender'事件的监听器中更容易:

var getAttribution = bingSource().getAttributions();
map.on('postcompose', function(e) {
  var attribution = getAttribution(e.frameState);
});