Javascript Microsoft.Maps.TileSource回调的凭据
我正在尝试向我的地图添加自定义的Microsoft.Maps.TileSource() 我在ASP.NET MVC应用程序中将uriConstructor设置为WebAPI端点。我希望要求对WebAPI端点进行身份验证,但似乎没有一种方法可以通过回调请求发送托管网页的凭据Javascript Microsoft.Maps.TileSource回调的凭据,javascript,asp.net-mvc,bing-maps,azure-maps,Javascript,Asp.net Mvc,Bing Maps,Azure Maps,我正在尝试向我的地图添加自定义的Microsoft.Maps.TileSource() 我在ASP.NET MVC应用程序中将uriConstructor设置为WebAPI端点。我希望要求对WebAPI端点进行身份验证,但似乎没有一种方法可以通过回调请求发送托管网页的凭据 是否有办法指定TileSource web服务调用的凭据?正确,Bing地图无法做到这一点。我建议改为看看Azure地图。这可以通过Azure地图实现,方法是设置地图的transformRequest选项,然后创建一个平铺层并
是否有办法指定TileSource web服务调用的凭据?正确,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>
使用X、Y和Z平铺层-Azure地图Web控件示例
var映射;
函数GetMap(){
//将Azure地图订阅密钥添加到地图SDK。在获取Azure地图密钥https://azure.com/maps
atlas.setSubscriptionKey(“”);
//初始化映射实例。
map=新的atlas.map('myMap'{
中间:[-99.47,40.75],
缩放:4,
trasnformRequest:函数(url、resourceType){
if(url.startsWith('https://mytileserviceurl...') {
返回{
url:url,
凭据:“包括”,
标题:{
“我的标题”:正确
}
};
}
}
});
//等待地图资源完全加载。
map.events.add('load',函数(e){
//创建平铺层并将其添加到标签层下方的地图中。
//来自爱荷华州立大学爱荷华环境中网的天气雷达瓦。
map.layers.add(新的atlas.layer.tillelayer)({
蒂勒尔:'https://mytileserviceurl/{z} /{x}/{y}.png',
不透明度:0.8,
瓷砖尺寸:256
})"标签";;
});
}
以下是一些相关资源:
- 主信息页(概述/定价):
- 文件: