FeatureLayer and UniqueValueRenderer

2316
3
Jump to solution
03-04-2016 07:41 AM
BradJones
New Contributor III

I'm a total noob when it comes to the JavaScript API.  I'm teaching myself.  I'm trying to use the UniqueValueRenderer to render one of my feature layers.  When I do it with a simple renderer in the code that's commented out it works.  When I use UniqueValueRenderer or ClassBreaksRenderer the layer doesn't draw.  What am I missing?

Thanks

require(["esri/map",
        "esri/layers/FeatureLayer",
        "esri/symbols/SimpleLineSymbol",
        "esri/renderers/UniqueValueRenderer",
        "esri/InfoTemplate",
        "dojo/on",
        "dojo/_base/Color",
        "dojo/domReady!"],
function(Map,
        FeatureLayer,
        SimpleLineSymbol,
        UniqueValueRenderer,
        InfoTemplate,
        on,
        Color) {
    var map = new Map("map", {
        basemap: "streets",
        center: [-92.331404, 34.746788],
        zoom: 13,
        logo: false
    });


    // create the FeatureLayer object
    var sewerLines = new FeatureLayer("http://maps.lrwu.com/wa/rest/services/MoreLayers/MapServer/1", {
        mode: FeatureLayer.MODE_ONDEMAND,
        outFields: ["UPS_MH", "DWN_MH", "PIPLEN", "PIPDIA", "UPS_DWN", "UNITTYPE"],
        displayOnPan: false
    });


    var manholes = new FeatureLayer("http://maps.lrwu.com/wa/rest/services/MoreLayers/MapServer/0", {
        mode: FeatureLayer.MODE_ONDEMAND,
        outFields: ["MH_NO", "SERVSTAT", "MHDPTH", "INSTDATE", "DROPMH", "OWN", "COMPKEY"],
        displayOnPan: false
    });
    var eadFacilities = new FeatureLayer("http://maps.lrwu.com/wa/rest/services/MoreLayers/MapServer/7", {
        mode: FeatureLayer.MODE_ONDEMAND,
        outFields: ["BO_UNIQ", "PERMITTEE", "PERMITTYPE", "ACCOUNTNO", "TRUNKLINE"],
        displayOnPan: false
    });


    //Set the symbol and render the sewerLines
    //var symbol = new SimpleLineSymbol(
    //                SimpleLineSymbol.STYLE_SOLID,
    //                new Color([255,0,0,1]),
    //                3);
    var renderer = new UniqueValueRenderer(null, "UNITTYPE");
    renderer.addValue("GRAVITY", new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([0, 0, 0, 1]), 3));
    renderer.addValue("FORCE", new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([ 0, 0, 255, 1]), 3));
    renderer.addValue("PRVGRV", new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([0, 128, 0, 1]), 3));


    sewerLines.setRenderer(renderer);


    // addLayers must use an array to list layers added.
    map.addLayers([sewerLines, manholes, eadFacilities]);


});
0 Kudos
1 Solution

Accepted Solutions
JakeSkinner
Esri Esteemed Contributor

Hi Brad,

It doesn't look like the field UNITTYPE exists in the sewerLines service.

View solution in original post

3 Replies
JakeSkinner
Esri Esteemed Contributor

Hi Brad,

It doesn't look like the field UNITTYPE exists in the sewerLines service.

ChrisSmith7
Frequent Contributor

Looks like it's part of manholes - Layer: Manholes (ID: 0)

0 Kudos
BradJones
New Contributor III

Thanks!  I knew I was overlooking something stupid.

0 Kudos