我尝试使用leaflet.js创建一个地图,可以在不同的图块层之间切换.它适用于使用标准x,y和z(oom)模式为切片提供服务的切片服务器.但是,Microsoft Bing使用自己的四核模式.我发现了一个JavaScript函数将xyz转换为quad,但我不知道如何使用它.请看我的例子:
function toQuad(x, y, z) {
var quadkey = '';
for ( var i = z; i >= 0; --i) {
var bitmask = 1 << i;
var digit = 0;
if ((x & bitmask) !== 0) {
digit |= 1;}
if ((y & bitmask) !== 0) {
digit |= 2;}
quadkey += digit;
}
return quadkey;
};
var openstreetmap = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}),
arcgissat = L.tileLayer('http://{s}.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {subdomains: ['server', 'services'], attribution: '© <a href="http://www.arcgis.com/">ArcGIS esri</a>'})
// bingsat …Run Code Online (Sandbox Code Playgroud)