我正在尝试customize the attribution section of a Leaflet.js map。归因的自定义部分是Leaflet |之后的所有内容,如屏幕截图所示。

javascript - 如何附加Leaflet.js归因字符串?-LMLPHP

我的自定义属性字符串添加如下:

var ATTRIBUTION = '...'
var map;

$(document).ready(function() {
    var tiles = new L.TileLayer(TILES_URL, {attribution: ATTRIBUTION});
    map = new L.Map('map').addLayer(tiles);
    // ...
});


Leaflet.js将自身添加到我现有的属性字符串的前面,可以在sources中看到。我该如何附加Leaflet归因字符串?

最佳答案

您需要执行的操作是删除原始属性,以便您可以创建一个没有“ Leaflet prefix”的新属性。

首先禁用默认的归因控件:

var map = L.map('map', {attributionControl: false}).setView(latLng, 13);


然后创建一个没有默认Leaflet前缀的新归因控件(在添加任何图层之前执行此操作):

L.control.attribution({prefix: ''}).addTo(map);


现在,“图层”选项中的所有属性都将添加到新控件中。

请注意,如果您仍然希望将“传单”部分保留在归因字符串的最后,则需要将其添加到其余归因中。

Here is a JSFiddle demo

09-25 19:11