如何附加 Leaflet.js 属性字符串?

JJD*_*JJD 1 javascript jquery leaflet

我正在尝试自定义 Leaflet.js 地图的归因部分。归因的自定义部分是Leaflet |屏幕截图中所示的所有内容。

带属性的 Leaflet.js 地图

我的自定义归因字符串添加如下:

var ATTRIBUTION = '...'
var map;

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

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

Abb*_*bbe 6

您在这里需要做的是删除原始归因,以便您可以创建一个不带“传单前缀”的新归因。

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

var map = L.map('map', {attributionControl: false}).setView(latLng, 13);
Run Code Online (Sandbox Code Playgroud)

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

L.control.attribution({prefix: ''}).addTo(map);
Run Code Online (Sandbox Code Playgroud)

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

请注意,如果您仍希望“传单”部分出现在归因字符串的最后,则这会完全删除“传单”部分,您需要将其添加到其余的归因中。

这是一个 JSFiddle 演示