Skip to content

Instantly share code, notes, and snippets.

@kflaw
Last active May 10, 2018 19:03
Show Gist options
  • Save kflaw/3210df866cfbcd6ce2bc to your computer and use it in GitHub Desktop.
Save kflaw/3210df866cfbcd6ce2bc to your computer and use it in GitHub Desktop.
cmv identify config
// config object definition:
// {<layer id>:{
// <sub layer number>:{
// <pop-up definition, see link below>
// }
// },
// <layer id>:{
// <sub layer number>:{
// <pop-up definition, see link below>
// }
// }
// }
// for details on pop-up definition see: https://developers.arcgis.com/javascript/jshelp/intro_popuptemplate.html
define(function () {
function createSharedTemplateMS () {
return {
title:"Map Sets",
description: [
'<b>Name:</b> {shtlabel}<br>',
'<b>County:</b> {county}<br>',
'<b>Route:</b> {route}<br>',
'<b>Postmile:</b> {postmile}<br>',
'<b>Map Type:</b> {maptype} <br>',
'<b>Hanging File:</b> {hangfile}<br>',
'<b>Revision Date:</b> {mapdate}<br>',
'<b>Original Draft Decade:</b> {mapdecade}<br>',
'<b>Coordinate System:</b> {projection}<br>',
'<div align=center>{image_path}</div><br>',
'<div align=center>{error_report_path}</div><br>',
'<div align=center>{grantor_box_path}</div>',
'<div id="slider-id"><div class="ui-slider-handle"></div</div>'
].join('')
};
}
function createSharedTemplatePrcl () {
return {
title:"Parcels",
description: [
'<b>Name:</b> {Name}<br>',
'<b>County:</b> {County}<br>',
'<b>Route:</b> {Route}<br>',
'<b>Postmile:</b> {Postmile}',
'<br><b>Description:</b> {Description}<br>',
'<b>Area:</b> {Area}<br>',
'<b>Map Sheet:</b> {Map Sheet}<br>',
'<b>Parcel Type:</b> {Parcel Type}<br>',
'<b>Parcel Phase:</b> {Parcel Phase}',
'<br><b>Geometry Quality:</b> {Geometry Quality}<br>',
'<b>Source:</b> {Source}<br>',
'<div align=center>{error_report_path}</div><br>',
'<br><div align=center>{doc_path}</div>'
].join('')
};
}
return {
map:true,
mapClickMode:true,
mapRightClickMenu:true,
identifyLayerInfos:true,
identifyTolerance:5,
identifies: {
mapSets: {
2: createSharedTemplatePrcl(),
3: createSharedTemplatePrcl(),
4: createSharedTemplatePrcl(),
5: createSharedTemplatePrcl(),
7: createSharedTemplateMS(),
8: createSharedTemplateMS(),
9: createSharedTemplateMS(),
10: createSharedTemplateMS(),
11: createSharedTemplateMS(),
12: createSharedTemplateMS(),
13: createSharedTemplateMS()
}
}
}
// return {
// map:true,
// mapClickMode:true,
// mapRightClickMenu:true,
// identifyLayerInfos:true,
// identifyTolerance:5,
// identifies: {
// mapSetsFS: {
// 0: createSharedTemplateMS()
// }
// }
// }
});
@DavidSpriggs
Copy link

try this:

define([
    'dojo/_base/lang',
    'dojo/_base/array',
    'dojo/promise/all',
    'dojo/on',
    'dojo/dom-construct',
    'dojo/query',
    'esri/layers/ImageServiceParameters',
    'esri/layers/MosaicRule',
    'esri/layers/ArcGISImageServiceLayer',
    'esri/dijit/PopupTemplate',
    'dojo/dom',
    'dojo/dom-attr',
    'dojo/domReady!'
], function(lang, array, all, on, domConstruct, query, ImageServiceParameters, MosaicRule, ArcGISImageServiceLayer, PopupTemplate, dom, domAttr) {

    var imageServiceLayer = null;
    var imageInt = 0;
    var feature;
    var popupContent;
    var link;

    on(dom.getElementById("addLink"), 'click', lang.hitch(this, function(event) {

        //dojo.setAttr(dojo.byId("rasterLock"), "innerHTML", "Adding image...");

        feature = this.map.infoWindow.getSelectedFeature();
        popupContent = parseInt(feature.attributes.is_oid);

        if (isNaN(popupContent)) {
            alert('Cannot add image for selected feature.');
        } else {
            imageInt = imageInt + 1;
            var imageID = "imagery" + imageInt.toString();
            var arr = [popupContent];
            var imgParams = new ImageServiceParameters();
            imgParams.noData = 0;
            var mr = new MosaicRule();
            mr.method = MosaicRule.METHOD_LOCKRASTER;
            mr.lockRasterIds = arr;
            imgParams.mosaicRule = mr;

            var MC_ImageService = "http://sv04esri:6080/arcgis/rest/services/Testing/IS_test/ImageServer";
            imageServiceLayer = new ArcGISImageServiceLayer(MC_ImageService, {
                id: imageID,
                imageServiceParameters: imgParams,
                opacity: 0.75
            });

            dojo.setAttr(dojo.byId("addLink"), "innerHTML", "Add image");
            this.map.addLayer(imageServiceLayer);
        }
    }));

    function createSharedTemplateMS() {
        return {
            title: "Map Sets",
            description: [
                '<b>Name:</b>  {shtlabel}<br>',
                '<b>County:</b>  {county}<br>',
                '<b>Route:</b>  {route}<br>',
                '<b>Postmile:</b>  {postmile}<br>',
                '<b>Map Type:</b>  {maptype} <br>',
                '<b>Hanging File:</b>  {hangfile}<br>',
                '<b>Revision Date:</b>  {mapdate}<br>',
                '<b>Original Draft Decade:</b>  {mapdecade}<br>',
                '<b>Coordinate System:</b>  {projection}<br>',
                '<a id="addLink" href="javascript:void(0);">Add image</a>',
                '<div align=center>{image_path}</div><br>',
                '<div align=center>{error_report_path}</div><br>',
                '<div align=center>{grantor_box_path}</div>'
            ].join('')
        };

    }

    function createSharedTemplatePrcl() {
        return {
            title: "Parcels",
            description: [
                '<b>Name:</b>  {Name}<br>',
                '<b>County:</b>  {County}<br>',
                '<b>Route:</b>  {Route}<br>',
                '<b>Postmile:</b>  {Postmile}',
                '<br><b>Description:</b>  {Description}<br>',
                '<b>Area:</b>  {Area}<br>',
                '<b>Map Sheet:</b>  {Map Sheet}<br>',
                '<b>Parcel Type:</b>  {Parcel Type}<br>',
                '<b>Parcel Phase:</b>  {Parcel Phase}',
                '<br><b>Geometry Quality:</b>  {Geometry Quality}<br>',
                '<b>Source:</b>  {Source}<br>',
                '<div align=center>{error_report_path}</div><br>',
                '<br><div align=center>{doc_path}</div>'
            ].join('')
        };
    }

    return {
        map: true,
        mapClickMode: true,
        mapRightClickMenu: true,
        identifyLayerInfos: true,
        identifyTolerance: 5,
        identifies: {
            mapSets: {
                2: createSharedTemplatePrcl(),
                3: createSharedTemplatePrcl(),
                4: createSharedTemplatePrcl(),
                5: createSharedTemplatePrcl(),
                7: createSharedTemplateMS(),
                8: createSharedTemplateMS(),
                9: createSharedTemplateMS(),
                10: createSharedTemplateMS(),
                11: createSharedTemplateMS(),
                12: createSharedTemplateMS(),
                13: createSharedTemplateMS()
            }
        }
    };
});

@DavidSpriggs
Copy link

The key is that the on code never ran because it was after the return. You should really be using sublime text with sublimeLinter. It would have told you about this error. Its great for catching errors like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment