Skip to content

Instantly share code, notes, and snippets.

@ca0v
Created June 7, 2016 12:48
Show Gist options
  • Save ca0v/74e33ee9ac7a6d8c5348c23fc728f5e2 to your computer and use it in GitHub Desktop.
Save ca0v/74e33ee9ac7a6d8c5348c23fc728f5e2 to your computer and use it in GitHub Desktop.
<CONFIG>
<GISCONFIG Enabled="True" LocalOnly="True" SourceProj4="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs " SpatialReference="3421" TargetProj4="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs " TargetSpatialReference="4326" />
<MAPLETS>
<Maplet about="Provides basic map functionality including default projections, basemaps, initial extent, ips symbology rules" id="base" text="RhythmGIS">
<MAP>
<VIEWPORT about="Greenville" extent="-82.3,34.8,-82.1,35" />
<LAYERS>
<LAYER basemap="True" id="mapquest-osm" maxlevel="20" minlevel="10" text="Map Quest" type="app/layer-factory/native">
<OPTIONS>
<Values id="layerType" value="mapquest" />
<Values id="layerStyle" value="osm" />
<Values id="visible" value="true" />
</OPTIONS>
</LAYER>
</LAYERS>
<OPTIONS>
<Values id="region" value="maplet-region" />
</OPTIONS>
<SYMBOLOGY iconheight="48" iconwidth="48">
<SYMBOL id="*" label="[PrettyName] Key# [PrimaryKey]">
<ICON id="MapPin.png" />
</SYMBOL>
</SYMBOLOGY>
</MAP>
<COMMANDS>
<COMMAND about="defines available proj4 projections" id="add-projection" mid="app/commands/add-projection" type="startup">
<OPTIONS>
<Values id="EPSG:102707" value="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=7999999.999999999 +datum=NAD83 +units=us-ft +no_defs" />
<Values id="EPSG:3421" value="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs" />
<Values id="EPSG:4269" value="+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs" />
<Values id="EPSG:102113" value="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs" />
<Values id="EPSG:3857" value="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs" />
<Values id="EPSG:26729" value="+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs" />
<Values id="EPSG:102726" value="+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs" />
<Values id="EPSG:102100" value="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs" />
<Values id="EPSG:2193" value="+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" />
</OPTIONS>
</COMMAND>
<COMMAND about="Adds ol3 layer switcher to the ol3 map, see https://github.com/walkermatt/ol3-layerswitcher" disabled="False" id="layer-switcher" mid="app/commands/layer-switcher" text="Layer Switcher" type="startup" />
<COMMAND about="watches the feature collection and keeps it in sync with a vector layer" disabled="False" id="feature-collection-handler" mid="app/commands/feature-collection-handler" type="startup" />
<COMMAND about="display mouse coordinates in lower-left corner of map" id="map-hover-handler" mid="app/commands/map-hover-handler" type="startup">
<OPTIONS>
<Values id="projection" value="EPSG:4326" />
<Values id="class-name" value="mouse-coordinates-position" />
<Values id="default-markup" value="" />
<Values about="Display precision to 1 decimeter" id="fractions" value="4" />
</OPTIONS>
</COMMAND>
</COMMANDS>
<EVENTS>
<EVENT about="Allows commands to execute via trigger(&quot;command&quot;, args), facilitates command interception" event="command" id="command-handler" mid="app/commands/command-handler" />
<EVENT about="extension placeholder, logs the maps viewstate" event="map-resolution" id="map-event-handler" mid="app/commands/map-event-handler" />
<EVENT about="Highlight feature when cursor moves over it" disabled="True" event="feature-hover" id="feature-hover-handler" mid="app/commands/feature-highlight-handler">
<OPTIONS>
<Values about="Identify styling rules for features under the cursor" id="symbology" value="hover" />
</OPTIONS>
</EVENT>
<EVENT about="Add features to the grid" disabled="True" event="show-in-grid" id="show-in-grid-handler" mid="app/commands/render-features">
<OPTIONS>
<Values id="grid" value="true" />
<Values id="map" value="false" />
</OPTIONS>
</EVENT>
<EVENT about="Add features on the map" event="show-in-map" id="show-in-map-handler" mid="app/commands/render-features">
<OPTIONS>
<Values id="grid" value="false" />
<Values id="map" value="true" />
</OPTIONS>
</EVENT>
<EVENT about="Opens an infoviewer on the map" event="show-info,show-marker-info" id="show-info-handler" mid="app/commands/popup-tool" />
<EVENT about="If layer is decorated with an extent then ensure that extent is visible when layer is made visible" event="show-layer" id="show-layer-handler" mid="app/commands/show-layer-handler">
<OPTIONS>
<Values id="panmap" value="true" />
<Values id="zoommap" value="true" />
</OPTIONS>
</EVENT>
<EVENT event="geoquery-result" id="geoquery-result-handler" mid="app/commands/geoquery-result-handler" text="Query Results" type="geoquery-form">
<OPTIONS>
<Values about="overrides auto-zoom configuration to ensure map pans" id="panmap" value="true" />
<Values about="overrides auto-zoom configuration to ensure map zooms" id="zoommap" value="true" />
<Values about="show the feature on the map and pan+zoom the feature(s) into view" id="event" value="show-in-map,auto-zoom" />
</OPTIONS>
</EVENT>
<EVENT about="Add &quot;growl&quot; handler to support notifying user when no results are found" disabled="True" event="growl" id="growl" mid="app/commands/growl">
<OPTIONS>
<Values about="Clear message after 5 seconds" id="remove-delay" value="5" />
</OPTIONS>
</EVENT>
</EVENTS>
<OPTIONS>
<Values id="region" value="applet-region" />
</OPTIONS>
</Maplet>
<Maplet about="base configuration for rhythm civics" id="rhythm-civics-base" parentId="base" text="Civics Maplet">
<MAP>
<SYMBOLOGY>
<SYMBOL about="Default symbolizer" id="*" label="&lt;%= computedDescription %&gt;" template="app/templates/civics-infoviewer-template">
<ICON id="*" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;silver-pink.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1&#xD;&#xA; }&#xD;&#xA;}" type="style" />
<ICON about="Service Request" id="ServiceRequest.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [0,255,255], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%= _dataType %&gt;&lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="ServiceRequest,serviceRequest" />
</FILTERS>
</ICON>
<ICON id="Planning_Application.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [128,128,128,1], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;Planning &lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" template="app/templates/civics-infoviewer-template" type="style">
<FILTERS>
<FILTER id="_dataType" value="planning,Planning" />
</FILTERS>
</ICON>
<ICON id="License_Application.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [128,128,0], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%= _dataType %&gt;&lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="businessLicense,BusinessLicense" />
</FILTERS>
</ICON>
<ICON id="Building_Review.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [128,190,256], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;Building &lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="building,Building" />
</FILTERS>
</ICON>
<ICON id="Project_Application.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYUnits&quot;: &quot;pixels&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 62,&#xD;&#xA; &quot;color&quot;: [0,255,128], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%= _dataType %&gt;&lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="project,Project" />
</FILTERS>
</ICON>
<ICON id="Use_Application.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [255,128,0], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%= _dataType %&gt;&lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="use,Use" />
</FILTERS>
</ICON>
<ICON id="Case.png" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 1,&#xD;&#xA; &quot;color&quot;: [128,255,128], &quot;opacity&quot;: 0.5&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%= _dataType %&gt;&lt;%= applicationNumber %&gt;&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="codeEnforcement,CodeEnforcement" />
</FILTERS>
</ICON>
<ICON id="trade-license" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;fill&quot;: {&#xD;&#xA; &quot;type&quot;: &quot;sfs&quot;,&#xD;&#xA; &quot;style&quot;: &quot;solid&quot;,&#xD;&#xA; &quot;color&quot;: [0, 197, 0, 0.1]&#xD;&#xA; },&#xD;&#xA; &quot;outline&quot;: {&#xD;&#xA; &quot;type&quot;: &quot;sls&quot;,&#xD;&#xA; &quot;style&quot;: &quot;solid&quot;,&#xD;&#xA; &quot;color&quot;: [50, 0, 0, 0.5],&#xD;&#xA; &quot;width&quot;: 4&#xD;&#xA; },&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;type&quot;: &quot;icon&quot;,&#xD;&#xA; &quot;icon&quot;: &quot;Building_Application.png&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="_dataType" value="tradeLicense,TradeLicense" />
</FILTERS>
</ICON>
<ICON id="address-marker" label="&lt;address&gt;&lt;%= text %&gt;&lt;/address&gt;" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchor&quot;: [0.5, 1.0],&#xD;&#xA; &quot;color&quot;: [255, 0, 0], &#xD;&#xA; &quot;opacity&quot;: 0.5,&#xD;&#xA; &quot;scale&quot;: 0.75&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;&lt;%=text %&gt;&quot;,&#xD;&#xA; &quot;textAlign&quot;: &quot;center&quot;,&#xD;&#xA; &quot;textBaseline&quot;: &quot;top&quot;&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER id="type" value="address" />
</FILTERS>
</ICON>
<ICON id="text-only-marker" label="&lt;address&gt;&lt;%= text %&gt;&lt;/address&gt;" style="{&quot;type&quot;:&quot;circle&quot;,&quot;radius&quot;:7,&quot;fill&quot;:{&quot;color&quot;:[247,96,84]}}" type="style">
<FILTERS>
<FILTER id="type" value="text,address" />
</FILTERS>
</ICON>
</SYMBOL>
<SYMBOL id="properties" label="&lt;%= PROPID %&gt; - &lt;%= PROPNAME %&gt; &lt;h6&gt;&lt;%= Comment %&gt;&lt;/h6&gt;">
<ICON id="*" style="{&quot;type&quot;:&quot;sfs&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;color&quot;:[0,246,0,0.5],&quot;outline&quot;:{&quot;type&quot;:&quot;sls&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;color&quot;:[246,103,197],&quot;width&quot;:1}}" type="style" />
</SYMBOL>
<SYMBOL id="parcels" label="&lt;address&gt;&lt;%= OWNER %&gt;&lt;br/&gt;&lt;%= ADDRESS1 %&gt;&lt;br/&gt;&lt;%= ADDRESS2 %&gt;&lt;/address&gt;">
<ICON id="*" style="{&quot;type&quot;:&quot;sfs&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;color&quot;:[8,150,234,0.5],&quot;outline&quot;:{&quot;type&quot;:&quot;sls&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;color&quot;:[246,103,197],&quot;width&quot;:1}}" type="style" />
</SYMBOL>
<SYMBOL about="ips addresses" id="addresses" label="&lt;%= displayText %&gt;">
<ICON id="*" label="&lt;address&gt;&lt;%= displayText %&gt;&lt;/address&gt;" style="{&quot;type&quot;:&quot;circle&quot;,&quot;radius&quot;:7,&quot;fill&quot;:{&quot;color&quot;:[247,96,84]}}" type="style" />
<ICON id="DINNING" label="&lt;address&gt;&lt;%= displayText %&gt;&lt;/address&gt;" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;MapPin.png&quot;,&#xD;&#xA; &quot;anchorYUnits&quot;: &quot;pixels&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 33&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER about="Render DINNING addresses as markers as offset icons" id="streetName" value="DINNING" />
</FILTERS>
</ICON>
<ICON id="ips-address" label="&lt;address&gt;&#xD;&#xA;&lt;%= OWNER %&gt;&lt;br/&gt;&#xD;&#xA;&lt;%= STRNO %&gt; &lt;%= STRNAME %&gt; &lt;%= STRTYPE %&gt;&lt;br/&gt;&#xD;&#xA;&lt;%= CITY %&gt; &lt;%= STATE %&gt; &lt;%= ZIP %&gt;&#xD;&#xA;&lt;/address&gt;" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;MapPin.png&quot;,&#xD;&#xA; &quot;anchorYUnits&quot;: &quot;pixels&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 33&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER about="IPS Address" id="AddrType" value="A" />
</FILTERS>
</ICON>
</SYMBOL>
<SYMBOL about="IPS service requests directly from locator" id="crm-servicerequest" label="&lt;address&gt;&lt;%= locationLine1 %&gt;&lt;/address&gt;&lt;address&gt;&lt;%= locationLine2 %&gt;&lt;/address&gt;">
<ICON id="*" style="{&quot;type&quot;:&quot;circle&quot;,&quot;radius&quot;:9,&quot;fill&quot;:{&quot;color&quot;:[247,96,247]}}" type="style" />
<ICON id="ServiceRequest.png" label="&lt;address&gt;Service Request &lt;%= id %&gt;&lt;/address&gt;&lt;address&gt;&lt;%= address.displayText %&gt;&lt;/address&gt;&lt;comment&gt;&lt;%= requestType.description %&gt;&lt;/comment&gt;" style="{&#xD;&#xA; &quot;type&quot;: &quot;mixed&quot;,&#xD;&#xA; &quot;image&quot;: {&#xD;&#xA; &quot;icon&quot;: &quot;white-hole.png&quot;,&#xD;&#xA; &quot;anchorYUnits&quot;: &quot;pixels&quot;,&#xD;&#xA; &quot;anchorYValue&quot;: 62,&#xD;&#xA; &quot;color&quot;: [203, 28, 99, 10]&#xD;&#xA; },&#xD;&#xA; &quot;text&quot;: {&#xD;&#xA; &quot;text&quot;: &quot;SR &lt;%=id%&gt;&quot;,&#xD;&#xA; &quot;textAlign&quot;: &quot;center&quot;,&#xD;&#xA; &quot;textBaseline&quot;: &quot;top&quot;,&#xD;&#xA; &quot;offsetY&quot;: 64,&#xD;&#xA; &quot;scale&quot;: 2&#xD;&#xA; }&#xD;&#xA;}" type="style">
<FILTERS>
<FILTER about="requestType.type == GISTest" id="requestType.type" value="GISTest" />
</FILTERS>
</ICON>
</SYMBOL>
</SYMBOLOGY>
<LAYERS>
<LAYER id="basemap-layer-group" text="&lt;%= i18n_basemaps %&gt;" type="app/layer-factory/group">
<LAYERS>
<LAYER basemap="True" id="mapquest-osm" maxlevel="20" minlevel="10" text="Map Quest" type="app/layer-factory/native">
<OPTIONS>
<Values about="Use the ol3 mapquest provider" id="layerType" value="mapquest" />
<Values about="one of sat,osm,hyb" id="layerStyle" value="osm" />
<Values id="visible" value="true" />
</OPTIONS>
</LAYER>
<LAYER basemap="True" id="mapquest-sat" maxlevel="20" minlevel="10" text="Map Quest Sat" type="app/layer-factory/native">
<OPTIONS>
<Values about="Use the ol3 mapquest provider" id="layerType" value="mapquest" />
<Values about="one of sat,osm,hyb" id="layerStyle" value="sat" />
<Values id="visible" value="false" />
</OPTIONS>
</LAYER>
<LAYER basemap="True" id="mapquest-hyb" maxlevel="20" minlevel="10" text="Map Quest Hybrid" type="app/layer-factory/native">
<OPTIONS>
<Values about="Use the ol3 mapquest provider" id="layerType" value="mapquest" />
<Values about="one of sat,osm,hyb" id="layerStyle" value="hyb" />
<Values id="visible" value="false" />
</OPTIONS>
</LAYER>
</LAYERS>
</LAYER>
<LAYER id="property-layer-group" text="Property" type="app/layer-factory/group">
<LAYERS>
<LAYER basemap="False" disabled="False" extent="-115.2589,36.15677,-115.1867,36.22891" id="parcels" maxlevel="24" minlevel="12" text="Parcels" type="app/layer-factory/arcgis-tile" url="//usalvwdgis1:6080/arcgis/rest/services/Vegas/MapVegas850/MapServer">
<OPTIONS>
<Values id="layerType" value="rest" />
<Values about="Parcels and Properties" id="showLayers" value="18" />
</OPTIONS>
</LAYER>
<LAYER basemap="False" disabled="False" extent="-115.3,36.16,-115.206,36.20" id="properties" maxlevel="24" minlevel="12" text="Properties" type="app/layer-factory/arcgis-tile" url="//usalvwdgis1:6080/arcgis/rest/services/Vegas/MapVegas850/MapServer">
<OPTIONS>
<Values id="layerType" value="rest" />
<Values about="Properties" id="showLayers" value="17" />
<Values about="This is ignored because the LAYER already has an &quot;extent&quot; attribute" id="extent" value="-115.3,36.16,-115.206,36.20" />
</OPTIONS>
</LAYER>
</LAYERS>
</LAYER>
<LAYER id="civics" text="Search Results" type="app/layer-factory/configuration-features">
<COMMANDS>
<COMMAND about="Adds a 'more info' button to the info viewer popup" disabled="False" id="more-info" mid="app/commands/trigger" text="View Details" type="action">
<OPTIONS>
<Values id="event" value="civics:show-details" />
<Values id="css-name" value="btn btn-secondary" />
</OPTIONS>
</COMMAND>
</COMMANDS>
<OPTIONS>
<Values about="List the fields in the order you'd like them to appear in the infoViewer" id="field-list" value="_dataType,applicationNumber" />
<Values about="The vertical offset of the markers associated with this layer, a 1 will shift the marker up so the bottom edge touches the point-feature; use 0.5 to center." id="anchorYValue" value="1" />
</OPTIONS>
</LAYER>
<LAYER about="This is where parcel features will ideally end up...presently they're being added to the maps main vector layer" id="parcel-features" text="Parcels Features" type="app/layer-factory/configuration-features">
<COMMANDS>
<COMMAND id="show-related-address" mid="app/commands/ags-geoquery-locator" text="Related Addresses">
<OPTIONS>
<Values id="query-service" value="//usalvwdgis1:6080/arcgis/rest/services/Vegas/MapVegas850/MapServer" />
<Values id="symbology" value="addresses" />
<Values id="layers" value="1" />
<Values id="service-query-template" value="PARCEL='&lt;%=PRCLID%&gt;'" />
<Values id="returnGeometry" value="true" />
<Values id="event" value="add-to-address-layer,auto-zoom" />
<Values id="key-template" value="&lt;%=FID%&gt;" />
</OPTIONS>
</COMMAND>
</COMMANDS>
<OPTIONS>
<Values about="List the fields in the order you'd like them to appear in the infoViewer" id="field-list" value="portalDescription,applicationNumber" />
<Values id="symbology" value="parcels" />
</OPTIONS>
</LAYER>
<LAYER about="This is where address features end up" id="address-features" text="Address Features" type="app/layer-factory/configuration-features">
<OPTIONS>
<Values about="List the fields in the order you'd like them to appear in the infoViewer" id="field-list" value="FID,MAPNO" />
<Values id="symbology" value="addresses" />
</OPTIONS>
</LAYER>
<LAYER about="This layer was cloned in the basemap group" disabled="True" id="mapquest-osm" />
</LAYERS>
<VIEWPORT extent="-115.435,36.000, -114.938, 36.342" />
<OPTIONS>
<Values id="default-interactions" value="{&#xD;&#xA; &quot;altShiftDragRotate&quot;: true,&#xD;&#xA; &quot;doubleClickZoom&quot;: true,&#xD;&#xA; &quot;keyboard&quot;: true,&#xD;&#xA; &quot;mouseWheelZoom&quot;: false,&#xD;&#xA; &quot;shiftDragZoom&quot;: true,&#xD;&#xA; &quot;dragPan&quot;: true,&#xD;&#xA; &quot;pinchRotate&quot;: true,&#xD;&#xA; &quot;pinchZoom&quot;: true,&#xD;&#xA; &quot;zoomDuration&quot;: 1&#xD;&#xA;}" />
<Values id="default-controls" value="{&#xD;&#xA; &quot;attribution&quot;: false,&#xD;&#xA; &quot;rotate&quot;: false,&#xD;&#xA; &quot;zoom&quot;: true,&#xD;&#xA; &quot;zoomOptions&quot;: {&#xD;&#xA; &quot;zoomInTipLabel&quot;: &quot;&lt;%= i18n_zoomin_text %&gt;&quot;,&#xD;&#xA; &quot;zoomOutTipLabel&quot;: &quot;&lt;%= i18n_zoomout_text %&gt;&quot;,&#xD;&#xA; &quot;duration&quot;: 20&#xD;&#xA; }&#xD;&#xA;}" />
<Values about="To be moved to VIEWPORT" id="min-zoom" value="10" />
<Values about="To be moved to VIEWPORT" id="max-zoom" value="20" />
<Values about="To be moved to VIEWPORT" id="init-zoom" value="9" />
<Values about="To be moved to VIEWPORT" id="init-center" value="-115.1557,36.1742" />
</OPTIONS>
</MAP>
<EVENTS>
<EVENT about="Listens for 'show-info' and then launches the info-viewer via the popup-tool" event="show-info" id="show-info-handler" mid="app/commands/popup-tool">
<OPTIONS>
<Values about="Default to the civics template which renders the label and the field values listed in the 'field-list'" id="template" value="app/templates/civics-infoviewer-template" />
</OPTIONS>
</EVENT>
<EVENT about="Listens for 'universal-search' and attempts to find an address or intersection via a google search" disabled="False" event="universal-search" id="google-locator" mid="app/commands/google-geocoder" text="Google Address Locator" type="find">
<OPTIONS>
<Values about="limit search results to the United States (not working)" id="region" value="US" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="geoquery-result" />
<Values id="key-template" value="&lt;%=place_id %&gt;" />
</OPTIONS>
</EVENT>
<EVENT about="reverse-geocode on every map-click" event="map-click" id="google-reverse-locator" mid="app/commands/google-geocoder">
<OPTIONS>
<Values about="one of true,false,auto but in this case true will try to find an address when the map is clicked" id="reverse" value="true" />
<Values about="valid values include street_address, neighborhood, political, postal_code, administrative_area_level_1, administrative_area_level_2" id="google-result-type" value="street_address" />
<Values about="the place_id is a google feature identifier, use it as our feature key" id="key-template" value="&lt;%=place_id %&gt;" />
<Values about="Place the marker on the map (the marker has a label so don't show the info viewer)" id="event" value="geoquery-result" />
<Values about="Only executes when the shift key is pressed" id="condition" value="shift" />
</OPTIONS>
</EVENT>
<EVENT about="Use the AGS find service to search for properties" disabled="False" event="universal-search" id="ags-property-locator" mid="app/commands/ags-geoquery-locator" text="Property Locator" type="find">
<OPTIONS>
<Values id="query-service" value="//usalvwdgis1:6080/arcgis/rest/services/Vegas/MapVegas850/MapServer/17&amp;sr=4326" />
<Values about="Directs the renderer to use the 'parcels' symbologies instead of the default (*) symbologies" id="symbology" value="properties" />
<Values id="zoommap" value="true" />
<Values id="key-template" value="&lt;%=FID%&gt;" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="geoquery-result" />
</OPTIONS>
</EVENT>
<EVENT about="Use the AGS find service to search for parcels" disabled="False" event="universal-search" id="ags-parcel-locator" mid="app/commands/ags-geoquery-locator" text="Parcel Locator" type="find">
<OPTIONS>
<Values id="query-service" value="//usalvwdgis1:6080/arcgis/rest/services/Vegas/MapVegas850/MapServer/18&amp;sr=4326" />
<Values about="Directs the renderer to use the 'parcels' symbologies instead of the default (*) symbologies" id="symbology" value="parcels" />
<Values id="zoommap" value="true" />
<Values id="key-template" value="&lt;%=FID%&gt;" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="add-to-parcel-layer,auto-zoom" />
<Values about="merge features into the parcel-features layer" id="layer-name" value="parcel-features" />
</OPTIONS>
</EVENT>
<EVENT about="Add features on the map" event="show-in-map" id="show-in-map-handler" mid="app/commands/render-features">
<OPTIONS>
<Values id="grid" value="false" />
<Values id="map" value="true" />
<Values id="preserve-extent" value="false" />
</OPTIONS>
</EVENT>
<EVENT event="add-to-address-layer" id="add-to-address-layer-handler" mid="app/commands/add-features-to-layer">
<OPTIONS>
<Values id="layer-name" value="address-features" />
</OPTIONS>
</EVENT>
<EVENT event="add-to-parcel-layer" id="add-to-parcel-layer-handler" mid="app/commands/add-features-to-layer">
<OPTIONS>
<Values id="layer-name" value="parcel-features" />
</OPTIONS>
</EVENT>
<EVENT event="auto-zoom" id="auto-zoom-handler" mid="app/commands/auto-zoom">
<OPTIONS>
<Values id="panmap" value="true" />
<Values id="zoommap" value="true" />
<Values id="preserve-extent" value="true" />
</OPTIONS>
</EVENT>
<EVENT event="current-location" id="current-location-handler" mid="app/commands/geolocation-tool" />
<EVENT about="Search addresses for universal search value" disabled="False" event="universal-search" id="ips-address-locator" mid="app/commands/ips-geoquery-locator" text="Address Locator" type="find">
<OPTIONS>
<Values id="query-service" value="property/addresses" />
<Values id="service-query-template" value="{filter:{property:StreetName,operator:Equals,value:&quot;&lt;%= location %&gt;&quot;}}" />
<Values id="symbology" value="addresses" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="geoquery-result" />
</OPTIONS>
</EVENT>
<EVENT about="Search service requests for universal search value" disabled="False" event="universal-search" id="ips-crm-servicerequest-locator" mid="app/commands/ips-geoquery-locator" text="Address Locator" type="find">
<OPTIONS>
<Values id="query-service" value="crm/ServiceRequests" />
<Values id="service-query-template" value="{filter:{property:id,operator:Equals,value:&quot;&lt;%= location %&gt;&quot;}}" />
<Values id="symbology" value="crm-servicerequest" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="geoquery-result" />
</OPTIONS>
</EVENT>
</EVENTS>
<OPTIONS>
<Values about="loads a custom css to manipulate toolbar layout" id="css-name" value="civics-my-projects" />
</OPTIONS>
<COMMANDS>
<COMMAND about="Allow user to click a feature to display information about that feature; this is failing because the map is not loaded by the time this runs so moving it into a toolbar control" disabled="False" id="get-info-tool" mid="app/commands/feature-selection-tool" text="Get Info" type="startup">
<OPTIONS>
<Values about="User can click the map to query feature info (set value to point+box for multi-select)" id="type" value="point" />
<Values about="Identifies the desired EVENT handler" id="event" value="show-info" />
<Values about="Make the buffer area large enough to easily select point features" id="buffer-size" value="16" />
</OPTIONS>
</COMMAND>
<COMMAND id="layer-switcher" text="&lt;%= i18n_layerswitcher_title %&gt;" />
</COMMANDS>
<CONTROLS>
<CONTROL id="toolbar" mid="app/controls/view">
<CONTROLS>
<CONTROL id="universal-search-tool" mid="app/controls/universal-search-tool" text="&lt;%= i18n_quicksearch_text %&gt;">
<OPTIONS>
<Values id="template" value="app/templates/universal-search-template" />
<Values about="Clear existing fetures before performing search" id="event" value="clear-features-from-layer,universal-search" />
<Values id="css-name" value="header" />
</OPTIONS>
</CONTROL>
</CONTROLS>
<OPTIONS>
<Values about="identify a template containing view regions" id="template" value="app/templates/toolbar-template" />
<Values id="view" value="app/views/ToolbarView" />
</OPTIONS>
</CONTROL>
</CONTROLS>
<LOCALIZATIONS>
<Resources about="Extends the 'common' localization package" id="en-common" lang="en">
<Res id="i18n_quicksearch_text" value="Quick Search:" />
<Res id="i18n_zoomin_text" value="Zoom In (↓)" />
<Res id="i18n_zoomout_text" value="Zoom Out (↑)" />
<Res id="i18n_layerswitcher_title" value="Layers" />
<Res id="i18n_basemaps" value="Maps" />
</Resources>
<Resources id="en-us-common" lang="en-US">
<Res id="i18n_basemaps" value="Basemaps" />
</Resources>
</LOCALIZATIONS>
</Maplet>
<Maplet about="Maplet configuration for My Projects" id="rhythm-civics-my-projects" parentId="rhythm-civics-base" text="Civics Maplet">
<EVENTS>
<EVENT about="Business License search" disabled="False" event="universal-search" id="ips-cdr-businesslicense-locator" mid="app/commands/ips-geoquery-locator" text="Business License Locator" type="find">
<OPTIONS>
<Values id="query-service" value="cdr/applications/BusinessLicense" />
<Values id="service-query-template" value="{filter:{property:applicationNumber,operator:Equals,value:&quot;&lt;%= location %&gt;&quot;}}" />
<Values id="symbology" value="cdr-businesslicense" />
<Values about="Once the results are gathered forward them to the 'geoquery-result' handler" id="event" value="geoquery-result" />
</OPTIONS>
</EVENT>
</EVENTS>
<MAP>
<SYMBOLOGY>
<SYMBOL id="cdr-businesslicense" label="Business License &lt;%= applicationNumber %&gt;">
<ICON id="*" style="{&quot;type&quot;:&quot;circle&quot;,&quot;radius&quot;:9,&quot;fill&quot;:{&quot;color&quot;:[247,96,247]}}" type="style" />
</SYMBOL>
</SYMBOLOGY>
</MAP>
</Maplet>
<Maplet about="Maplet configuration for Civics Instrument List" id="rhythm-civics-instrument-list" parentId="rhythm-civics-base" text="Civics Instrument List Maplet" />
</MAPLETS>
</CONFIG>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment