Esri ArcGis Javascript API 3.18
我正在发出一个新的Portal(“myUrl”)命令并收回错误。
这是一个dojo错误,“CancelError”“所有请求都已取消。”
这是新的联合门户网站上的api的新https安装。
我有代码在调用esri门户时有效,所以我认为我的代码可能是正确的。这会留下安装配置问题。 到目前为止,我很难过。
我的测试网站与门户网站在同一个网络服务器上。
这是一个带有工作代码的plunkr的链接:
https://plnkr.co/edit/RFlStZbHA5axAD3J2KQt?p=preview
有什么想法吗?
以下是代码:
<!DOCTYPE html>
<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>New Portal</title>
<link rel="stylesheet" href="http://js.arcgis.com/3.18/esri/css/esri.css">
</head>
<body>
<div id='mainContent'>
<input id='message' value='initial value' />
</div>
<script>var dojoConfig = { parseOnLoad: true };</script>
<script src="https://js.arcgis.com/3.18/"></script>
<script>
dojo.require('esri.arcgis.Portal');
dojo.require("esri.IdentityManager");
dojo.require("dojox.lang.aspect");
var portalUrl = 'https://www.arcgis.com';
var portal = null;
var message = document.getElementById('message');
var init = function() {
message.setAttribute('value', 'pre new portal');
portal = new esri.arcgis.Portal(portalUrl);
message.setAttribute('value', 'past new portal');
portal.on("error", function(errorMsg) {
message.setAttribute('value', 'error=' | errorMsg.message);
});
portal.on("load", function (data) {
message.setAttribute('value', 'success');
});
};
message.setAttribute('value', 'pre init');
dojo.ready(init);
</script>
</body>
</html>
答案 0 :(得分:1)
根据此文档更改门户网站设置使api适用于地图。
所有在线示例都使用此显示:
var portal = new Portal('www.myurl.com');
我发现使用它有效:
var portal = new Portal('www.myurl.com/arcgis');
基本上,由于其中一些可能是由于我没有看到的配置设置,我建议确定Portal对象的内部代码调用哪个url,然后尝试越来越长的初始url片段,直到你获得成功