lightrefracted / gmaps-utility-gis

Automatically exported from code.google.com/p/gmaps-utility-gis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

legend always uses the legend service even if version is later than 10.01

GoogleCodeExporter opened this issue · comments

What steps will reproduce the problem?
1. add a layer to the toc widget using code.
2. Load the application
3. Step through TOC.js _RootLayerTOC _getLegendInfo function

What is the expected output? What do you see instead?
Expected to load legend from the layer instead of the arcgis legend tools.

What version of the product are you using? On what operating system?
2.09, Windows 7.

Please provide any additional information below.
I updated the "postCreate" function to make sure the rootLayer is loaded before 
calling the _getLegendInfo function.

Here is the new code that fixes the bug in TOC.js line 620.
-------------------------------------------------------------
         // extenstion point called by framework
         postCreate: function () {
             if ((this.rootLayer instanceof (ArcGISDynamicMapServiceLayer) ||
            this.rootLayer instanceof (ArcGISTiledMapServiceLayer))) {
                 //check if the layer is loaded yet, if not, add a listener to wait
                 if (this.rootLayer.loaded) {
                     if (this._legendResponse) {
                         this._createRootLayerTOC();
                     } else {
                         this._getLegendInfo();
                     }
                 }
                 else {//layer not yet loaded, add listener
                     this.rootLayer.on("load", lang.hitch(this, this._getLegendInfo));
                 }
             } else { //not servicelayer
                 this._createRootLayerTOC();
             }
         },
-----------------------------------

Original issue reported on code.google.com by gref...@gmail.com on 10 Apr 2014 at 8:02

I was having the same issue.  It appears that this.rootLayer.version is 
returning undefined in _getLegendInfo even though this.rootLayer object was 
returned with the correct version defined in it.

This edit fixed it for me. 

Original comment by travis.b...@gmail.com on 8 May 2014 at 2:22