正确,Bing地图无法做到这一点。我建议改为看看Azure地图。这可以通过Azure地图实现,方法是设置地图的transformRequest选项,然后创建一个平铺层并将其添加到地图中。下面是一个快速代码示例:
<!DOCTYPE html>
<html>
<head>
<title>Tile Layer using X, Y, and Z - Azure Maps Web Control Samples</title>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=Edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Add references to the Azure Maps Map control JavaScript and CSS files. -->
<link rel="stylesheet" href="https://atlas.microsoft.com/sdk/css/atlas.min.css?api-version=1" type="text/css" />
<script src="https://atlas.microsoft.com/sdk/js/atlas.min.js?api-version=1"></script>
<script type='text/javascript'>
var map;
function GetMap() {
//Add your Azure Maps subscription key to the map SDK. Get an Azure Maps key at https://azure.com/maps
atlas.setSubscriptionKey('<Your Azure Maps Key>');
//Initialize a map instance.
map = new atlas.Map('myMap', {
center: [-99.47, 40.75],
zoom: 4,
trasnformRequest: function(url, resourceType){
if(url.startsWith('https://mytileserviceurl...') {
return {
url: url,
credentials: 'include',
headers: {
'my-header': true
}
};
}
}
});
//Wait until the map resources have fully loaded.
map.events.add('load', function (e) {
//Create a tile layer and add it to the map below the label layer.
//Weather radar tiles from Iowa Environmental Mesonet of Iowa State University.
map.layers.add(new atlas.layer.TileLayer({
tileUrl: 'https://mytileserviceurl/{z}/{x}/{y}.png',
opacity: 0.8,
tileSize: 256
}), 'labels');
});
}
</script>
</head>
<body onload="GetMap()">
<div id="myMap" style="position:relative;width:100%;min-width:350px;height:600px;"></div>
</body>
</html>
以下是一些相关资源:
以下是Azure地图上的一些附加资源: