我正在尝试使用Openlayers ImageArcGisRest从ArcGis Map Server在openlayers地图上添加图层。当应用程序使用令牌身份验证时,我必须将令牌传递给函数。
我发现,如果我先登录地图服务器,地图加载正常。当我将Postman与令牌一起使用时,它还会返回数据,所以我知道令牌是可以的。当我尝试给它一个令牌时,它似乎断开了,我认为这与我的语法有关。我还有其他层可以很好地工作,所以我以后知道不设置地图代码。
var token = _my_token;
var url =`http://myserver.com/webadaptor/rest/services/MyMapName/MapServer?token=`+token;
this.baselayers =
new ImageLayer({
source: new ImageArcGISRest({
ratio: 1,
params: {
LAYERS: this.visibleMapIds //("show:1,2,3")
},
url: url
})
});
我也尝试过:
var token = my_token;
var url =`http://myserver.com/webadaptor/rest/services/MyMapName/MapServer/`;
this.baselayers =
new ImageLayer({
source: new ImageArcGISRest({
ratio: 1,
params: {
token: my_token,
LAYERS: this.visibleMapIds //("show:1,2,3")
},
url: url
})
});
当我尝试运行任一选项时,我收到此错误: “断言失败。有关详细信息,请参见https://openlayers.org/en/v5.3.0/doc/errors/#50。”
我真的只需要知道如何传递令牌,但是ArcGis的文档并不是最有用。
答案 0 :(得分:0)
这只是语法错误。下面的代码可以正常工作:
var token = my_token;
var url =`http://myserver.com/webadaptor/rest/services/MyMapName/MapServer/`;
this.baselayers =
new ImageLayer({
source: new ImageArcGISRest({
ratio: 1,
params: {
TOKEN: my_token,
LAYERS: this.visibleMapIds //("show:1,2,3")
},
url: url
})
});