Working with Layers

[ezcol_2third]


Common Functionality

All native CMaps layers, like points, shapes, lines, heatmaps, etc., share the same
useful common features, such as alerts, drilling, client-side filtering, etc.
However, due to security constraints in private 3rd party layer situations (e.g. Named Maps in CartoDB),
not all layers can share the exact same functionality as
the native CMaps layers.

Most functionality – 3rd party layers permitting data access

Any time we can get access to the underlying layer metadata from a 3rd party system, we
implement the functionality as-seen in our native layers (like alerts and drilling) so long as there aren’t restrictions
we can’t overcome. For example, CartoDB Public/Anonymous maps can use CMaps alerts and drilling, because we
can get access to the corresponding metadata and subsequently make changes to the layer using their API.

Lowest common denominator – 3rd party private layers

At the bare minimum in the most restrictive security situations, “private data”
layers can be at least given a name and have their
visibility toggled on the map. For example, CartoDB Named/Private maps cannot use CMaps alerts or drilling, because we
cannot get access to the corresponding metadata or make changes to the layer using their API.

Lowest common denominator functions

 

//Shows layer
cMap.showLayer(layer);
//Hides layer
cMap.hideLayer(layer);

//Hides layer 1, shows layer 2
cMap.layersVisible([false, true]);

//Disables mouse for layer 1, enables mouse for layer 2
cMap.layersMouseEnabled([false, true]);

//Half-transparency for layer 1, full opacity for layer 2
cMap.layersTransparency([.5, 1]);

Alerts

Multiple alert types are supported and are driven by the data. You can do things like change the colors/visibility of objects, as well
as change icon types as they cross alert thresholds, for points layers.

For a complete list of functionality, check out the API Reference.

Target Based

 

cMap = new centigon.locationIntelligence.MapView();

cMap.layerNames(["Layer Metrics"]).values([[10,220,300,400,505]]).locations([["Alaska", "Arizona", "Arkansas", "California", "Colorado"]]);

cMap.key("centigondemoservers");

cMap.alertIsHighGood([true]).
	alertTargetEnabled([true]).
	alertEnabled([true]).
	alertTypes(["type-target"]).
	alertTargets([[10,200]]).
	alertLimits([[10,150]]).
	alertColors([["c0c0c0","008800","#800080"]]).
	alertIcons([["pin","pin"]]);

Value Based

 

cMap = new centigon.locationIntelligence.MapView();

cMap.layerNames(["Layer Metrics"]).values([[10,20,30,40,505]]).locations([["Alaska", "Arizona", "Arkansas", "California", "Colorado"]]);

cMap.key("centigondemoservers");

cMap.alertIsHighGood([true]).
	alertTargetEnabled([false]).
	alertEnabled([true]).
	alertTypes(["type-value"]).
	alertTargets([[10,500]]).
	alertLimits([[10,500]]).
	alertColors([["c0c0c0","008800","#800080"]]).
	alertIcons([["pin","pin"]]);

Choropleth

 

var cMap = new centigon.locationIntelligence.MapView();
cMap.key([your_api_key]);

	
var locations = ['32.715738,-117.161084','34.052234,-118.243685',
				'36.715738,-114.161084','32.515738,-115.161084',
				'37.715738,-111.161084','33.715738,-114.161084'];

cMap.alertEnabled([true]).
	alertColors([["#FF0000","#FFFF00","#00FF00"]]).
	alertTypes(["type-choropleth"]);

cMap.layerNames(["Layer Metrics"]).values([[10,20,30,40,50,60]]).locations([locations]);

cMap.useDynamicZoom(true);

Utility functions

It can be helpful when developing applications to get the same alert colors out of the map for
other controls on the page, such as a column chart that wanted to use the same alert colors/logic
as the corresponding layer.

 

//layerIx, Data Values
cMap.getLayerAlertColors(0, [20,50,60,80]);

Drilling

Drilling is handled the same across all layers, it’s all based on keys which are just string values. Below is an example of
a higher-level shape layer with 4 Regions, drilling into the underlying states, in a separate layer. Further, a button is
appended that shows how to programatically trigger drills, so that in addition to the user cliking the map to drill, other
elements in your app can be used to trigger drilling.

Region – To States drill example

 

var cMap = new centigon.locationIntelligence.MapView();
				
cMap.key([your_api_key]);

$("#"+cMap.getDivId()).append('<button id="btnDrillToWest" style="position:absolute;top:0px;left:0px;">Drill to Western States<button>');

var that = this;
$("#btnDrillToWest").click(
	function(){
		that.cMap.triggerLayerChildClick(0,3);
	}
);

cMap.layerNames(["Regions", "States"]);

cMap.layersVisibility([true, false]);
cMap.dbfKeys([["MidWest","South","East","West"], ['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming']]);
cMap.userShapeKeys([["MidWest","South","East","West"], ['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 
cMap.labels([["MidWest","South","East","West"], ['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 

cMap.drillParents(["none",0]); 

cMap.drillIds([["MidWest", "South", "East", "West"], 
['East','MidWest','West','MidWest','West','West','West','West','West','West',
'West','West','West','West','West','South','MidWest','MidWest','MidWest','MidWest',
'MidWest','MidWest','South','South','East','East','East','East','South','South',
'South','South','South','MidWest','MidWest','South','South','MidWest','South','East',
'MidWest','East','East','East','East','East','East','East','East','MidWest',
'West']]);
cMap.drillLevels([1,2]);
cMap.drillEventTriggers(["layerclicked","layerclicked"]);

cMap.polyDataSources([centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER, centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER]);
cMap.layerTypes([centigon.mapping.Layer.TYPE.POLY, centigon.mapping.Layer.TYPE.POLY]);
cMap.locations([["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usregions4.shp"],
					 ["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp"]]);

cMap.panTo("USA");
cMap.zoomLevel(3);

Point-to-Shape Visibility Binding

Any Shapes/Regions or Radius layer can have any points/markers layers bound to it. This essentially creates a boundary filter,
where the bound points layer’s object’s visibility gets turned off/on based on whether it’s in the currently selected shape or if no shape’s selected,
whether or not the points fall within the overall shape(s) bounds.

Assuming a Shapes/Regions/Radius layer is Layer #1 in a 3-layer map, the code below
would bind Layers 2 and 3 (assuming they’re points layers) to Layer 1. So as a user clicks shapes in Layer 1,
Layers 2 & 3 will have their displays filtered down to what falls within Layer 1’s selected shape(s).

 

var lyr1AppearanceOpts = {markerlayerbindings: "2,3"};
cMap.layerAppearanceOptions([[lyr1AppearanceOpts]]);

Custom Layers

From D3 to anything HTML/JS based, custom layers can be added to the map. The map will notify
when the layer should be redrawn. Several utilities are made available when using custom layers that help to translate
location data to x,y coordinate data, etc. For more details, refer to the API Reference and API Examples page.

Basic stubs for a custom layer

 

var cMap = new centigon.locationIntelligence.MapView();
cMap.key([your_api_key]);

var overlay;
cMap.renderCustomLayer = function(layer){
				
	if(!overlay){
		overlay = cMap.getCustomBaseMapOverlay();

		// Add the container when the overlay is added to the map.
		overlay.onAdd = function() {
		
			draw();
		}

		overlay.draw = draw;
		cMap.registerCustomLayer(overlay);
	}
}

cMap.renderCustomLayerSelected = function(layer){
	console.log("renderCustomLayerSelected");
}

cMap.layerNames(["My Custom Layer"]).
layerTypes([centigon.mapping.Layer.TYPE.CUSTOM]);

Points Layers

Special appearance options for a points layer

 

//Enables a log scale
cMap.layersLogScaleEnabled([true, false]);
//Enables dynamic sizing
cMap.layersDynamicSizeEnabled([true, false]);
/*Sets default layer object sizes. 
Dynamic sizing uses the layer's 
size as an upper limit when generating 
the dynamic sizes.*/
cMap.defaultLayerSizes([22, 20]);

Shape Layers

Mapping business data to an ESRI Shapefile

To simplify things, grant more flexibility and reduce network latency, we only consume the ESRI .shp file and
don’t download the traditional acompnaying files, like the .shx and .dbf. Instead, you tell the layer which order the shapes are in by
using the dbfKeys property, and then you define the order in which your business data is in, using the same keys, but
in the order in which your business data occurs using the userShapeKeys property. This frees you up to work more
flexibly/dynamically with business data on the client side.

 

var cMap = new centigon.locationIntelligence.MapView();
cMap.key([your_api_key]);

cMap.layerNames(["Basic Shapes"]);
cMap.dbfKeys([['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming']]);
cMap.userShapeKeys([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 
cMap.labels([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 

cMap.polyDataSources([centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER]);
cMap.layerTypes([centigon.mapping.Layer.TYPE.POLY]);
cMap.locations([["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp"]]);

cMap.panTo("USA");
cMap.zoomLevel(3);

Shape layer special properties

 

//Show/hide shape outlines
cMap.polyOutlinesEnabled([true, false]);
//Black outline for layers 1 & 2
cMap.polyOutlineColors(["#000000", "#000000"]);
//Make shape layer 2 have transparent shapes with a black border
cMap.transparentFillEnabled([false, true]);

//Get location bounds of the layer
cMap.getShapeLayerBounds(layer);

3rd Party Layers

CartoDB Layers

Refer to the CartoDB Docs for more information regarding your specific requirements.

It’s recommended to create CartoDB layers using the CMaps Desginer, for ease-of-use. However, here’s
how to create them from the api.

Public

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	cartoDBJsonVizURL: "..../viz.json",
	cartoDBSqlQuery: "SELECT * FROM world_borders_hd",
	cartoDBMeasFieldName: "null",
	cartoDBDrillColName: "null",
	cartoDBSubLayerId: "[layer uid]",
	useLayerSpecificApiInfWins: true | false,
	useLayerSpecificApiTooltips: true | false
}

cMap.layerNames(["CartoDB"]).
layerTypes([centigon.mapping.Layer.TYPE.CARTODB]).
thirdPartyLayerOptions([opts]);

cMap.key("[your_cmaps_api_key]");

Public Torque

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	cartoDBMapLayerTorqueCSS: "",//Optional CartoCSS
	cartoDBJsonVizURL: "..../viz.json"
}

cMap.layerNames(["CartoDB"]).
layerTypes([centigon.mapping.Layer.TYPE.CARTODB]).
thirdPartyLayerOptions([opts]);
					

Private

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	cartoDBMapLayerInteractivity: "",
	cartoDBMapLayerName: "your_cartodb_sublayer_uid",
	cartoDBAuthKey: "your_cartodb_auth_token",
	cartoDBUsername: "your_cartodb_username",
	cartoDBMapName: "your_cartodb_mapname",
	useLayerSpecificApiInfWins: true | false,
	useLayerSpecificApiTooltips: true | false
}

cMap.layerNames(["CartoDB"]).
layerTypes([centigon.mapping.Layer.TYPE.CARTODB]).
thirdPartyLayerOptions([opts]);
					

Private Torque

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	cartoDBMapLayerInteractivity: "",
	cartoDBMapLayerTorqueCSS: "",//Optional CartoCSS
	cartoDBMapLayerName: "your_cartodb_sublayer_uid",
	cartoDBAuthKey: "your_cartodb_auth_token",
	cartoDBUsername: "your_cartodb_username",
	cartoDBMapName: "your_cartodb_mapname",
	useLayerSpecificApiInfWins: true | false,
	useLayerSpecificApiTooltips: true | false
}

cMap.layerNames(["CartoDB"]).
layerTypes([centigon.mapping.Layer.TYPE.CARTODB]).
thirdPartyLayerOptions([opts]);
					

ESRI Layers

ESRI Feature Service

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	esriMapServerURL: "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer"
}

cMap.layerNames(["CartoDB"]).
layerTypes([centigon.mapping.Layer.TYPE.ESRI_MULTI_LAYER_IMAGE]).
thirdPartyLayerOptions([opts]);
					

ESRI-Powered CMaps Points

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	esriMapServerURL: "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer/3"
}

cMap.layerNames(["ESRI-Data-Powered CMaps Points"]).
layerTypes([centigon.mapping.Layer.TYPE.ESRI_MARKER]).
thirdPartyLayerOptions([opts]);
					

ESRI-Powered CMaps Shapes

 

var cMap = new centigon.locationIntelligence.MapView();
			
var opts = {
	esriMapServerURL: "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/0"
}

cMap.layerNames(["ESRI-Data-Powered CMaps Shapes"]).
layerTypes([centigon.mapping.Layer.TYPE.ESRI_SHAPE]).
thirdPartyLayerOptions([opts]);
					

Designer Configuration Property-to-Layer Functionality Matrix

The table below shows the relationship/mapping between Config file (JSON, XML) and MapView properties as well as the layer-specific support for each.

nameDetermines each layer’s display namelayerNames
YYYYYYYYYYYYYYYYYYYYYYYYYY

JSON/Cfg property Description Cmap prop points text heatmap bubble shapes drivetimepolygon clusterdrill circle custom directions CARTO Regular CARTO Torque CARTO Named CARTO Named Torque ESRI MultiLayerImage drivetimemarkers hubspoke indoor line places poly radius advancedsankey voronoi wms buffer
description Used by the Designer as a reference Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
esriMapServerURL The base url of the ESRI map server, e.g. http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer layerOptions N N N N N N N N N N N N N N Y N N N N N N N N N N N
esriMapServerLayerName The layer name part url of the ESRI map server, e.g. 3 layerOptions N N N N N N N N N N N N N N Y N N N N N N N N N N N
type Text that coresponds to the layer’s type layerTypes points text heatmap bubble polygon drivetimepolygon clusterdrill circle custom directions cartodb cartodbtorque cartodbnamed cartodbnamedtorque esrimultilayerimage drivetimemarkers hubspoke indoor line places poly radius advancedsankey voronoi wms buffer
sankeyJsonData A JSON override payload that’s optional for Sankey layers. If this property is filled with JSON data, then the map will not try to build the diagram from the locations/labels/categories, etc, like usual. layerOptions N N N N N N N N N N N N N N N N N N N N N N Y N N N
cartoDBJsonVizURL URL that points to the Carto layer(s) layerOptions N N N N N N N N N N Y Y N N N N N N N N N N N N N N
cartoDBSubLayerId Sub layer that points to a Carto sub layer layerOptions N N N N N N N N N N Y N Y N N N N N N N N N N N N N
cartoDBUser User name for carto account layerOptions N N N N N N N N N N Y Y N N N N N N N N N N N N N N
cartoDBSqlQuery Override the default Carto SQL layerOptions N N N N N N N N N N Y N N N N N N N N N N N N N N N
cartoDBMeasFieldName Defines the measure field name so the layer can use alerts layerOptions N N N N N N N N N N Y N N N N N N N N N N N N N N N
cartoDBDrillColName Defines the drill field name so the layer can use drilling layerOptions N N N N N N N N N N Y N N N N N N N N N N N N N N N
cartoDBTorqueJsonVizURL URL that points to the Torque Visualization layerOptions N N N N N N N N N N N Y N N N N N N N N N N N N N N
cartoDBUsername Special user name specific to Named Maps only layerOptions N N N N N N N N N N N N Y Y N N N N N N N N N N N N
cartoDBMapName Name of the Named Map being requested layerOptions N N N N N N N N N N N N Y Y N N N N N N N N N N N N
cartoDBAuthKey Special auth key specific to Named Maps only layerOptions N N N N N N N N N N N N Y Y N N N N N N N N N N N N
cartoDBMapLayerName Name of the Named Map layer being requested layerOptions N N N N N N N N N N N N Y Y N N N N N N N N N N N N
cartoDBMapLayerInteractivity Special property that defines/overrides how a layer can be interacted with layerOptions N N N N N N N N N N Y Y Y Y N N N N N N N N N N N N
cartoDBMapLayerTorqueCSS Special CSS for overriding Torque CSS/setting the Carto “tile_style” layerOptions N N N N N N N N N N N N N Y N N N N N N N N N N N N
cartoDBMapLayerUseHttps Tells Carto to load HTTPS or HTTP. Named maps require HTTPS and using HTTP on them will error out. layerOptions N N N N N N N N N N Y Y Y Y N N N N N N N N N N N N
useLayerSpecificApiInfWins Determines if Carto/ESRI or Cmaps infowindows get used layerOptions N N N N N N N N N N Y Y Y Y Y N N N N N N N N N N N
useLayerSpecificApiTooltips Determines if Carto or Cmaps hover tooltips get used layerOptions N N N N N N N N N N Y Y Y Y N N N N N N N N N N N N
indoorMapUrl used by centigon.mapping.CMapDesignerCfgParser to fetch a given indoor map’s XML definition locations N N N N N N N N N N N N N N N N N Y N N N N N N N N
bufferDependentLayer Used by the BufferLayer. This property corresponds to the index of the shape or line layer that the buffer layer should use, to base its starting geometry on. layerOptions N N N N N N N N N N N N N N N N N N N N N N N N N Y
bufferDistUnit Unit of measure (feet, meters, miles, etc) to base the calculated buffer on. layerOptions N N N N N N N N N N N N N N N N N N N N N N N N N Y
bufferPlacement Used by the BufferLayer. “front” or “back”, zindex behavior layerOptions N N N N N N N N N N N N N N N N N N N N N N N N N Y
shapeFileType Array of String values that need to equal the number of layers present, that are used to determine a poly layer’s data source type. polyDataSources N N N N Y N N N N N N N N N N N N N N N N N N N N N
shapeFileUrl Points to given ESRI shapefile or geojson shapefile locations N N N N Y N N N N N N N N N N N N N N N N N N N N N
shapeGeocoderLevel Admin level being used layerOptions N N N N Y N N N N N N N N N N N N N N N N N N N N N
dataKeysUrl used by centigon.mapping.CMapDesignerCfgParser to fetch a layer’s shape keys dbfKeys N N N N Y N N N N N N N N N N N N N N N N N N N N N
dataSourceType used by centigon.mapping.CMapDesignerCfgParser to determine how to fetch/parse a given layer’s data source Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
dataSource used by centigon.mapping.CMapDesignerCfgParser to fetch/parse a given layer’s data source and set the corresponding cmap properties locations
labels
values
categories
times
measures
targets
drillids
colors
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
dataSourceFirstRowTitles used by centigon.mapping.CMapDesignerCfgParser during parsing, to treat the first row as headers or not Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
dataSourceColumnDefs used by centigon.mapping.CMapDesignerCfgParser to determine how to parse a given layer’s data source Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
transparency Layer transparency layersTransparency Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
enabled Mouse enabled status layersMouseEnabled Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
iconSize Default icon size defaultLayerSizes Y Y Y N N N Y N N N N N N N N N N N N N N N N Y N N
iconType Default icon type defaultLayerIcons Y Y N Y N Y
clusterStyle Manage appearance & behavior of clusters clusterStyles N N N N N N Y N N N N N N N N N N N N N N N N N N N
clusterRadiusUnitOfMeasure Manage appearance & behavior of clusters clusterOptions N N N N N N Y N N N N N N N N N N N N N N N N N N N
clusterRadiusDistance Manage appearance & behavior of clusters clusterOptions N N N N N N Y N N N N N N N N N N N N N N N N N N N
dynamicSizeEnabled Dynamic sizing enabled status layersDynamicSizeEnabled Y Y N Y N N N N N N N N N N N N N N N N N N N N N N
useLogScale Use log scale for sizing for large differences in values layersLogScaleEnabled Y Y N Y N N N N N N N N N N N N N N N N N N N N N N
visibility Visibility layersVisible Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
minZoomVis Determines layer visibility on zoom, based on any set min & max zoom level layerOptions Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
maxZoomVis Determines layer visibility on zoom, based on any set min & max zoom level layerOptions Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
drillLevel Layer’s drill level drillLevels Y Y Y Y Y N Y Y Y N Y N N N N N Y N Y N Y Y Y Y Y Y
drillEventTrigger Determines event that triggers the drill drillEventTriggers Y Y Y Y Y N Y Y Y N Y N N N N N Y N Y N Y Y Y Y Y Y
drillParent Drill parent layer drillParents Y Y Y Y Y N Y Y Y N Y N N N N N Y N Y N Y Y Y Y Y Y
drillVisibilityOverride Remain Visible When Drilling drillVisibilityOverrides Y Y Y Y Y N Y Y Y N Y N N N N N Y N Y N Y Y Y Y Y Y
useCurrentLocationAsStartPoint Uses the device’s current location as the starting location layerOptions N N N N N Y N N N Y N N N N N N N N N N N N N N N N
travelMode Travel mode – walking, driving, etc layerOptions N N N N N N N N N N N N N N N Y N N N N N N N N N N
travelUnits Unit of measure (feet, meters, miles, etc) layerOptions N N N N N N N N N N N N N N N Y N N N N N N N N N N
markerLayerBindings CSV of points layer indices used to bind their point visibility to the bounds of the controlling layer layerOptions N N N N Y Y N N N N N N N N N N N N N N N Y N N N N
useCacheDriveTimePolyService Tells drivetime service to pull from cache or not layerOptions N N N N N Y N N N N N N N N N N N N N N N N N N N N
wmsURL The base url of the wms service layerOptions N N N N N N N N N N N N N N N N N N N N N N N N Y N
wmsStyleString The style part of the wms url layerOptions N N N N N N N N N N N N N N N N N N N N N N N N Y N
wmsLayerString The layer part of the wms url layerOptions N N N N N N N N N N N N N N N N N N N N N N N N Y N
layerColor Determines each layer’s default color. defaultLayerColors Y Y N Y Y Y Y Y Y Y N N N N N Y Y N Y Y Y Y Y Y N Y
alerts Determines each layer’s alert configuration alertTypes
alertIconSwitchingEnabledalertTargetEnabled
alertIsHighGood
alertEnabled
alertDefaultColors
alertDefaultIcons
alertTargets
alertLimits
alertColors
alertIcons
Y Y N Y Y Y N Y Y N Y N N N N Y Y Y Y N Y Y Y Y Y Y
[/ezcol_2third] [ezcol_1third_end] [post-content id=7776] [/ezcol_1third_end]