0

我尝试将这张地图:https ://a.tiles.mapbox.com/v4/felixmichel.kh7h21lp/page.html?access_token=pk.eyJ1IjoiZmVsaXhtaWNoZWwiLCJhIjoiZWZrazRjOCJ9.62fkOEqGMxFxJZPJuo2iIQ#11/47.6732/7.5352 整合到 cartodb 中。但是,它不起作用。我使用 cartodb.js 是因为我添加了更多查询,所以我需要这部分的正确链接:

L.tileLayer('https://a.tiles.mapbox.com/v4/felixmichel.kh7h21lp/page.html?access_token=pk.eyJ1IjoiZmVsaXhtaWNoZWwiLCJhIjoiZWZrazRjOCJ9.62fkOEqGMxFxJZPJuo2iIQ#11/47.6732/7.5352', {
      attribution: 'CartoDB'
    }).addTo(map);

或者,如果有人知道漂亮的地形图,我也很高兴。

4

1 回答 1

2

您的 tileLayer url 有问题,它希望 url 具有用于缩放级别 {z} 和 {x} 和 {y} 的轴值的占位符。您使用了实际磁贴中的 url,这将不起作用。

L.tileLayer('https://a.tiles.mapbox.com/v4/felixmichel.kh7h21lp/{z}/{x}/{y}.png?access_token={token}', {
    attribution: 'Mapbox',
    subdomains: ['a','b','c','d'],
    token: 'pk.eyJ1IjoiZmVsaXhtaWNoZWwiLCJhIjoiZWZrazRjOCJ9.62fkOEqGMxFxJZPJuo2iIQ'
}).addTo(map);

请注意,如您所见,它还支持 {s} 占位符从多个子域加载(必须由您的 tileprovider 支持。Mapbox 支持)这要快得多,因为浏览器可以同时从四个子域加载。我还使用 {token} 占位符将访问令牌与 url 分开,以证明您可以在需要时使用自己的自定义令牌。

这是 Plunker 上的一个工作示例:http ://plnkr.co/edit/lsTO9KzPMyzEKr06It1I?p=preview

这是 Leaflet 的 L.TileLayer 的参考:http: //leafletjs.com/reference.html#tilelayer

于 2014-12-19T00:09:57.653 回答