I want to load maps from my portal
<link rel="stylesheet" href="https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/themes/light/main.css" /><script src="https://gis.kgp.kz/arcgis_js_api/library/4.16/dojo/dojo.js""></script><script> require(["https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/portal/PortalItem.js","https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/views/MapView.js", "https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/WebMap.js"], function ( PortalItem, MapView, WebMap ) {var portalitem= new PortalItem({ id:"0ce4b182600b4ea78afdcda6ec8428e8", portal:"https://gis.kgp.kz/portal", type:"Web Map" }); var webmap = new WebMap({ portalItem:portalitem });//console.log(webmap.portalItem+" "+esriConfig.PortalUrl); var view = new MapView({ map: webmap, container: "viewDiv" }); }); </script>
<link rel="stylesheet" href="https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/themes/light/main.css" />
<script src="https://gis.kgp.kz/arcgis_js_api/library/4.16/dojo/dojo.js""></script>
<script> require(["https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/portal/PortalItem.js","https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/views/MapView.js", "https://gis.kgp.kz/arcgis_js_api/library/4.16/esri/WebMap.js"
], function ( PortalItem, MapView, WebMap ) {
var portalitem= new PortalItem({ id:"0ce4b182600b4ea78afdcda6ec8428e8", portal:"https://gis.kgp.kz/portal", type:"Web Map" }); var webmap = new WebMap({ portalItem:portalitem });
//console.log(webmap.portalItem+" "+esriConfig.PortalUrl); var view = new MapView({ map: webmap, container: "viewDiv" }); }); </script>
I get an error:
dojo.js:115 [esri.core.Accessor] Accessor#set Assigning an instance of 'esri.portal.PortalItem' which is not a subclass of 'esri.portal.PortalItem'
Not sure about your specific error... I've seen something similar when the order of function arguments does not match the order of require arguments. But that seems to be correct. Is there a reason why you can't reference the CDN version of JSAPI?
When I try the following, which is similar to your examples, it works"
<SPAN class="operator token"><</SPAN>html<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN>head<SPAN class="operator token">></SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN> <SPAN class="comment token">// Reference the JSAPI here </SPAN> <SPAN class="operator token"><</SPAN>script src<SPAN class="operator token">=</SPAN><SPAN class="string token">"https://js.arcgis.com/4.16/"</SPAN><SPAN class="operator token">></SPAN><SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>script<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN>script<SPAN class="operator token">></SPAN> <SPAN class="comment token">// Only reference module names not the full path like you did</SPAN> <SPAN class="token function">require</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN> <SPAN class="string token">"esri/portal/PortalItem"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"esri/WebMap"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"esri/views/MapView"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">function</SPAN> <SPAN class="punctuation token">(</SPAN> PortalItem<SPAN class="punctuation token">,</SPAN> WebMap<SPAN class="punctuation token">,</SPAN> MapView <SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="comment token">// Grab anitem from your Portal</SPAN> <SPAN class="keyword token">var</SPAN> portalitem <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">PortalItem</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">{</SPAN> id<SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"< some item Id >"</SPAN><SPAN class="punctuation token">,</SPAN> portal<SPAN class="punctuation token">:</SPAN><SPAN class="string token">"<my own portal URL >"</SPAN><SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> portalitem<SPAN class="punctuation token">.</SPAN><SPAN class="token function">load</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="comment token">// Create a web map with that item</SPAN> <SPAN class="keyword token">var</SPAN> webmap <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">WebMap</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">{</SPAN> portalItem<SPAN class="punctuation token">:</SPAN> portalitem <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="comment token">// Crwate a view to hold the map</SPAN> <SPAN class="keyword token">var</SPAN> view <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">MapView</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">{</SPAN> map<SPAN class="punctuation token">:</SPAN> webmap<SPAN class="punctuation token">,</SPAN> <SPAN class="comment token">// The WebMap instance created above</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>script<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>head<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN>body<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN>div id<SPAN class="operator token">=</SPAN><SPAN class="string token">"viewDiv"</SPAN><SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>div<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>body<SPAN class="operator token">></SPAN> <SPAN class="operator token"><</SPAN><SPAN class="operator token">/</SPAN>html<SPAN class="operator token">></SPAN> <SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Not saying what you tried can't work but the above looks more familiar to me.
Users work without the Internet
for this reason, I placed the library locally on the server
My Web map https://gis.kgp.kz/portal/home/webmap/viewer.html?webmap=0ce4b182600b4ea78afdcda6ec8428e8
My test html https://gis.kgp.kz/test_kz.html
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.