<?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: How to know which dynamc map service the visible layer cam from in Nliu's TC widget in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355133#M32900</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;SPAN lang="EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if i add this code into&amp;nbsp; function doIdentify(evt)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; var layers = dojo.map(map.layerIds, function (layerId) {&amp;nbsp; &lt;/P&gt;&lt;P&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; return map.getLayer(layerId);&amp;nbsp; &lt;/P&gt;&lt;P&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; //I could get result back for layers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; var layers = dojo.map(map.layerIds, function (layerId) {&amp;nbsp; &lt;/P&gt;&lt;P&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; return map.getLayer(layerId);&amp;nbsp; &lt;/P&gt;&lt;P&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; //But I run into error for this code , no result for layer, the layer is undefined.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Nov 2014 20:03:01 GMT</pubDate>
    <dc:creator>ZhujingXia</dc:creator>
    <dc:date>2014-11-05T20:03:01Z</dc:date>
    <item>
      <title>How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355128#M32895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using Nliu's TC widget in my application, it is great.&amp;nbsp; When I used the identifyTask to get the info for the visible layers, I could only identify layers from one map service. I used the code as following.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; identifyParameters.layerIds =&amp;nbsp; dynamicMapServiceLayer.visibleLayers;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems I have to manually assigned which map service I am going to use. I have multiple map services show in the TOC. Is there a way could know that which map service the visible layer belong to?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Zhujing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Nov 2014 17:04:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355128#M32895</guid>
      <dc:creator>ZhujingXia</dc:creator>
      <dc:date>2014-11-04T17:04:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355129#M32896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Take a look at the code in this &lt;A _jive_internal="true" href="https://community.esri.com/message/394524#394524"&gt;post&lt;/A&gt;. It contains multiple map services that are utilized in the identifyTask.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Nov 2014 19:13:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355129#M32896</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2014-11-05T19:13:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355130#M32897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ken,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I saw the this sample code before and tried it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I could get result back from this code for the layers:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   var layers = dojo.map(map.layerIds, function (layerId) {  &lt;/P&gt;&lt;P&gt;                    return map.getLayer(layerId);  &lt;/P&gt;&lt;P&gt;                });  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I run into error for this code , no result for layer, the layer is undefined. Do you know why is that?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                layers = dojo.filter(layers, function (layer) {  &lt;/P&gt;&lt;P&gt;                    if (layer.visibleLayers[0] !== -1) {  &lt;/P&gt;&lt;P&gt;                        return layer.getImageUrl &amp;amp;&amp;amp; layer.visible  &lt;/P&gt;&lt;P&gt;                    }  &lt;/P&gt;&lt;P&gt;                });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Zhujing &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;gt; Ken Buja &amp;lt;geonet@esri.com&amp;gt; 11/5/2014 2:14 PM &amp;gt;&amp;gt;&amp;gt; &lt;/P&gt;&lt;P&gt;Ken Buja  replied to the discussion&lt;/P&gt;&lt;P&gt;"How to know which dynamc map service the visible layer cam from in Nliu's TC widget"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To view the discussion, visit: https://community.esri.com/message/435667?et=watches.email.thread#435667&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Nov 2014 19:21:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355130#M32897</guid>
      <dc:creator>ZhujingXia</dc:creator>
      <dc:date>2014-11-05T19:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355131#M32898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you post your code? This sample is working correctly &lt;A href="http://jsbin.com/radil/1/edit?html,output"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Nov 2014 19:48:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355131#M32898</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2014-11-05T19:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355132#M32899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have  a big project, here is my identfy.js file It could only identify one map service.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var map_click_handle_Identify; //event procedure for map-onClick&lt;/P&gt;&lt;P&gt;var map_identify_first_time = true;&lt;/P&gt;&lt;P&gt;var mapClickX = 0;&lt;/P&gt;&lt;P&gt;var mapClickY = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var identifyTreeDisplayData = [];&lt;/P&gt;&lt;P&gt;var selectedFeature;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var myFeatureScroll;&lt;/P&gt;&lt;P&gt;var myIdentifyScroll;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Identify tool&lt;/P&gt;&lt;P&gt;function initIdentifyTool() {&lt;/P&gt;&lt;P&gt;    //currently nothing needs to be initialized&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function setActiveToolIdentify() {&lt;/P&gt;&lt;P&gt;    //attach identify tool to map click event&lt;/P&gt;&lt;P&gt;    map_click_handle_Identify = dojo.connect(map, "onClick", doIdentify);&lt;/P&gt;&lt;P&gt;    map.setMapCursor("crosshair");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function ShowIdentifyPanel() {&lt;/P&gt;&lt;P&gt;    $('#identifywindow').dialog({&lt;/P&gt;&lt;P&gt;        title: "Map Identify Tool",&lt;/P&gt;&lt;P&gt;        show: { effect: "fade", duration: 250 },&lt;/P&gt;&lt;P&gt;        hide: &lt;SPAN __jive_macro_name="effect"&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;        modal: false,&lt;/P&gt;&lt;P&gt;        //position: &lt;SPAN __jive_macro_name="my"&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;        height: 320,&lt;/P&gt;&lt;P&gt;        width: 470,&lt;/P&gt;&lt;P&gt;        resizable: true,&lt;/P&gt;&lt;P&gt;        closeOnEscape: false,&lt;/P&gt;&lt;P&gt;        close: function () { },&lt;/P&gt;&lt;P&gt;        resize: function (event, ui) {&lt;/P&gt;&lt;P&gt;            var fpwidth = $("#identifywindow_featurepanel_wrapper").width();&lt;/P&gt;&lt;P&gt;            $("#identifywindow_attributepanel").css({ "left": String(fpwidth + 10) + "px", "width": "auto" });&lt;/P&gt;&lt;P&gt;            //update iscroll&lt;/P&gt;&lt;P&gt;            $("#identifywindow_featurepanel").css({ "min-height": String($("#identifywindow_featurepanel_wrapper").height()) + "px" });&lt;/P&gt;&lt;P&gt;            myFeatureScroll.refresh();&lt;/P&gt;&lt;P&gt;            $("#scroller").css({ "min-height": String($("#wrapper").height() + 3) + "px" });&lt;/P&gt;&lt;P&gt;            myIdentifyScroll.refresh();&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;    });&lt;/P&gt;&lt;P&gt;    if (map_identify_first_time) {&lt;/P&gt;&lt;P&gt;        //set window position on first time only&lt;/P&gt;&lt;P&gt;        $('#identifywindow').dialog({ position: { my: "right top", at: "right-25 top+100", collision: "flipfit"} });&lt;/P&gt;&lt;P&gt;        map_identify_first_time = false;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//capture map click event - select parcel&lt;/P&gt;&lt;P&gt;var lastCalledIdentifyTimestamp = new Date();&lt;/P&gt;&lt;P&gt;function doIdentify(evt) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    var thisCallTimestamp = new Date();&lt;/P&gt;&lt;P&gt;    dmsg(thisCallTimestamp - lastCalledIdentifyTimestamp);&lt;/P&gt;&lt;P&gt;    if ((thisCallTimestamp - lastCalledIdentifyTimestamp) &amp;lt; 500) { //on mobile, screen touch may fire up twice - use timer to eliminate the second request just in case&lt;/P&gt;&lt;P&gt;        lastCalledIdentifyTimestamp = thisCallTimestamp;&lt;/P&gt;&lt;P&gt;        return;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;    lastCalledIdentifyTimestamp = thisCallTimestamp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    mapClickX = evt.mapPoint.x;&lt;/P&gt;&lt;P&gt;    mapClickY = evt.mapPoint.y;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if (cfg_multiLayerIdentifyToolEnabled == 1 || cfg_featureToolEnabled == 1) {&lt;/P&gt;&lt;P&gt;        dmsg('5.1 on map clicked');&lt;/P&gt;&lt;P&gt;        showLoading();&lt;/P&gt;&lt;P&gt;        map.graphics.clear();&lt;/P&gt;&lt;P&gt;        if (cfg_multiLayerIdentifyToolEnabled == 1) {&lt;/P&gt;&lt;P&gt;            require(["esri/tasks/IdentifyTask", "esri/tasks/IdentifyParameters"], function (IdentifyTask, IdentifyParameters) {&lt;/P&gt;&lt;P&gt;                ShowIdentifyPanel();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                //alert('not implemented');&lt;/P&gt;&lt;P&gt;                if (map.getScale() &amp;gt; cfg_identifyMinScale) {&lt;/P&gt;&lt;P&gt;                    jsapimessage("Please zoom in closer.");&lt;/P&gt;&lt;P&gt;                    hideLoading();&lt;/P&gt;&lt;P&gt;                    return;&lt;/P&gt;&lt;P&gt;                }&lt;/P&gt;&lt;P&gt;                var identifyParameters = new IdentifyParameters();&lt;/P&gt;&lt;P&gt;                identifyParameters.geometry = evt.mapPoint;&lt;/P&gt;&lt;P&gt;                identifyParameters.returnGeometry = true;&lt;/P&gt;&lt;P&gt;                identifyParameters.mapExtent = map.extent;&lt;/P&gt;&lt;P&gt;                identifyParameters.height = map.height;&lt;/P&gt;&lt;P&gt;                identifyParameters.width = map.width;&lt;/P&gt;&lt;P&gt;                identifyParameters.spatialReference = map.spatialReference;&lt;/P&gt;&lt;P&gt;                //identifyParameters.layerOption = IdentifyParameters.LAYER_OPTION_VISIBLE; //this will take default visible layers from MXD, ignoring current state in the TOC control&lt;/P&gt;&lt;P&gt;                identifyParameters.layerOption = IdentifyParameters.LAYER_OPTION_ALL;&lt;/P&gt;&lt;P&gt;                identifyParameters.layerIds = dynamicMapServiceLayer.visibleLayers;&lt;/P&gt;&lt;P&gt;                identifyParameters.tolerance = cfg_identifyTolerance;&lt;/P&gt;&lt;P&gt;                if (cfg_tocEnabled == 1) {&lt;/P&gt;&lt;P&gt;                    //if toc control is enabled, the default visibility may have changed, the option LAYER_OPTION_VISIBLE may not represent currrent visible layers&lt;/P&gt;&lt;P&gt;                    //identifyParameters.layerIds = map.getLayer("dynamicmap").visibleLayers;&lt;/P&gt;&lt;P&gt;                }&lt;/P&gt;&lt;P&gt;                var identifyServer = cfg_identifyServerURL.checkAppendToken();&lt;/P&gt;&lt;P&gt;                var identifyTask = new IdentifyTask(identifyServer);&lt;/P&gt;&lt;P&gt;                identifyTask.execute(identifyParameters, function (idResults) { processIdentifyResult(idResults, evt); }, identifyError);&lt;/P&gt;&lt;P&gt;            });&lt;/P&gt;&lt;P&gt;        } else if (cfg_featureToolEnabled == 1) {&lt;/P&gt;&lt;P&gt;            require(["esri/tasks/QueryTask", "esri/tasks/query", "esri/symbols/SimpleFillSymbol", "esri/symbols/SimpleLineSymbol"], function (QueryTask, Query, SimpleFillSymbol, SimpleLineSymbol) {&lt;/P&gt;&lt;P&gt;                var queryServer = (cfg_queryServerURL + "/" + kv[cfg_featureToolLayerName.toUpperCase()].toString()).checkAppendToken();&lt;/P&gt;&lt;P&gt;                var queryTask = new QueryTask(queryServer);&lt;/P&gt;&lt;P&gt;                var query = new Query();&lt;/P&gt;&lt;P&gt;                query.returnGeometry = true;&lt;/P&gt;&lt;P&gt;                query.outFields = ["*"];&lt;/P&gt;&lt;P&gt;                query.geometry = evt.mapPoint;&lt;/P&gt;&lt;P&gt;                query.spatialRelationship = Query.SPATIAL_REL_INTERSECTS;&lt;/P&gt;&lt;P&gt;                queryTask.execute(query, function (featureSet) {&lt;/P&gt;&lt;P&gt;                    if (featureSet.features.length == 0) {&lt;/P&gt;&lt;P&gt;                        jsapimessage("Nothing is selected.");&lt;/P&gt;&lt;P&gt;                        hideLoading();&lt;/P&gt;&lt;P&gt;                    } else {&lt;/P&gt;&lt;P&gt;                        //get feature&lt;/P&gt;&lt;P&gt;                        var graphic = featureSet.features[0];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        //setup graphic layer and symbol&lt;/P&gt;&lt;P&gt;                        map.graphics.clear();&lt;/P&gt;&lt;P&gt;                        var symbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_NULL, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color(), 4), new dojo.Color());&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        //add graphic to map&lt;/P&gt;&lt;P&gt;                        graphic.setSymbol(symbol);&lt;/P&gt;&lt;P&gt;                        map.graphics.add(graphic);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        //get extent&lt;/P&gt;&lt;P&gt;                        var ext&lt;/P&gt;&lt;P&gt;                        var geometry = graphic.geometry;&lt;/P&gt;&lt;P&gt;                        var ext = getExtentFromGeometry(geometry);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        var featurekey = graphic.attributes[cfg_featureToolLayerKeyField];&lt;/P&gt;&lt;P&gt;                        executeFeatureFunction(featurekey);&lt;/P&gt;&lt;P&gt;                        hideLoading();&lt;/P&gt;&lt;P&gt;                    }&lt;/P&gt;&lt;P&gt;                });&lt;/P&gt;&lt;P&gt;            });&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        dmsg('5.2 on map clicked done');&lt;/P&gt;&lt;P&gt;    } else {&lt;/P&gt;&lt;P&gt;        alert("Identify tool and/or feature tool has not been configured for this application.");&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function identifyError(error) {&lt;/P&gt;&lt;P&gt;    hideLoading();&lt;/P&gt;&lt;P&gt;    alert('There was an error executing identify task.\n' + error.get_message());&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function processIdentifyResult(idResults, evt) {&lt;/P&gt;&lt;P&gt;    //array variable to hold all known layer names&lt;/P&gt;&lt;P&gt;    var layerNameList = [];&lt;/P&gt;&lt;P&gt;    //reset result object, create root node&lt;/P&gt;&lt;P&gt;    identifyTreeDisplayData.length = 0;&lt;/P&gt;&lt;P&gt;    identifyTreeDisplayData.push({ id: "Identify Layers", name: "Layer Name", features: "" })&lt;/P&gt;&lt;P&gt;    //clear existing content in attribute pabel&lt;/P&gt;&lt;P&gt;    $("#identifywindow_featurepanel").html("");&lt;/P&gt;&lt;P&gt;    //check if identify result contains any feature&lt;/P&gt;&lt;P&gt;    if (idResults.length == 0) {&lt;/P&gt;&lt;P&gt;        $("#identifywindow_featurepanel").html("&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;No features found.&lt;/P&gt;");&lt;P&gt;&lt;/P&gt;&lt;P&gt;        hideLoading();&lt;/P&gt;&lt;P&gt;        return;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;    for (var i = 0, il = idResults.length; i &amp;lt; il; i++) {&lt;/P&gt;&lt;P&gt;        idResult = idResults&lt;I&gt;;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;        if (layerNameList.length == 0 || layerNameList.indexOf(idResult.layerName) == -1) { //check if we need to insert a new layer node&lt;/P&gt;&lt;P&gt;            layerNameList.push(idResult.layerName); //add this layer to list of known layer&lt;/P&gt;&lt;P&gt;            identifyTreeDisplayData.push({ id: idResult.layerName, name: idResult.layerName, features: "", parent: "Identify Layers" }); //insert layer node into identifyTreeDisplayData&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        identifyTreeDisplayData.push(&lt;SPAN __jive_macro_name="id"&gt;&lt;/SPAN&gt;); //insert feature into identifyTreeDisplayData&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    require([&lt;/P&gt;&lt;P&gt;        "dojo/_base/window",&lt;/P&gt;&lt;P&gt;        "dojo/store/Memory",&lt;/P&gt;&lt;P&gt;        "dijit/tree/ObjectStoreModel",&lt;/P&gt;&lt;P&gt;        "dijit/Tree",&lt;/P&gt;&lt;P&gt;        "dojo/domReady!"],&lt;/P&gt;&lt;P&gt;    function (win, Memory, ObjectStoreModel, Tree) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var identifyStore = new Memory({&lt;/P&gt;&lt;P&gt;            data: identifyTreeDisplayData,&lt;/P&gt;&lt;P&gt;            getChildren: function (object) {&lt;/P&gt;&lt;P&gt;                return this.query({ parent: object.id }); //return all elements in which element.parent = this-object.id&lt;/P&gt;&lt;P&gt;            }&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var identifyModel = new ObjectStoreModel(&lt;SPAN __jive_macro_name="store"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        //clear out existing identify tree object&lt;/P&gt;&lt;P&gt;        var oldtree = dijit.byId('identifyTree');&lt;/P&gt;&lt;P&gt;        if (oldtree) {&lt;/P&gt;&lt;P&gt;            oldtree.destroy();&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        var identifyTree = new Tree(&lt;SPAN __jive_macro_name="id"&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;            autoExpand: true,&lt;/P&gt;&lt;P&gt;            onClick: identifyTreeOnClick,&lt;/P&gt;&lt;P&gt;            style: "overflow: hidden;"&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;        identifyTree.placeAt("identifywindow_featurepanel").startup();&lt;/P&gt;&lt;P&gt;        identifyTree.on("load", function () {&lt;/P&gt;&lt;P&gt;            if (myFeatureScroll != null) {&lt;/P&gt;&lt;P&gt;                myFeatureScroll.refresh();&lt;/P&gt;&lt;P&gt;            } else {&lt;/P&gt;&lt;P&gt;                myFeatureScroll = new iScroll('identifywindow_featurepanel_wrapper', { hScrollbar: false, hideScrollbar: false });&lt;/P&gt;&lt;P&gt;            }&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        // Automaticalyl select the first feature (node #3 in the tree) --&amp;gt; Root Node \ First Layer Node \ First Feature Node&lt;/P&gt;&lt;P&gt;        identifyTree.onLoadDeferred.then(function () {&lt;/P&gt;&lt;P&gt;            if (identifyTreeDisplayData.length &amp;gt; 2) {&lt;/P&gt;&lt;P&gt;                identifyTree.set("path", [identifyTreeDisplayData[0].id, identifyTreeDisplayData[1].id, identifyTreeDisplayData[2].id]);&lt;/P&gt;&lt;P&gt;                var selectedNode = identifyTreeDisplayData[2];&lt;/P&gt;&lt;P&gt;                identifyTreeOnClick(selectedNode);&lt;/P&gt;&lt;P&gt;                hideLoading();&lt;/P&gt;&lt;P&gt;            }&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    });&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function identifyTreeOnClick(item) {&lt;/P&gt;&lt;P&gt;    if (!item.root) {&lt;/P&gt;&lt;P&gt;        $("#identifywindow_attributepanel").empty();&lt;/P&gt;&lt;P&gt;        if (item.features !== "") { //check to make sure this is a feature node, not a layer node&lt;/P&gt;&lt;P&gt;            selectedFeature = item;&lt;/P&gt;&lt;P&gt;            var content = "";&lt;/P&gt;&lt;P&gt;            content += "&lt;/P&gt;&lt;DIV class="identifywindow_cellpadding identifywindow_attr_header"&gt;&lt;P&gt;" + item.id + "&lt;BUTTON class="identifywindow_zoombutton" onclick="zoomToIdentifyFeature();"&gt;&lt;/BUTTON&gt;"&lt;BR /&gt; //header row closing tags&lt;BR /&gt; content += "&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;";&lt;BR /&gt;&lt;BR /&gt; content += "&lt;/P&gt;&lt;DIV class="identifywindow_fieldscontainer" id="wrapper"&gt;&lt;P&gt;";&lt;BR /&gt; content += "&lt;/P&gt;&lt;DIV id="scroller"&gt;&lt;P&gt;";&lt;BR /&gt;&lt;BR /&gt; //attribute fields&lt;BR /&gt; dojo.forEach(LayersFieldName, function (layer) {&lt;BR /&gt; if (layer.layerName === item.parent) {&lt;BR /&gt; dojo.forEach(layer.layerFields, function (field) {&lt;BR /&gt; if ($.inArray(field.name.toUpperCase(), cfg_identifyFieldToHide) == -1 &amp;amp;&amp;amp; $.inArray(field.alias.toUpperCase(), cfg_identifyFieldToHide) == -1) {&lt;BR /&gt; var fv = item.features.attributes[field.alias];&lt;BR /&gt; if (fv.toUpperCase().startsWith('HTTP://') || fv.toUpperCase().startsWith('HTTPS://')) {&lt;BR /&gt; fv = String.format("&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN __jive_macro_name="0"&gt;&lt;/SPAN&gt;",fv)&lt;BR /&gt; }&lt;BR /&gt; content += "&lt;/P&gt;&lt;DIV class="identifywindow_attr_row"&gt;&lt;P&gt;";&lt;BR /&gt; content += " &lt;/P&gt;&lt;DIV class="identifywindow_cellpadding identifywindow_attr_leftcol"&gt;&lt;P&gt;" + field.name + "&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;";&lt;BR /&gt; content += " &lt;/P&gt;&lt;DIV class="identifywindow_cellpadding identifywindow_attr_rightcol"&gt;&lt;P&gt;" + fv + "&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;";&lt;BR /&gt; content += " &lt;/P&gt;&lt;DIV class="clearPlaceHolder"&gt;&lt;/DIV&gt;&lt;P&gt;";&lt;BR /&gt; content += "&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;";&lt;BR /&gt; }&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; });&lt;BR /&gt;&lt;BR /&gt; //end table&lt;BR /&gt; content += ""; //scroller&lt;BR /&gt; content += ""; //wrapper&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            //end table&lt;/P&gt;&lt;P&gt;            //apply result html to attribute panel&lt;/P&gt;&lt;P&gt;            $("#identifywindow_attributepanel").html(content);&lt;/P&gt;&lt;P&gt;            myIdentifyScroll = new iScroll('wrapper', &lt;SPAN __jive_macro_name="hScrollbar"&gt;&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function hyperLinkField(item, field) {&lt;/P&gt;&lt;P&gt;    var content = item.features.attributes[field.alias];&lt;/P&gt;&lt;P&gt;    dojo.forEach(ConfigLayersWithAttachment, function (layerWithAttachment) {&lt;/P&gt;&lt;P&gt;        if (item.parent == layerWithAttachment.layerName &amp;amp;&amp;amp; field.name == layerWithAttachment.fieldName) {&lt;/P&gt;&lt;P&gt;            content = "&lt;A href="&amp;quot;%20+%20layerWithAttachment.path%20+%20content%20+%3Cbr%20/%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20&amp;quot;" target="_blank"&gt;&lt;FONT color="FF00CC"&gt;" + content + "&lt;/FONT&gt;&lt;/A&gt;";&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;    });&lt;/P&gt;&lt;P&gt;    return content;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function zoomToIdentifyFeature() {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    var layerID = selectedFeature.layerId;&lt;/P&gt;&lt;P&gt;    if (layerID == undefined) return;&lt;/P&gt;&lt;P&gt;    var objectID = selectedFeature.features.attributes.OBJECTID;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //initialize query task&lt;/P&gt;&lt;P&gt;    require(["esri/tasks/QueryTask", "esri/tasks/query"], function (QueryTask, Query) {&lt;/P&gt;&lt;P&gt;        var queryTask = new QueryTask((cfg_dynamicMapLayerURL + "/" + layerID.toString()).checkAppendToken());&lt;/P&gt;&lt;P&gt;        var query = Query();&lt;/P&gt;&lt;P&gt;        query.returnGeometry = true;&lt;/P&gt;&lt;P&gt;        query.outSpatialReference = map.spatialReference;&lt;/P&gt;&lt;P&gt;        query.outFields = ["*"];&lt;/P&gt;&lt;P&gt;        query.where = "OBJECTID ='" + objectID + "'";&lt;/P&gt;&lt;P&gt;        queryTask.execute(query, showIdentifyResult);&lt;/P&gt;&lt;P&gt;    });&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function showIdentifyResult(featureSet) {&lt;/P&gt;&lt;P&gt;    var resultFeatures = featureSet.features;&lt;/P&gt;&lt;P&gt;    map.graphics.clear()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    require(["esri/symbols/SimpleFillSymbol", "esri/symbols/SimpleLineSymbol", "esri/symbols/SimpleMarkerSymbol", ], function (SimpleFillSymbol, SimpleLineSymbol, SimpleMarkerSymbol) {&lt;/P&gt;&lt;P&gt;        var myFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color(), 4), new dojo.Color());&lt;/P&gt;&lt;P&gt;        var myLineSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color(), 4);&lt;/P&gt;&lt;P&gt;        var myMarkerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 10, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new dojo.Color(), 1), new dojo.Color());&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        dojo.forEach(resultFeatures, function (feature) {&lt;/P&gt;&lt;P&gt;            TempGraphic = feature;&lt;/P&gt;&lt;P&gt;            switch (feature.geometry.type) {&lt;/P&gt;&lt;P&gt;                case "point":&lt;/P&gt;&lt;P&gt;                case "multipoint":&lt;/P&gt;&lt;P&gt;                    TempGraphic.setSymbol(myMarkerSymbol);&lt;/P&gt;&lt;P&gt;                    agsjsZoomToLocationXY(feature.geometry.x, feature.geometry.y, cfg_ds_point_zoom_width);&lt;/P&gt;&lt;P&gt;                    break;&lt;/P&gt;&lt;P&gt;                case "line":&lt;/P&gt;&lt;P&gt;                case "polyline":&lt;/P&gt;&lt;P&gt;                    TempGraphic.setSymbol(myLineSymbol);&lt;/P&gt;&lt;P&gt;                    var extent = feature.geometry.getExtent().expand(cfg_ds_polygon_zoom_factor);&lt;/P&gt;&lt;P&gt;                    break;&lt;/P&gt;&lt;P&gt;                default:&lt;/P&gt;&lt;P&gt;                    TempGraphic.setSymbol(myFillSymbol);&lt;/P&gt;&lt;P&gt;                    var extent = feature.geometry.getExtent().expand(cfg_ds_polygon_zoom_factor);&lt;/P&gt;&lt;P&gt;                    break;&lt;/P&gt;&lt;P&gt;            }&lt;/P&gt;&lt;P&gt;            map.setExtent(extent, true);&lt;/P&gt;&lt;P&gt;            map.graphics.add(TempGraphic);&lt;/P&gt;&lt;P&gt;            return;&lt;/P&gt;&lt;P&gt;        });&lt;/P&gt;&lt;P&gt;    });&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;gt; Ken Buja &amp;lt;geonet@esri.com&amp;gt; 11/5/2014 2:49 PM &amp;gt;&amp;gt;&amp;gt; &lt;/P&gt;&lt;P&gt;Ken Buja  replied to the discussion&lt;/P&gt;&lt;P&gt;"How to know which dynamc map service the visible layer cam from in Nliu's TC widget"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To view the discussion, visit: https://community.esri.com/message/435669?et=watches.email.thread#435669&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Nov 2014 19:58:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355132#M32899</guid>
      <dc:creator>ZhujingXia</dc:creator>
      <dc:date>2014-11-05T19:58:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355133#M32900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;SPAN lang="EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if i add this code into&amp;nbsp; function doIdentify(evt)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; var layers = dojo.map(map.layerIds, function (layerId) {&amp;nbsp; &lt;/P&gt;&lt;P&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; return map.getLayer(layerId);&amp;nbsp; &lt;/P&gt;&lt;P&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; //I could get result back for layers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; var layers = dojo.map(map.layerIds, function (layerId) {&amp;nbsp; &lt;/P&gt;&lt;P&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; return map.getLayer(layerId);&amp;nbsp; &lt;/P&gt;&lt;P&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; //But I run into error for this code , no result for layer, the layer is undefined.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Nov 2014 20:03:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355133#M32900</guid>
      <dc:creator>ZhujingXia</dc:creator>
      <dc:date>2014-11-05T20:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to know which dynamc map service the visible layer cam from in Nliu's TC widget</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355134#M32901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know nothing about the widget, but I can think of a possible solution/walkaround.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create an Array of all layers (IDs) used by the widgets.&lt;/P&gt;&lt;P&gt;2. When needed, loop through the array, and find what is visible (layer.visible || layer.visibleAtMapScale);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Nov 2014 19:23:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-know-which-dynamc-map-service-the-visible/m-p/355134#M32901</guid>
      <dc:creator>YungKaiChin</dc:creator>
      <dc:date>2014-11-24T19:23:40Z</dc:date>
    </item>
  </channel>
</rss>

