POST
|
Can somebody help me understand how to use the classBreaks function under esri/renderers/smartMapping/statistics in JS API 4.5? The documentation gives an example but I cannot figure out how to feed the results into the classBreaksRenderer. I've pasted my JS code below that contains a modification of the code example plus my attempt to feed the output from classBreaks into a renderer. I know it's wrong but I'm not clear how to fix it. Any help would be appreciated. require([
'dojo/dom',
'dojo/number',
'dojo/on',
'esri/Map',
'esri/views/MapView',
'esri/layers/FeatureLayer',
'esri/renderers/smartMapping/statistics/classBreaks',
'dojo/domReady!'
], function(dom, number, on, Map, MapView, FeatureLayer, classBreaks) {
// Create the Map element
var map = new Map({
basemap: 'oceans'
});
var viewProperties = {
center: [-77.3936, 35.1377],
zoom: 8
};
// Create the MapView element that will hold the map
var view = new MapView({
container: "viewDiv",
map: map
});
view.center = viewProperties.center;
view.zoom = viewProperties.zoom;
var renderer = {
type: 'class-breaks',
field: 'Alligator'
};
renderer.addClassBreakInfo(breakInfos);
function genClassBreaks () {
classBreaks({
layer: featureLayer,
field: "Alligator",
classificationMethod: "quantile",
numClasses: 4
}).then(function(response){
var breakInfos = response.classBreakInfos;
});
}
var featureLayer = new FeatureLayer({
url: "https://services.arcgis.com/ycIuRaoIC4UuCDAS/arcgis/rest/services/Alligator%20Sightings%20by%20County%20in%20NCSU%20Survey/FeatureServer/0",
renderer: renderer,
outFields: ["*"],
definitionExpression: "Alligator > 0"
});
// Add featureLayer to the map
map.add(featureLayer);
});
... View more
12-11-2017
07:57 AM
|
0
|
0
|
445
|
POST
|
Amazing. I think I tried ever other possibility. Thanks again for the help, Robert.
... View more
09-15-2014
12:28 PM
|
0
|
0
|
535
|
POST
|
I'm stuck on another aspect of this same script (pasted below). I have simply switched the initial layer above from States (3) to Counties (2). In doing so, the application does not render the Counties layer properly. I've determined that the code in the detailsTask_getAllDetailsCompleteHandler function is setting layerMapSource to the last layer in the ArcGISDynamicMapServiceLayer. In this case, that's States. Once I change the layer in the dropdown, it renders both States and Counties properly. But I cannot figure out how to get the code to properly render the Counties layer if it is the first one to display.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import com.esri.ags.SpatialReference;
import com.esri.ags.events.DetailsEvent;
import com.esri.ags.events.GenerateRendererEvent;
import com.esri.ags.events.LayerEvent;
import com.esri.ags.geometry.Extent;
import com.esri.ags.layers.supportClasses.AllDetails;
import com.esri.ags.layers.supportClasses.DynamicLayerInfo;
import com.esri.ags.layers.supportClasses.LayerDetails;
import com.esri.ags.layers.supportClasses.LayerDrawingOptions;
import com.esri.ags.layers.supportClasses.LayerMapSource;
import com.esri.ags.renderers.ClassBreaksRenderer;
import com.esri.ags.tasks.supportClasses.ClassBreaksDefinition;
import com.esri.ags.tasks.supportClasses.GenerateRendererParameters;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import spark.events.IndexChangeEvent;
/**************************************
* Define variables below
**************************************/
private var dynamicLayerInfosArr:Array;
private var layerMapSource:LayerMapSource;
private var generateRendererParams:GenerateRendererParameters = new GenerateRendererParameters();
private var classBreaksDefinition:ClassBreaksDefinition = new ClassBreaksDefinition();
private var layerDetailsArr:Array = [];
private var _breakCount:Number = 5;
private var _classificationMethod:String = ClassBreaksDefinition.CLASSIFY_QUANTILE;
private var _classificationField:String = "pop2000";
[Bindable]
private var thematicAlpha:Number = 0.9;
[Bindable]
private var thematicLayerName:String;
[Bindable]
private var colorRampFromColor:uint = 0xFFFFCC;
[Bindable]
private var colorRampToColor:uint = 0x253494;
[Bindable]
private var thematicBoundaryAlpha:Number = 0.9;
private var layerMapSourceDict:Dictionary = new Dictionary();
/**************************************
* Functions below
**************************************/
protected function esriCensus_loadHandler(event:LayerEvent):void
{
dynamicLayerInfosArr = esriCensus.createDynamicLayerInfosFromLayerInfos();
detailsTask.getAllDetails();
}
protected function detailsTask_getAllDetailsCompleteHandler(event:DetailsEvent):void
{
var details:AllDetails = event.allDetails;
layerDetailsArr = details.layersDetails;
var layerDetails:LayerDetails;
for (var i:int = 0; i < layerDetailsArr.length; i++)
{
layerDetails = layerDetailsArr;
if (dynamicLayerInfosArr)
{
layerMapSource = DynamicLayerInfo(dynamicLayerInfosArr).source as LayerMapSource;
var lid:Number = layerMapSource.mapLayerId;
layerMapSourceDict = {
layermapsource: layerMapSource,
layerid: lid,
baseurl: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"
}
generateRendererTask.source = layerMapSource;
classBreaksDefinition.breakCount = _breakCount;
classBreaksDefinition.classificationField = _classificationField;
classBreaksDefinition.classificationMethod = _classificationMethod;
classBreaksDefinition.colorRamp = colorRamp;
classBreaksDefinition.baseSymbol = thematicLayerBoundary;
generateRendererParams.classificationDefinition = classBreaksDefinition;
generateRendererTask.execute(generateRendererParams);
}
}
}
protected function esriService_faultHandler(event:FaultEvent):void
{
Alert.show("Error: " + event.fault.faultString, "Error code: " + event.fault.faultCode);
}
protected function generateRendererTask_executeCompleteHandler(event:GenerateRendererEvent):void
{
var renderer:ClassBreaksRenderer = event.renderer as ClassBreaksRenderer;
var layerDrawingOptions:LayerDrawingOptions = new LayerDrawingOptions();
layerDrawingOptions.layerId = layerMapSource.mapLayerId;
layerDrawingOptions.renderer = renderer;
esriCensus.alpha = 0.9;
esriCensus.layerDrawingOptions = [ layerDrawingOptions ];
legend.refresh();
}
protected function generateRenderer():void
{
classBreaksDefinition.breakCount = _breakCount;
classBreaksDefinition.classificationField = _classificationField;
classBreaksDefinition.classificationMethod = _classificationMethod;
generateRendererParams.classificationDefinition = classBreaksDefinition;
generateRendererTask.execute(generateRendererParams);
}
private function decimalToPercentage(decimalValue:Number):String
{
var percentage:Number = decimalValue * 1000;
var roundedPercentage:Number = Math.round(percentage);
var roundedPercentage2:Number = roundedPercentage / 10;
var percentAsString:String = roundedPercentage2 + "%";
return percentAsString;
}
protected function layer_changeHandler(event:IndexChangeEvent):void
{
var selectedItem:Object = DropDownList(event.currentTarget).selectedItem;
esriCensus.visibleLayers.removeAll();
esriCensus.visibleLayers.addItem(layerMapSourceDict[selectedItem.data].layerid);
generateRendererTask.url = layerMapSourceDict[selectedItem.data].baseurl + "/" + layerMapSourceDict[selectedItem.data].layerid;
layerMapSource = layerMapSourceDict[selectedItem.data].layermapsource;
generateRenderer();
}
]]>
</fx:Script>
<fx:Declarations>
<esri:DetailsTask id="detailsTask"
fault="esriService_faultHandler(event)"
getAllDetailsComplete="detailsTask_getAllDetailsCompleteHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"/>
<esri:GenerateRendererTask id="generateRendererTask"
executeComplete="generateRendererTask_executeCompleteHandler(event)"
fault="esriService_faultHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/2"/>
<esri:AlgorithmicColorRamp id="colorRamp"
algorithm="esriHSVAlgorithm"
fromColor="{colorRampFromColor}"
toColor="{colorRampToColor}"/>
<!-- Base symbology for the boundaries of the thematic layers -->
<esri:SimpleFillSymbol id="thematicLayerBoundary" alpha="0">
<esri:SimpleLineSymbol id="thematicLayerBoundaryLine" width="1" color="0x6E6E6E" alpha="{thematicBoundaryAlpha}"/>
</esri:SimpleFillSymbol>
</fx:Declarations>
<s:controlBarContent>
<s:RichText width="100%">
Project text here...
</s:RichText>
</s:controlBarContent>
<!-- MAP ELEMENTS -->
<esri:Map id="map" logoVisible="false">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/arcgis/rest/services/Ocean_Basemap/MapServer"/>
<!-- Define the dynamic layers below -->
<esri:ArcGISDynamicMapServiceLayer id="esriCensus" name="Pop 2000"
alpha="0.9"
load="esriCensus_loadHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"
visible="true">
<esri:visibleLayers>
<s:ArrayList>
<fx:Number>2</fx:Number>
</s:ArrayList>
</esri:visibleLayers>
</esri:ArcGISDynamicMapServiceLayer>
<!-- Define the map extent below -->
<esri:extent>
<esri:Extent xmin="-16971000" ymin="615000" xmax="-4448000" ymax="8110000">
<esri:SpatialReference wkid="102100"/>
</esri:Extent>
</esri:extent>
</esri:Map>
<!-- LAYER WINDOW -->
<s:Group id="layerGroup"
width="150" height="100"
left="100" top="20">
<s:RectangularDropShadow left="0" right="0" top="0" bottom="0"
alpha="1"
angle="90"
blRadius="5"
blurX="6"
blurY="6"
brRadius="5"
color="#000000"
distance="1"
tlRadius="5"
trRadius="5"/>
<s:Rect left="0" right="0" top="0" bottom="0"
radiusX="5"
radiusY="5">
<s:fill>
<s:SolidColor alpha="0.7" color="0xC5C5C9"/>
</s:fill>
</s:Rect>
<s:VGroup width="100%"
left="5" top="5"
paddingBottom="5"
paddingLeft="5"
paddingRight="5"
paddingTop="10">
<s:HGroup width="100%"
gap="5"
verticalAlign="middle">
<s:Label text="Layer"/>
<s:DropDownList id="layerDDL"
width="100%"
change="layer_changeHandler(event)"
requireSelection="true"
selectedIndex="0">
<s:dataProvider>
<s:ArrayList>
<fx:Object data="2" label="Counties"/>
<fx:Object data="3" label="States"/>
</s:ArrayList>
</s:dataProvider>
</s:DropDownList>
</s:HGroup>
</s:VGroup>
</s:Group>
<!-- LEGEND WINDOW -->
<s:Group id="legendGroup"
width="250" height="250"
right="5" bottom="20">
<s:RectangularDropShadow left="0" right="0" top="0" bottom="0"
alpha="1"
angle="90"
blRadius="5"
blurX="6"
blurY="6"
brRadius="5"
color="#000000"
distance="1"
tlRadius="5"
trRadius="5"/>
<s:Rect left="0" right="0" top="0" bottom="0"
radiusX="5"
radiusY="5">
<s:fill>
<s:SolidColor alpha="0.7" color="0xC5C5C9"/>
</s:fill>
</s:Rect>
<esri:Legend id="legend"
left="5" right="5" top="5" bottom="5"
layers="{[esriCensus]}"
map="{map}"
skinClass="com.esri.ags.samples.skins.GRLegendSkin"
visible="{esriCensus.loaded}"/>
</s:Group>
</s:Application>
... View more
09-15-2014
11:18 AM
|
0
|
2
|
535
|
POST
|
Robert, That's perfect! Thank you so much for your help. It's great to know the community has you as a resource.
... View more
09-02-2014
06:07 AM
|
0
|
3
|
535
|
POST
|
I have a simple application where I'm generating a 5-class choropleth map using one of the ESRI demographic datasets. I want to be able to dynamically switch between different layers (i.e., states or counties) by only displaying one at a time. I'm able to render the quantiles on the initial layer (states), but when I switch to counties I can't figure out how to change the GenerateRendererTask to render the counties. I plan on implementing this code in an application with many more layers than just two, so I don't want to go about hard-coding in the switch like I've done in the layer_changeHandler function. So in addition to the help with rendering, can someone help me with a more elegant way to do that switch? Code:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import com.esri.ags.SpatialReference;
import com.esri.ags.events.DetailsEvent;
import com.esri.ags.events.GenerateRendererEvent;
import com.esri.ags.events.LayerEvent;
import com.esri.ags.geometry.Extent;
import com.esri.ags.layers.supportClasses.AllDetails;
import com.esri.ags.layers.supportClasses.DynamicLayerInfo;
import com.esri.ags.layers.supportClasses.LayerDetails;
import com.esri.ags.layers.supportClasses.LayerDrawingOptions;
import com.esri.ags.layers.supportClasses.LayerMapSource;
import com.esri.ags.renderers.ClassBreaksRenderer;
import com.esri.ags.tasks.supportClasses.ClassBreaksDefinition;
import com.esri.ags.tasks.supportClasses.GenerateRendererParameters;
import mx.controls.Alert;
import mx.events.IndexChangedEvent;
import mx.events.ItemClickEvent;
import mx.rpc.events.FaultEvent;
import spark.components.supportClasses.DropDownController;
import spark.events.IndexChangeEvent;
/**************************************
* Define variables below
**************************************/
private var dynamicLayerInfosArr:Array;
private var layerMapSource:LayerMapSource;
private var generateRendererParams:GenerateRendererParameters = new GenerateRendererParameters();
private var classBreaksDefinition:ClassBreaksDefinition = new ClassBreaksDefinition();
private var layerDetailsArr:Array = [];
private var _breakCount:Number = 5;
private var _classificationMethod:String = ClassBreaksDefinition.CLASSIFY_QUANTILE;
private var _classificationField:String = "pop2000";
[Bindable]
private var colorRampFromColor:uint = 0xFFFFCC;
[Bindable]
private var colorRampToColor:uint = 0x253494;
/**************************************
* Functions below
**************************************/
protected function esriCensus_loadHandler(event:LayerEvent):void
{
dynamicLayerInfosArr = esriCensus.createDynamicLayerInfosFromLayerInfos();
detailsTask.getAllDetails();
}
protected function detailsTask_getAllDetailsCompleteHandler(event:DetailsEvent):void
{
var details:AllDetails = event.allDetails;
layerDetailsArr = details.layersDetails;
var layerDetails:LayerDetails;
for (var i:int = 0; i < layerDetailsArr.length; i++)
{
layerDetails = layerDetailsArr;
if (layerDetails.name.toLowerCase() == "states" && dynamicLayerInfosArr)
{
layerMapSource = DynamicLayerInfo(dynamicLayerInfosArr).source as LayerMapSource;
generateRendererTask.source = layerMapSource;
classBreaksDefinition.breakCount = _breakCount;
classBreaksDefinition.classificationField = _classificationField;
classBreaksDefinition.classificationMethod = _classificationMethod;
classBreaksDefinition.colorRamp = colorRamp;
generateRendererParams.classificationDefinition = classBreaksDefinition;
generateRendererTask.execute(generateRendererParams);
}
}
}
protected function esriService_faultHandler(event:FaultEvent):void
{
Alert.show("Error: " + event.fault.faultString, "Error code: " + event.fault.faultCode);
}
protected function generateRendererTask_executeCompleteHandler(event:GenerateRendererEvent):void
{
var renderer:ClassBreaksRenderer = event.renderer as ClassBreaksRenderer;
var layerDrawingOptions:LayerDrawingOptions = new LayerDrawingOptions();
layerDrawingOptions.layerId = layerMapSource.mapLayerId; //states layer id in the service
layerDrawingOptions.renderer = renderer;
esriCensus.alpha = 0.9;
esriCensus.layerDrawingOptions = [ layerDrawingOptions ];
legend.refresh(); // refresh the legend component to keep in-sync
}
protected function generateRenderer():void
{
classBreaksDefinition.breakCount = _breakCount;
classBreaksDefinition.classificationField = _classificationField;
classBreaksDefinition.classificationMethod = _classificationMethod;
generateRendererParams.classificationDefinition = classBreaksDefinition;
classBreaksDefinition.colorRamp = colorRamp;
generateRendererTask.execute(generateRendererParams);
}
private function decimalToPercentage(decimalValue:Number):String
{
var percentage:Number = decimalValue * 1000;
var roundedPercentage:Number = Math.round(percentage);
var roundedPercentage2:Number = roundedPercentage / 10;
var percentAsString:String = roundedPercentage2 + "%";
return percentAsString;
}
protected function layer_changeHandler(event:IndexChangeEvent):void
{
var selectedItem:Object = DropDownList(event.currentTarget).selectedItem;
esriCensus.visibleLayers.removeAll();
if (selectedItem.data == "states")
{
esriCensus.visibleLayers.addItem(3);
}
else
{
esriCensus.visibleLayers.addItem(2);
}
}
]]>
</fx:Script>
<fx:Declarations>
<esri:DetailsTask id="detailsTask"
fault="esriService_faultHandler(event)"
getAllDetailsComplete="detailsTask_getAllDetailsCompleteHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"/>
<esri:GenerateRendererTask id="generateRendererTask"
executeComplete="generateRendererTask_executeCompleteHandler(event)"
fault="esriService_faultHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3"/>
<esri:AlgorithmicColorRamp id="colorRamp"
algorithm="esriHSVAlgorithm"
fromColor="{colorRampFromColor}"
toColor="{colorRampToColor}"/>
</fx:Declarations>
<s:controlBarContent>
<s:RichText width="100%">
Project text here...
</s:RichText>
</s:controlBarContent>
<!-- MAP ELEMENTS -->
<esri:Map id="map" logoVisible="false">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/arcgis/rest/services/Ocean_Basemap/MapServer"/>
<!-- Define the dynamic layers below -->
<esri:ArcGISDynamicMapServiceLayer id="esriCensus" name="Pop 2000"
alpha="0.9"
load="esriCensus_loadHandler(event)"
url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer"
visible="true">
<esri:visibleLayers>
<s:ArrayList>
<fx:Number>3</fx:Number>
</s:ArrayList>
</esri:visibleLayers>
</esri:ArcGISDynamicMapServiceLayer>
<!-- Define the map extent below -->
<esri:extent>
<esri:Extent xmin="-16971000" ymin="615000" xmax="-4448000" ymax="8110000">
<esri:SpatialReference wkid="102100"/>
</esri:Extent>
</esri:extent>
</esri:Map>
<!-- LAYER WINDOW -->
<s:Group id="layerGroup"
width="150" height="100"
left="100" top="20">
<s:RectangularDropShadow left="0" right="0" top="0" bottom="0"
alpha="1"
angle="90"
blRadius="5"
blurX="6"
blurY="6"
brRadius="5"
color="#000000"
distance="1"
tlRadius="5"
trRadius="5"/>
<s:Rect left="0" right="0" top="0" bottom="0"
radiusX="5"
radiusY="5">
<s:fill>
<s:SolidColor alpha="0.7" color="0xC5C5C9"/>
</s:fill>
</s:Rect>
<s:VGroup width="100%"
left="5" top="5"
paddingBottom="5"
paddingLeft="5"
paddingRight="5"
paddingTop="10">
<s:HGroup width="100%"
gap="5"
verticalAlign="middle">
<s:Label text="Layer"/>
<s:DropDownList width="100%"
change="layer_changeHandler(event)"
requireSelection="true"
selectedIndex="0">
<s:dataProvider>
<s:ArrayList>
<fx:Object data="states" label="States"/>
<fx:Object data="counties" label="Counties"/>
</s:ArrayList>
</s:dataProvider>
</s:DropDownList>
</s:HGroup>
</s:VGroup>
</s:Group>
<!-- LEGEND WINDOW -->
<s:Group id="legendGroup"
width="250" height="250"
right="5" bottom="20">
<s:RectangularDropShadow left="0" right="0" top="0" bottom="0"
alpha="1"
angle="90"
blRadius="5"
blurX="6"
blurY="6"
brRadius="5"
color="#000000"
distance="1"
tlRadius="5"
trRadius="5"/>
<s:Rect left="0" right="0" top="0" bottom="0"
radiusX="5"
radiusY="5">
<s:fill>
<s:SolidColor alpha="0.7" color="0xC5C5C9"/>
</s:fill>
</s:Rect>
<esri:Legend id="legend"
left="5" right="5" top="5" bottom="5"
layers="{[esriCensus]}"
map="{map}"
skinClass="com.esri.ags.samples.skins.GRLegendSkin"
visible="{esriCensus.loaded}"/>
</s:Group>
</s:Application>
... View more
08-29-2014
12:54 PM
|
0
|
5
|
3748
|
POST
|
I'm working on a widget for the Viewer for Flex. There are some elements that I disable based on certain conditions, such as the layer that is loaded or a variable that is selected. For example, I have a CheckBox that when clicked will convert a variable to a density (e.g., pop per square mile), and I disable it (enabled = false) when a rate variable is displayed. When I disable the CheckBox, I also convert the Spark Label next to it to italics and change the color to a medium gray to indicate that it is inactive. My problem arises when I want to return the Label text to the normal style and the default color (see line 17 below). In the development environment, the widget is gray and the text is white. I have hard-coded this color change, but when I move this widget over to another application that uses a different color scheme with black text, then the Label suddenly stands out wrong because I'm coloring it white. What I really want to do is to read the text color that is specified in the main config.xml file for the viewer application and assign that color in line 17. How do I read that from inside a widget?
protected function classificationFieldsDDL_changeHandler(event:IndexChangeEvent):void
{
classificationField = DropDownList(event.currentTarget).selectedItem.data;
classificationFieldAlias = DropDownList(event.currentTarget).selectedItem.label;
classificationFieldNormalize = DropDownList(event.currentTarget).selectedItem.norm;
if (classificationFieldNormalize == '0')
{
normalizationChkBx.selected = false;
normalizationChkBx.enabled = false;
normalizationLabel.setStyle('fontStyle', 'italic');
normalizationLabel.setStyle('color', '0xa0a0a0');
}
else
{
normalizationChkBx.enabled = true;
normalizationLabel.setStyle('fontStyle', 'normal');
normalizationLabel.setStyle('color', '0xffffff');
}
generateRenderer();
}
... View more
07-18-2014
12:11 PM
|
0
|
3
|
1508
|
POST
|
I'm making some modifications to the Thematic Widget (http://www.arcgis.com/home/item.html?id=ced1ad5fe30f4304adb056cdcbdc9ad0) for our site, and I've been asked to include counts of features in the legend. Has anyone done this before? I'm still relatively new to the Flex API, so I'm not sure where to look to find any methods that will calculate counts of features in categories generated with a classification renderer on a dynamic layer. It would obviously need to update the counts when the classification type switches from Quantile to Equal Interval to Natural Breaks, etc.
... View more
05-29-2014
05:26 AM
|
0
|
0
|
620
|
POST
|
Here's the config file. I checked it again and verified that closing the Swipe Spotlight Widget makes the dynamic layers disappear. I believe they are simply ordered below the gray canvas.
... View more
03-18-2014
09:59 AM
|
0
|
0
|
492
|
POST
|
I discovered the source of the problem, but not the solution. When I click the dropdown menus for Top Layer and Bottom Layer, my default basemap (Light Gray Canvas) is listed at the top, above all of my operational layers. So when I close the widget, it reorders that basemap on top of all other layers. All other basemaps appear at the bottom of those two dropdown menus, so if I change the basemap my operational layers show up again. I tried moving my <basemaps> section of code below my <operationallayers> section but that didn't make any difference. Any thoughts on this?
... View more
03-14-2014
08:26 AM
|
0
|
0
|
492
|
POST
|
I'm testing out the Swipe Spotlight Widget in App Builder 3.6. It works incredibly well, but when I close it my top layer disappears. It's almost as if it's setting the transparency to 100%, because my popups still work. Any idea why this is happening?
... View more
03-13-2014
12:25 PM
|
0
|
0
|
492
|
POST
|
I have a feature class of roads, and each feature has separate elevation values (Z) for the nodes. I would like to display this data three-dimensionally, but using both Z values so roads that have one end higher than the other appear to slope. I cannot find any tools anywhere that will let me use more than one Z value for vector features. Does anyone have any idea how this can be done? Sincerely, Brian Frizzelle Spatial Analysis Services Carolina Population Center University of North Carolina at Chapel Hill
... View more
11-19-2010
10:10 AM
|
0
|
0
|
413
|
POST
|
I have an application where I need to calculate several different possible routes between origin and destination points on a road network. The best option that I can come up with at this time is what is commonly called the kth best route, which would return the shortest route, the second shortest, third shortest, etc. I've searched around on the web for a solution to this and have come up empty. Does anyone have any experience with this, or do you know if it is possible to extract this information out of Network Analyst? Any help you can provide would be most appreciated. Brian Frizzelle
... View more
05-11-2010
04:42 AM
|
0
|
2
|
4182
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|