<?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 Re: Resize in a different mobile view in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375428#M34858</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;There are several threads that discuss various resize issues with the map objects.&amp;nbsp; One of the recommendations is to have the autoResize parameter on the map constructor set to false.&amp;nbsp; Then you have add a listener to manually execute map.resize and map.reposition.&amp;nbsp; To me that's a very clunky solution and it would be better if there was something changed with the map object to handle this better.&amp;nbsp; It helped me to have a listener on the transition between views.&amp;nbsp; The functions for the mapHeight are something I got from an ESRI blog on designing for mobile, which included a sample to download.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still don't have all the kinks worked out.&amp;nbsp; I think I have it working and then suddenly it will look all cropped again.&amp;nbsp; If you perfect this, let me know and I'll fix my code too. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map = new Map("mapDiv", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "streets",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-92.593, 38.5],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autoResize:false
&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; map.on("load", mapLoadHandler);

&amp;nbsp; function mapLoadHandler(evt){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId('mapView').on('AfterTransitionIn', resizeMap);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; function resizeMap() {
&amp;nbsp; mobile.hideAddressBar();
&amp;nbsp; adjustMapHeight();
&amp;nbsp; map.resize();
&amp;nbsp; map.reposition();
}
function adjustMapHeight() {
&amp;nbsp; var headHeight = registry.byId('mapHeader').domNode.clientHeight;
&amp;nbsp; var availHeight = mobile.getScreenSize().h - headHeight - 60;
&amp;nbsp; if (has('iphone') || has('ipod')) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; availHeight += iphoneAdjustment();
&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; dom.byId("mapDiv").style.height = availHeight + "px";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dom.byId("mapDiv").style.width = "100%";
}
function iphoneAdjustment() {
&amp;nbsp; var sz = mobile.getScreenSize();
&amp;nbsp; if (sz.h &amp;gt; sz.w) { //portrait
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Need to add address bar height back to map because it has not been hidden yet 44 = height of bottom safari button bar 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return screen.availHeight - window.innerHeight - 44; 
&amp;nbsp; } else { //landscape
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Need to react to full screen / bottom button bar visible toggles
&amp;nbsp;&amp;nbsp;&amp;nbsp; var _conn = on(window, 'resize', function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _conn.remove();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resizeMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
&amp;nbsp; }
}&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 17:21:56 GMT</pubDate>
    <dc:creator>TracySchloss</dc:creator>
    <dc:date>2021-12-11T17:21:56Z</dc:date>
    <item>
      <title>Resize in a different mobile view</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375427#M34857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have the following situation:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A mobile view contains an esri javascript map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Another mobile view contains a search input field.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I change to the search input field and the soft keyboard shows up, the map gets a resize event, making it zoom to a huge scale, essentially breaking the map display. When I switch back to the map, it shows nothing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can even reproduce this without a tablet:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Fire up: &lt;/SPAN&gt;&lt;A href="http://developers.arcgis.com/javascript/samples/mobile_template/index.html"&gt;http://developers.arcgis.com/javascript/samples/mobile_template/index.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Go to the about tab.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Resize the view (bigger or smaller doesn't matter)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(If you want you can even change back to the original size before going back)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Go back to the map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5. The map is gone, replaced with a gray background.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any idea how to fix this ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 12:44:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375427#M34857</guid>
      <dc:creator>SantoPfingsten</dc:creator>
      <dc:date>2014-04-16T12:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Resize in a different mobile view</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375428#M34858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;There are several threads that discuss various resize issues with the map objects.&amp;nbsp; One of the recommendations is to have the autoResize parameter on the map constructor set to false.&amp;nbsp; Then you have add a listener to manually execute map.resize and map.reposition.&amp;nbsp; To me that's a very clunky solution and it would be better if there was something changed with the map object to handle this better.&amp;nbsp; It helped me to have a listener on the transition between views.&amp;nbsp; The functions for the mapHeight are something I got from an ESRI blog on designing for mobile, which included a sample to download.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still don't have all the kinks worked out.&amp;nbsp; I think I have it working and then suddenly it will look all cropped again.&amp;nbsp; If you perfect this, let me know and I'll fix my code too. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map = new Map("mapDiv", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "streets",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-92.593, 38.5],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autoResize:false
&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; map.on("load", mapLoadHandler);

&amp;nbsp; function mapLoadHandler(evt){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; registry.byId('mapView').on('AfterTransitionIn', resizeMap);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; function resizeMap() {
&amp;nbsp; mobile.hideAddressBar();
&amp;nbsp; adjustMapHeight();
&amp;nbsp; map.resize();
&amp;nbsp; map.reposition();
}
function adjustMapHeight() {
&amp;nbsp; var headHeight = registry.byId('mapHeader').domNode.clientHeight;
&amp;nbsp; var availHeight = mobile.getScreenSize().h - headHeight - 60;
&amp;nbsp; if (has('iphone') || has('ipod')) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; availHeight += iphoneAdjustment();
&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; dom.byId("mapDiv").style.height = availHeight + "px";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dom.byId("mapDiv").style.width = "100%";
}
function iphoneAdjustment() {
&amp;nbsp; var sz = mobile.getScreenSize();
&amp;nbsp; if (sz.h &amp;gt; sz.w) { //portrait
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Need to add address bar height back to map because it has not been hidden yet 44 = height of bottom safari button bar 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return screen.availHeight - window.innerHeight - 44; 
&amp;nbsp; } else { //landscape
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Need to react to full screen / bottom button bar visible toggles
&amp;nbsp;&amp;nbsp;&amp;nbsp; var _conn = on(window, 'resize', function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _conn.remove();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resizeMap();
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
&amp;nbsp; }
}&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 17:21:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375428#M34858</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2021-12-11T17:21:56Z</dc:date>
    </item>
    <item>
      <title>Re: Resize in a different mobile view</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375429#M34859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the comment!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems to work to override the resize method on the map object and only call this.inherited(arguments) if the map is actually visible.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 13:31:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/resize-in-a-different-mobile-view/m-p/375429#M34859</guid>
      <dc:creator>SantoPfingsten</dc:creator>
      <dc:date>2014-04-16T13:31:20Z</dc:date>
    </item>
  </channel>
</rss>

