<?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: zoom to extent of a layer in a Map Service in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655893#M61176</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When you add a dynamic layer the api makes a rest call to the map service (&lt;/SPAN&gt;&lt;A href="http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer?f=json"&gt;http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer?f=json&lt;/A&gt;&lt;SPAN&gt;) which includes sub-layer information but not detailed sub-layer info like extent. The only way to get a sub-layer's extent to to make some some kind of rest call on said sub-layer (&lt;/SPAN&gt;&lt;A href="http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer/0?f=json"&gt;http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer/0?f=json&lt;/A&gt;&lt;SPAN&gt;). Creating a feature layer is one way, but a lot of work just to get the extent.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Jun 2012 15:26:14 GMT</pubDate>
    <dc:creator>BenFousek</dc:creator>
    <dc:date>2012-06-05T15:26:14Z</dc:date>
    <item>
      <title>zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655887#M61170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I thought this would be easy, but I can't figure out how to zoom to the extent of a layer in a map Service (not the extent of the entire map service).&amp;nbsp; In the Flex API there is a layerDetails class, but I can't find anything similar in JavaScript.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2012 20:01:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655887#M61170</guid>
      <dc:creator>SebastianRoberts</dc:creator>
      <dc:date>2012-06-01T20:01:15Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655888#M61171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Are you referring to zooming into the extent of a specific layer within the MapService, for instance:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://server.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Diversity_Index/MapServer/1"&gt;http://server.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Diversity_Index/MapServer/1&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If so, you could just zoom into that particular layer's extent and not the map service's extent.&amp;nbsp; There is a DynamicLayerInfo class, too.&amp;nbsp; You could get the map service's sublayers and ultimately their extent.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2012 21:38:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655888#M61171</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-06-01T21:38:17Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655889#M61172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes that is what I am referring to, but I am having trouble getting the extent of an individual layer.&amp;nbsp; I have an ArcGISDynamicServicLayer and I know the layer number of the layer that I want to zoom to, but I dont' know how to get its extent.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;By the way, I tried setting a variable equal to the dynamicLayerInfos property of my ArcGISDynamicServicLayer, but the resulting variable has a value of undefined.&amp;nbsp; However, even if I did get an array of LayerInfos, the LayerInfo class doesn't seem to have an extent property, so I don't know if that will helpful.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;resultsLayer = new esri.layers.ArcGISDynamicMapServiceLayer(serviceURL, {id: "resultsLayer"});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(resultsLayer);
layer = resultsLayer.dynamicLayerInfos &lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:46:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655889#M61172</guid>
      <dc:creator>SebastianRoberts</dc:creator>
      <dc:date>2021-12-12T03:46:19Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655890#M61173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I found a kludgy solution, but I know there must be a better way.&amp;nbsp; I create a featureLayer for the layer in the map service.&amp;nbsp; FeatureLayer has a fullExtent property.&amp;nbsp; However, the fullExtent property doesn't exist immediately after the featureLayer is first created.&amp;nbsp; If I do a selection on the Layer, then the property exists.&amp;nbsp; Therefore, I do a selection (using a where clause that I know won't select any features), and in the callback I can zoom to the layer.&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; zoomLayer = new esri.layers.FeatureLayer(serviceURL+layernum);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = new esri.tasks.Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = "0=1";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoomLayer .selectFeatures(query,esri.layers.FeatureLayer.SELECTION_NEW,zoomSel);
}
.........

function zoomSel(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setExtent(zoomLayer.fullExtent);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:46:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655890#M61173</guid>
      <dc:creator>SebastianRoberts</dc:creator>
      <dc:date>2021-12-12T03:46:21Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655891#M61174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Individual layers in a map service have an extent but I don't see where dynamic layer creates an object for for it. You could always make a rest call to the layer and get it's extent:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var getLayerExtent = dojo.xhrGet({
&amp;nbsp;&amp;nbsp; url: 'http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer/0?f=json',
&amp;nbsp;&amp;nbsp; handleAs: 'json',
&amp;nbsp;&amp;nbsp; load: function(r) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var extent = r.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //zoom to it
&amp;nbsp;&amp;nbsp; }
);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:46:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655891#M61174</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2021-12-12T03:46:24Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655892#M61175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Did you try to get the information when the layer has been loaded? You can do this in the following way :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; mapLayer = new esri.layers.ArcGISDynamicMapServiceLayer(layerUrl,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { id: layerName,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visible: visible&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; handle = dojo.connect(mapLayer,"onLoad", function (layer) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.disconnect(handle);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Do the extent processing here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; });&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2012 15:07:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655892#M61175</guid>
      <dc:creator>JohnnyPenet</dc:creator>
      <dc:date>2012-06-05T15:07:44Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655893#M61176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When you add a dynamic layer the api makes a rest call to the map service (&lt;/SPAN&gt;&lt;A href="http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer?f=json"&gt;http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer?f=json&lt;/A&gt;&lt;SPAN&gt;) which includes sub-layer information but not detailed sub-layer info like extent. The only way to get a sub-layer's extent to to make some some kind of rest call on said sub-layer (&lt;/SPAN&gt;&lt;A href="http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer/0?f=json"&gt;http://MY_URL/ArcGIS/rest/services/MY_MAP_SERVICE/MapServer/0?f=json&lt;/A&gt;&lt;SPAN&gt;). Creating a feature layer is one way, but a lot of work just to get the extent.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2012 15:26:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655893#M61176</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2012-06-05T15:26:14Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655894#M61177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think Ben is right,&amp;nbsp; you can't get the extent of sublayers from the ArcGISDynamicMapServiceLayer object.&amp;nbsp; Ben, your solution is much more elegant than mine, but when I tried it I ran into crossdomain issues when trying to make the dojo.xhrGet call since my webserver is not the same as my ArcGIS server. It seems I would need to set up a proxy on my webserver in order to make the rest call, but somehow the ArcGIS JavaScript api gets around this and makes rest calls.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2012 15:40:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655894#M61177</guid>
      <dc:creator>SebastianRoberts</dc:creator>
      <dc:date>2012-06-05T15:40:20Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655895#M61178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Check out &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dojotoolkit.org/reference-guide/1.7/dojo/io/script.html#dojo-io-script" rel="nofollow" target="_blank"&gt;http://dojotoolkit.org/reference-guide/1.7/dojo/io/script.html#dojo-io-script&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All my apps are module based, pulling snippets and code from my server; consequently I make a ton xhrGet and xhrPost requests and have always used a proxy. I'm in the process of converting all my apps to dojo 1.7 in anticipation of jsapi v3, and will be doing more with io-script.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2012 16:07:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655895#M61178</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2012-06-05T16:07:05Z</dc:date>
    </item>
    <item>
      <title>Re: zoom to extent of a layer in a Map Service</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655896#M61179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ben, Thanks for your help. Using dojo.script.io (JSONP) worked.&amp;nbsp; Below is the resultant code.&amp;nbsp; For some reason I couldn't use the data.extent object directly, but had to create a new object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;dojo.io.script.get({
&amp;nbsp;&amp;nbsp;&amp;nbsp; url: queryURL+layernum+'?f=json',
&amp;nbsp;&amp;nbsp;&amp;nbsp; content: {q: "#dojo"},
&amp;nbsp;&amp;nbsp;&amp;nbsp; callbackParamName: "callback"
}).then(function(data){&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newExtent = new esri.geometry.Extent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newExtent.xmax = data.extent.xmax;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newExtent.xmin = data.extent.xmin;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newExtent.ymax = data.extent.ymax;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newExtent.ymin = data.extent.ymin;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setExtent(newExtent);
&amp;nbsp;&amp;nbsp; });
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:46:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/zoom-to-extent-of-a-layer-in-a-map-service/m-p/655896#M61179</guid>
      <dc:creator>SebastianRoberts</dc:creator>
      <dc:date>2021-12-12T03:46:27Z</dc:date>
    </item>
  </channel>
</rss>

