我有自己的Leaflet图块图层扩展
L.TileLayer.Foo = L.TileLayer.extend({
options: {
...
},
initialize: function (apiKey, options) {
...
L.TileLayer.prototype.initialize.call(this, url, mergedOptions);
},
getAttribution: function() {
return "hello!";
}
});
基本上,Leaflet会在某个时刻调用所有图层的getAttribution
,并构建归属控制。但是,如果我想从服务器加载归因文本(将getAttribution
返回)(基于提供给apiKey
的{{1}}),该怎么办?
我在docs
中看不到任何异步方式(从ajax成功回调调用的东西)答案 0 :(得分:1)
Leaflet没有那种功能。您需要自己实现AJAX调用,然后在xhr回调中手动添加属性。所以在getAttribution
里面会是这样的:
AjaxCall.then(function(responce){
leafletMap.attributionControl.addAttribution(responce.data.Attribution);
});