首先,很抱歉这个问题被问到很多,但是我真的很难解决这个问题。
我目前正在使用带有ArcGIS API 4x的简单Web查看器来显示Web地图。网络地图包含此WMS layer。当我打开JS查看器时,访问将由于拒绝CORS策略而被拒绝。
通过CORS策略阻止从原点“ https://luchtfoto.prorail.nl/erdas-iws/ogc/wms/Luchtfoto?SERVICE=WMS&REQUEST=GetCapabilities”到“ http://localhost”的访存:所请求的资源上没有“ Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”以在禁用CORS的情况下获取资源。
我已经阅读了很多有关此问题的内容,并使用CORS扩展程序进行了尝试,效果很好。但是我更喜欢没有扩展名。还有其他解决方案吗?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
<title>Webmap</title>
<link rel="stylesheet" href="https://js.arcgis.com/4.6/esri/css/main.css">
<script src="https://js.arcgis.com/4.13/"></script>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<script>
require([
"esri/portal/Portal",
"esri/identity/OAuthInfo",
"esri/identity/IdentityManager",
"esri/views/MapView",
"esri/WebMap",
"dojo/domReady!"
], function(Portal, OAuthInfo, esriId, MapView, WebMap) {
var portal = new Portal({
url: "https://aereshogeschool.maps.arcgis.com/"
});
var info = new OAuthInfo({
// Swap this ID out with registered application ID
appId: "",
popup: false
});
esriId.registerOAuthInfos([info]);
var webmap = new WebMap({
portalItem: {
id: "8be58690b244439589ee768f8b9241d9"
}
});
var view = new MapView({
map: webmap,
container: "viewDiv"
});
});
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>`