<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic glitch/change to basemapGallery under v3.4 in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/glitch-change-to-basemapgallery-under-v3-4/m-p/161627#M15061</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Just came across this. We have a development sever within our organization (let's call it DMC) that is used for development web maps. I've mostly used v2.8 of the API but recently upgraded one app to v3.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yesterday I started developing a completely new app using one of the ESRI v3.4 samples as a starting point. I finally got around to adding in the basemap selection dropdown button as shown in &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/widget_basemapbutton.html" rel="nofollow noopener noreferrer" target="_blank"&gt;this ESRI sample&lt;/A&gt;&lt;SPAN&gt;. I've modified it slightly but my modified version has run fine under v2.8 and v3.3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; var map, initExtent, basemapGallery;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemapGallery = new esri.dijit.BasemapGallery({
&amp;nbsp;&amp;nbsp; showArcGISBasemaps: true,
&amp;nbsp;&amp;nbsp; map: map
 });

&amp;nbsp; 
 //Manually add the USGS Topo basemap into the basemap gallery
 var usgsLayer = new esri.dijit.BasemapLayer({
&amp;nbsp;&amp;nbsp; url: "http://server.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer"
 });
 var usgsBasemap = new esri.dijit.Basemap({
&amp;nbsp; layers: [usgsLayer],
&amp;nbsp; title: 'USGS Topoography'
 });
 
 basemapGallery.add(usgsBasemap);
 
 // Populate the basemap gallery widget with the list of ESRI basemaps
 dojo.connect(basemapGallery, 'onLoad', function () {
&amp;nbsp; //add the basemaps to the menu but exclude the "Oceans" basemap
&amp;nbsp; dojo.forEach(basemapGallery.basemaps, function (basemap) {
&amp;nbsp; if (basemap.title != 'Oceans') {
&amp;nbsp;&amp;nbsp; dijit.byId("basemapMenu").addChild(new dijit.MenuItem({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: basemap.title,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClick: dojo.hitch(this, function () {this.basemapGallery.select(basemap.id);})
&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; }
&amp;nbsp; }); 
 });
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I just added this code into my v3.4 based app, it would throw an error during the "new esri.dijit.BasemapGallery" line of code. Under IE, it would just say "Access Denied" but Firefox returned:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; "Error: Permission denied for &amp;lt;file://&amp;gt; to create wrapper for object of class UnnamedClass
http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/
Line 15"&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I spent some time verifying that my code hadn't copy/pasted wrong and then zero'd in on the reference to "file" in the Firefox error. In the address bar of my browser, the path to the HTML was a UNC format path ala "\\dmc\appName\index.html" but the minute I changed the URL to "http:\\dmc\appName\" the basemapGallery no longer threw an error. and loaded successfully.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Very strange. This did not throw an error in previous versions of the API.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Steve&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 08:29:17 GMT</pubDate>
    <dc:creator>SteveCole</dc:creator>
    <dc:date>2021-12-11T08:29:17Z</dc:date>
    <item>
      <title>glitch/change to basemapGallery under v3.4</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/glitch-change-to-basemapgallery-under-v3-4/m-p/161627#M15061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Just came across this. We have a development sever within our organization (let's call it DMC) that is used for development web maps. I've mostly used v2.8 of the API but recently upgraded one app to v3.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yesterday I started developing a completely new app using one of the ESRI v3.4 samples as a starting point. I finally got around to adding in the basemap selection dropdown button as shown in &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/widget_basemapbutton.html" rel="nofollow noopener noreferrer" target="_blank"&gt;this ESRI sample&lt;/A&gt;&lt;SPAN&gt;. I've modified it slightly but my modified version has run fine under v2.8 and v3.3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; var map, initExtent, basemapGallery;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemapGallery = new esri.dijit.BasemapGallery({
&amp;nbsp;&amp;nbsp; showArcGISBasemaps: true,
&amp;nbsp;&amp;nbsp; map: map
 });

&amp;nbsp; 
 //Manually add the USGS Topo basemap into the basemap gallery
 var usgsLayer = new esri.dijit.BasemapLayer({
&amp;nbsp;&amp;nbsp; url: "http://server.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer"
 });
 var usgsBasemap = new esri.dijit.Basemap({
&amp;nbsp; layers: [usgsLayer],
&amp;nbsp; title: 'USGS Topoography'
 });
 
 basemapGallery.add(usgsBasemap);
 
 // Populate the basemap gallery widget with the list of ESRI basemaps
 dojo.connect(basemapGallery, 'onLoad', function () {
&amp;nbsp; //add the basemaps to the menu but exclude the "Oceans" basemap
&amp;nbsp; dojo.forEach(basemapGallery.basemaps, function (basemap) {
&amp;nbsp; if (basemap.title != 'Oceans') {
&amp;nbsp;&amp;nbsp; dijit.byId("basemapMenu").addChild(new dijit.MenuItem({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: basemap.title,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClick: dojo.hitch(this, function () {this.basemapGallery.select(basemap.id);})
&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; }
&amp;nbsp; }); 
 });
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I just added this code into my v3.4 based app, it would throw an error during the "new esri.dijit.BasemapGallery" line of code. Under IE, it would just say "Access Denied" but Firefox returned:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; "Error: Permission denied for &amp;lt;file://&amp;gt; to create wrapper for object of class UnnamedClass
http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/
Line 15"&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I spent some time verifying that my code hadn't copy/pasted wrong and then zero'd in on the reference to "file" in the Firefox error. In the address bar of my browser, the path to the HTML was a UNC format path ala "\\dmc\appName\index.html" but the minute I changed the URL to "http:\\dmc\appName\" the basemapGallery no longer threw an error. and loaded successfully.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Very strange. This did not throw an error in previous versions of the API.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Steve&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:29:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/glitch-change-to-basemapgallery-under-v3-4/m-p/161627#M15061</guid>
      <dc:creator>SteveCole</dc:creator>
      <dc:date>2021-12-11T08:29:17Z</dc:date>
    </item>
  </channel>
</rss>

