<?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: Consulta de la API javascript in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45388#M3963</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I translated your question from Google... I believe I understand everything:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Yes - you would need ArcGIS Server/ArcGIS Online (AGOL) as well&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) You can create joins using &lt;A href="https://developers.arcgis.com/javascript/jsapi/joindatasource-amd.html" title="https://developers.arcgis.com/javascript/jsapi/joindatasource-amd.html" rel="nofollow noopener noreferrer" target="_blank"&gt;JoinDataSource | API Reference | ArcGIS API for JavaScript&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Here's a Github example of joins:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Esri/developer-support/tree/master/web-js/join-data-source" title="https://github.com/Esri/developer-support/tree/master/web-js/join-data-source" rel="nofollow noopener noreferrer" target="_blank"&gt;developer-support/web-js/join-data-source at master · Esri/developer-support · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And a live sample:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esri.github.io/developer-support/web-js/join-data-source/JoinDataSource_Final.html" title="http://esri.github.io/developer-support/web-js/join-data-source/JoinDataSource_Final.html" rel="nofollow noopener noreferrer" target="_blank"&gt;Dynamic Layer&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;nbsp; &amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Dynamic Layer&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2Fdijit%2Fthemes%2Fclaro%2Fclaro.css" target="_blank"&gt;http://js.arcgis.com/3.14/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2Fesri%2Fcss%2Fesri.css" target="_blank"&gt;http://js.arcgis.com/3.14/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; html, body, #mapDiv, .map.container {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; #title {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; position: relative;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 10px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #999;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font: 30px Segoe UI;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left;
&amp;nbsp; border-style: solid;
&amp;nbsp; border-width: medium;
&amp;nbsp; border-left-style: hidden;
&amp;nbsp; border-top-style: hidden;
&amp;nbsp; border-right-style: hidden;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/style&amp;gt;


&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2F" target="_blank"&gt;http://js.arcgis.com/3.14/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var map;
&amp;nbsp; var AGDynamicLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; require([
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/ArcGISDynamicMapServiceLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/DynamicLayerInfo",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/TableDataSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerDataSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerMapSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleFillSymbol",
&amp;nbsp;&amp;nbsp; "esri/tasks/GenerateRendererParameters",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/ClassBreaksDefinition",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/AlgorithmicColorRamp",
&amp;nbsp;&amp;nbsp; "esri/tasks/GenerateRendererTask", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerDrawingOptions",
&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleLineSymbol",
&amp;nbsp;&amp;nbsp; "esri/layers/JoinDataSource",
&amp;nbsp;&amp;nbsp; "esri/config",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/Color",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
&amp;nbsp;&amp;nbsp;&amp;nbsp; ], function(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISDynamicMapServiceLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DynamicLayerInfo,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TableDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerMapSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol,
&amp;nbsp;&amp;nbsp; GenerateRendererParameters,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClassBreaksDefinition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AlgorithmicColorRamp,
&amp;nbsp;&amp;nbsp; GenerateRendererTask,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerDrawingOptions,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleLineSymbol,
&amp;nbsp;&amp;nbsp; JoinDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esriConfig,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color
&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; esriConfig.defaults.io.proxyUrl = "/sproxy/";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map("mapDiv", {
&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; center: [-97.453079, 37.696775],
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create a new ArcGISDynamicMapServiceLayer layer based on DynamicLayerInfos. 
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGDynamicLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer&lt;/A&gt;&lt;SPAN&gt;",{&lt;/SPAN&gt;
&amp;nbsp; id: "states",
&amp;nbsp; opacity: 0.7,
&amp;nbsp; visible: false
&amp;nbsp; });
&amp;nbsp; AGDynamicLayer.setVisibleLayers([3]);

&amp;nbsp; map.addLayer(AGDynamicLayer);
&amp;nbsp; map.on("update-start", addJoin);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; function addJoin(){
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; var joinDataSource = new JoinDataSource();
&amp;nbsp; //Using LayerMapSource
&amp;nbsp; var layerMapSource = new LayerMapSource({mapLayerId:3});

&amp;nbsp; var rightTableSource&amp;nbsp; = new LayerDataSource({
&amp;nbsp;&amp;nbsp; "dataSource": 
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "table",
&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; "dataSourceName": "ancestry",
&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; "workspaceId": "CensusFileGDBWorkspaceID"
&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; //the workspaceID is for the registered file geodatabase, SDE or Shapefile workspace.&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;&amp;nbsp;&amp;nbsp; //Basically, there are two ways to enable this workspace ID
&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; //1. From ArcMap before publishing the services
&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; //For more information please take a look about this documentation talks about
&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; //"Enabling dynamic layers on a map service in ArcGIS for Desktop"
&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;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fdesktop.arcgis.com%2Fen%2Fdesktop%2Flatest%2Fmap%2Fpublish-map-services%2Fenabling-dynamic-layers-on-a-map-service-in-arcgis-for-desktop.htm" target="_blank"&gt;http://desktop.arcgis.com/en/desktop/latest/map/publish-map-services/enabling-dynamic-layers-on-a-map-service-in-arcgis-for-desktop.htm&lt;/A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //2. Or you can go to the ArcGIS Server Manager to manually add workspace ID for existing services
&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; //Please check this documenation as a reference: 
&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;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fdesktop.arcgis.com%2Fen%2Fdesktop%2Flatest%2Fmap%2Fpublish-map-services%2Fenabling-dynamic-layers-on-a-map-service-in-manager.htm" target="_blank"&gt;http://desktop.arcgis.com/en/desktop/latest/map/publish-map-services/enabling-dynamic-layers-on-a-map-service-in-manager.htm&lt;/A&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; joinDataSource.leftTableSource = layerMapSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.rightTableSource = rightTableSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.leftTableKey = "STATE_NAME";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.rightTableKey = "State";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.joinType = "left-outer-join";


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //source for dynamic layer with join
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var joinLayerDataSource = new LayerDataSource();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinLayerDataSource.dataSource = joinDataSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; //Create DynamicLayerInfo and set it's source to joinLayerDataSource
&amp;nbsp; var dynamicLayerInfos = [];
&amp;nbsp; var dynamicLayerInfo = new DynamicLayerInfo;
&amp;nbsp; dynamicLayerInfo.id = 3;

&amp;nbsp; dynamicLayerInfo.source = joinLayerDataSource;
&amp;nbsp; dynamicLayerInfos.push(dynamicLayerInfo);

&amp;nbsp; AGDynamicLayer.setDynamicLayerInfos(dynamicLayerInfos);
&amp;nbsp; generateRenderer(joinLayerDataSource);
&amp;nbsp; }

&amp;nbsp; function generateRenderer(joinLayerDataSource){
&amp;nbsp; //make the default symbol
&amp;nbsp; var symbol = new SimpleFillSymbol(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol.STYLE_SOLID,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SimpleLineSymbol(
&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; SimpleLineSymbol.STYLE_SOLID,
&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; new Color([150, 150, 150, 0.5])));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; var classDef = new ClassBreaksDefinition();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.classificationField = "ancestry.American";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.classificationMethod = "natural-breaks";
&amp;nbsp; classDef.normalizationField = "states.POP07_SQMI";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.breakCount = 7;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //classDef.baseSymbol = symbol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var colorRamp = new AlgorithmicColorRamp();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.fromColor = Color.fromHex("#edf8fb");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.toColor = Color.fromHex("#005824");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.algorithm = "hsv";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.colorRamp = colorRamp;
&lt;SPAN&gt;&amp;nbsp; var CencusUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer%2FdynamicLayer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/dynamicLayer&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;
&amp;nbsp; var generateRendererTask = new GenerateRendererTask(CencusUrl);

&amp;nbsp; var generateRendererParameters = new GenerateRendererParameters();
&amp;nbsp; generateRendererParameters.classificationDefinition = classDef;

&amp;nbsp; generateRendererTask.source = joinLayerDataSource;
&amp;nbsp; generateRendererTask.execute(generateRendererParameters, applyRenderer, errorHandler);

&amp;nbsp; function applyRenderer(renderer){
&amp;nbsp; var optionsArray = [];
&amp;nbsp; var lyrdrawingOptions = new LayerDrawingOptions();
&amp;nbsp; //lyrDrawingOptions.layerId = 3;
&amp;nbsp; lyrdrawingOptions.renderer = renderer; 
&amp;nbsp; // set the drawing options for the relevant layer
&amp;nbsp; // optionsArray index corresponds to layer index in the map service
&amp;nbsp; optionsArray[3] = lyrdrawingOptions;
&amp;nbsp; map.getLayer("states").setLayerDrawingOptions(optionsArray);
&amp;nbsp; map.getLayer("states").show();

&amp;nbsp; }

&amp;nbsp; function errorHandler(err) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // console.log("Something broke, error: ", err);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("error: ", JSON.stringify(err));
&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;lt;/script&amp;gt;
&amp;nbsp; &amp;lt;/head&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;body class="claro"&amp;gt;
&amp;nbsp; &amp;lt;div id="mapDiv"&amp;gt;&amp;lt;div id="title"&amp;gt;Using Join Data Source&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;


&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;P&gt;3) It's a good idea - the API can do many things. The sky is the limit!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Here's some info on representing joined data in the infoWindow:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://gis.stackexchange.com/questions/40527/represent-joined-data-in-info-window-arcgis-jsapi-3-1" title="http://gis.stackexchange.com/questions/40527/represent-joined-data-in-info-window-arcgis-jsapi-3-1" rel="nofollow noopener noreferrer" target="_blank"&gt;Represent joined data in Info window (ArcGIS JSAPI 3.1) - Geographic Information Systems Stack Exchange&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Yes - you can create map services and you can join to them as well as SQL databases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 21:45:54 GMT</pubDate>
    <dc:creator>ChrisSmith7</dc:creator>
    <dc:date>2021-12-10T21:45:54Z</dc:date>
    <item>
      <title>Consulta de la API javascript</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45387#M3962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="text-align: justify;"&gt;Buenas tardes, tengo la siguiente consulta. &lt;/P&gt;&lt;P style="text-align: justify;"&gt;Utilizo ArcGis 10.2 y tengo una geodatabase con varias tablas. Una de la tablas corresponde a los departamentos de Colombia, son 35 seccionales para este caso son departamentos, cada departamento tiene un id que es el código de departamento. &lt;/P&gt;&lt;P style="text-align: justify;"&gt;Por otro lado tengo también una tabla texto con las direcciones y teléfonos de ubicación de las sedes de esos departamentos con su código de departamento, respectivamente. &lt;/P&gt;&lt;P style="text-align: justify;"&gt;Necesito mostrar en en un portal web todo el mapa de tal manera que al hacer clic en cualquier departamento me muestre en un popup el nombre del departamento, la dirección y el teléfono, obviamente para hacer esto habría que hacer un join entre la tabla espacial y la tabla con los datos. Por lo anterior me surgen varias preguntas:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px; text-align: justify;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="text-align: justify;"&gt;1 Podria hacer lo anterior utilizando la API de javascript…?,.&lt;/P&gt;&lt;P style="text-align: justify;"&gt;2 Si utilizo la APi de javascript, como se haría el join entre la tabla espacial y la tabla de datos…?&lt;/P&gt;&lt;P style="text-align: justify;"&gt;3 La idea es mostrar este mapa en un portal web por eso se me ocurrió hacerlo en javascript.&lt;/P&gt;&lt;P style="text-align: justify;"&gt;4 Al pasar el mouse por encima del polígono de cada departamento se deberían ver los datos de este departamento, como se ilustra en este ejemplo: (&lt;SPAN style="color: #2873ee;"&gt;&lt;A _jive_internal="true" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fdevelopers.arcgis.com%2Fjavascript%2Fjssamples%2Ffl_hover.html" rel="nofollow" target="_blank"&gt;https://developers.arcgis.com/javascript/jssamples/fl_hover.html&lt;/A&gt;&lt;/SPAN&gt;)&lt;A _jive_internal="true" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fdevelopers.arcgis.com%2Fjavascript%2Fjssamples%2Ffl_hover.html" rel="nofollow" target="_blank"&gt;https://developers.arcgis.com/javascript/jssamples/fl_hover.html&lt;/A&gt;&lt;/P&gt;&lt;P style="text-align: justify;"&gt;5 Desde javascript me puedo conectar a una geodatabase con mis datos…?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Sep 2015 19:22:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45387#M3962</guid>
      <dc:creator>RodrigoAbadia_Mondragon</dc:creator>
      <dc:date>2015-09-28T19:22:24Z</dc:date>
    </item>
    <item>
      <title>Re: Consulta de la API javascript</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45388#M3963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I translated your question from Google... I believe I understand everything:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Yes - you would need ArcGIS Server/ArcGIS Online (AGOL) as well&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) You can create joins using &lt;A href="https://developers.arcgis.com/javascript/jsapi/joindatasource-amd.html" title="https://developers.arcgis.com/javascript/jsapi/joindatasource-amd.html" rel="nofollow noopener noreferrer" target="_blank"&gt;JoinDataSource | API Reference | ArcGIS API for JavaScript&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Here's a Github example of joins:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Esri/developer-support/tree/master/web-js/join-data-source" title="https://github.com/Esri/developer-support/tree/master/web-js/join-data-source" rel="nofollow noopener noreferrer" target="_blank"&gt;developer-support/web-js/join-data-source at master · Esri/developer-support · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And a live sample:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esri.github.io/developer-support/web-js/join-data-source/JoinDataSource_Final.html" title="http://esri.github.io/developer-support/web-js/join-data-source/JoinDataSource_Final.html" rel="nofollow noopener noreferrer" target="_blank"&gt;Dynamic Layer&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;nbsp; &amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Dynamic Layer&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2Fdijit%2Fthemes%2Fclaro%2Fclaro.css" target="_blank"&gt;http://js.arcgis.com/3.14/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2Fesri%2Fcss%2Fesri.css" target="_blank"&gt;http://js.arcgis.com/3.14/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; html, body, #mapDiv, .map.container {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; #title {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; position: relative;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top: 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 10px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #999;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font: 30px Segoe UI;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left;
&amp;nbsp; border-style: solid;
&amp;nbsp; border-width: medium;
&amp;nbsp; border-left-style: hidden;
&amp;nbsp; border-top-style: hidden;
&amp;nbsp; border-right-style: hidden;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/style&amp;gt;


&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fjs.arcgis.com%2F3.14%2F" target="_blank"&gt;http://js.arcgis.com/3.14/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var map;
&amp;nbsp; var AGDynamicLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; require([
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/ArcGISDynamicMapServiceLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/DynamicLayerInfo",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/TableDataSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerDataSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerMapSource",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleFillSymbol",
&amp;nbsp;&amp;nbsp; "esri/tasks/GenerateRendererParameters",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/ClassBreaksDefinition",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/AlgorithmicColorRamp",
&amp;nbsp;&amp;nbsp; "esri/tasks/GenerateRendererTask", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/LayerDrawingOptions",
&amp;nbsp;&amp;nbsp; "esri/symbols/SimpleLineSymbol",
&amp;nbsp;&amp;nbsp; "esri/layers/JoinDataSource",
&amp;nbsp;&amp;nbsp; "esri/config",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/Color",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
&amp;nbsp;&amp;nbsp;&amp;nbsp; ], function(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISDynamicMapServiceLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DynamicLayerInfo,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TableDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerMapSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol,
&amp;nbsp;&amp;nbsp; GenerateRendererParameters,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClassBreaksDefinition,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AlgorithmicColorRamp,
&amp;nbsp;&amp;nbsp; GenerateRendererTask,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerDrawingOptions,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleLineSymbol,
&amp;nbsp;&amp;nbsp; JoinDataSource,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esriConfig,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color
&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; esriConfig.defaults.io.proxyUrl = "/sproxy/";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map("mapDiv", {
&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; center: [-97.453079, 37.696775],
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //create a new ArcGISDynamicMapServiceLayer layer based on DynamicLayerInfos. 
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGDynamicLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer&lt;/A&gt;&lt;SPAN&gt;",{&lt;/SPAN&gt;
&amp;nbsp; id: "states",
&amp;nbsp; opacity: 0.7,
&amp;nbsp; visible: false
&amp;nbsp; });
&amp;nbsp; AGDynamicLayer.setVisibleLayers([3]);

&amp;nbsp; map.addLayer(AGDynamicLayer);
&amp;nbsp; map.on("update-start", addJoin);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; function addJoin(){
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; var joinDataSource = new JoinDataSource();
&amp;nbsp; //Using LayerMapSource
&amp;nbsp; var layerMapSource = new LayerMapSource({mapLayerId:3});

&amp;nbsp; var rightTableSource&amp;nbsp; = new LayerDataSource({
&amp;nbsp;&amp;nbsp; "dataSource": 
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "table",
&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; "dataSourceName": "ancestry",
&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; "workspaceId": "CensusFileGDBWorkspaceID"
&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; //the workspaceID is for the registered file geodatabase, SDE or Shapefile workspace.&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;&amp;nbsp;&amp;nbsp; //Basically, there are two ways to enable this workspace ID
&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; //1. From ArcMap before publishing the services
&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; //For more information please take a look about this documentation talks about
&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; //"Enabling dynamic layers on a map service in ArcGIS for Desktop"
&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;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fdesktop.arcgis.com%2Fen%2Fdesktop%2Flatest%2Fmap%2Fpublish-map-services%2Fenabling-dynamic-layers-on-a-map-service-in-arcgis-for-desktop.htm" target="_blank"&gt;http://desktop.arcgis.com/en/desktop/latest/map/publish-map-services/enabling-dynamic-layers-on-a-map-service-in-arcgis-for-desktop.htm&lt;/A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //2. Or you can go to the ArcGIS Server Manager to manually add workspace ID for existing services
&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; //Please check this documenation as a reference: 
&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;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fdesktop.arcgis.com%2Fen%2Fdesktop%2Flatest%2Fmap%2Fpublish-map-services%2Fenabling-dynamic-layers-on-a-map-service-in-manager.htm" target="_blank"&gt;http://desktop.arcgis.com/en/desktop/latest/map/publish-map-services/enabling-dynamic-layers-on-a-map-service-in-manager.htm&lt;/A&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; joinDataSource.leftTableSource = layerMapSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.rightTableSource = rightTableSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.leftTableKey = "STATE_NAME";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.rightTableKey = "State";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinDataSource.joinType = "left-outer-join";


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //source for dynamic layer with join
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var joinLayerDataSource = new LayerDataSource();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinLayerDataSource.dataSource = joinDataSource;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; //Create DynamicLayerInfo and set it's source to joinLayerDataSource
&amp;nbsp; var dynamicLayerInfos = [];
&amp;nbsp; var dynamicLayerInfo = new DynamicLayerInfo;
&amp;nbsp; dynamicLayerInfo.id = 3;

&amp;nbsp; dynamicLayerInfo.source = joinLayerDataSource;
&amp;nbsp; dynamicLayerInfos.push(dynamicLayerInfo);

&amp;nbsp; AGDynamicLayer.setDynamicLayerInfos(dynamicLayerInfos);
&amp;nbsp; generateRenderer(joinLayerDataSource);
&amp;nbsp; }

&amp;nbsp; function generateRenderer(joinLayerDataSource){
&amp;nbsp; //make the default symbol
&amp;nbsp; var symbol = new SimpleFillSymbol(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleFillSymbol.STYLE_SOLID,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new SimpleLineSymbol(
&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; SimpleLineSymbol.STYLE_SOLID,
&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; new Color([150, 150, 150, 0.5])));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp; var classDef = new ClassBreaksDefinition();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.classificationField = "ancestry.American";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.classificationMethod = "natural-breaks";
&amp;nbsp; classDef.normalizationField = "states.POP07_SQMI";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.breakCount = 7;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //classDef.baseSymbol = symbol;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var colorRamp = new AlgorithmicColorRamp();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.fromColor = Color.fromHex("#edf8fb");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.toColor = Color.fromHex("#005824");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorRamp.algorithm = "hsv";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classDef.colorRamp = colorRamp;
&lt;SPAN&gt;&amp;nbsp; var CencusUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer%2FdynamicLayer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/dynamicLayer&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;
&amp;nbsp; var generateRendererTask = new GenerateRendererTask(CencusUrl);

&amp;nbsp; var generateRendererParameters = new GenerateRendererParameters();
&amp;nbsp; generateRendererParameters.classificationDefinition = classDef;

&amp;nbsp; generateRendererTask.source = joinLayerDataSource;
&amp;nbsp; generateRendererTask.execute(generateRendererParameters, applyRenderer, errorHandler);

&amp;nbsp; function applyRenderer(renderer){
&amp;nbsp; var optionsArray = [];
&amp;nbsp; var lyrdrawingOptions = new LayerDrawingOptions();
&amp;nbsp; //lyrDrawingOptions.layerId = 3;
&amp;nbsp; lyrdrawingOptions.renderer = renderer; 
&amp;nbsp; // set the drawing options for the relevant layer
&amp;nbsp; // optionsArray index corresponds to layer index in the map service
&amp;nbsp; optionsArray[3] = lyrdrawingOptions;
&amp;nbsp; map.getLayer("states").setLayerDrawingOptions(optionsArray);
&amp;nbsp; map.getLayer("states").show();

&amp;nbsp; }

&amp;nbsp; function errorHandler(err) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // console.log("Something broke, error: ", err);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("error: ", JSON.stringify(err));
&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;lt;/script&amp;gt;
&amp;nbsp; &amp;lt;/head&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;body class="claro"&amp;gt;
&amp;nbsp; &amp;lt;div id="mapDiv"&amp;gt;&amp;lt;div id="title"&amp;gt;Using Join Data Source&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;


&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;P&gt;3) It's a good idea - the API can do many things. The sky is the limit!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Here's some info on representing joined data in the infoWindow:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://gis.stackexchange.com/questions/40527/represent-joined-data-in-info-window-arcgis-jsapi-3-1" title="http://gis.stackexchange.com/questions/40527/represent-joined-data-in-info-window-arcgis-jsapi-3-1" rel="nofollow noopener noreferrer" target="_blank"&gt;Represent joined data in Info window (ArcGIS JSAPI 3.1) - Geographic Information Systems Stack Exchange&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Yes - you can create map services and you can join to them as well as SQL databases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:45:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45388#M3963</guid>
      <dc:creator>ChrisSmith7</dc:creator>
      <dc:date>2021-12-10T21:45:54Z</dc:date>
    </item>
    <item>
      <title>Re: Consulta de la API javascript</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45389#M3964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chris, thanks for your answer, I liked your answer, I'm adapting the code to my need.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Sep 2015 19:14:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/consulta-de-la-api-javascript/m-p/45389#M3964</guid>
      <dc:creator>RodrigoAbadia_Mondragon</dc:creator>
      <dc:date>2015-09-29T19:14:10Z</dc:date>
    </item>
  </channel>
</rss>

