List of Basemaps opacity

3170
1
Jump to solution
11-18-2015 04:21 PM
AlexGole
Occasional Contributor II

Hi,

I am trying to create in the table of content a way to change  opacity for a list of basemaps?

I am using something like this​ to switch my basemaps and my code is the following:

//Basemap List goes her..
                         $("#basemapList li").click(function (e) {
                             switch (e.target.text) {
                                
                                 case "Streets":
                                    
                                     map.setBasemap("streets");
                                     
                                     break;
                                 case "Imagery":
                                     map.setBasemap("hybrid");
                                     break;
                                 case "National Geographic":
                                     map.setBasemap("national-geographic");
                                     break;
                                 case "Topographic":
                                     map.setBasemap("topo");
                                     break;
                                 case "Gray":
                                     map.setBasemap("gray");
                                     break;
                                 case "Open Street Map":
                                     map.setBasemap("osm");
                                     break;
                             }
                             if ($(".navbar-collapse.in").length > 0) {
                                 $(".navbar-toggle").click();
                             }
                         });
                         on(dom.byId("opacity"), "click", updateOpacity);
                         function updateOpacity() {
                             var cOp = map.getLayer(map.basemapLayerIds[1]);
                             var newOp = (op / 100);
                             streets.setOpacity(1.0 - newOp);
                         }

List:

<div title="Basemaps" class="active dropdown" id="basemapList">
                    <button class="btn btn-default dropdown-toggle" type="button" id="BasemapButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                        <span class="glyphicon glyphicon-th-large"></span>
                    </button>


                    <a href="" class="dropdown-toggle" data-toggle="dropdown"><b class="caret"></b></a>
                    <ul class="dropdown-menu" id="myDropdown">
                        
                        <li><a href="#">Streets</a></li>
                        <li><a href="#">Imagery</a></li>
                        <li><a href="#">National Geographic</a></li>
                        <li><a href="#">Topographic</a></li>
                        <li><a href="#">Gray</a></li>
                        <li class="divider"></li>
                        <li><a href="#">Open Street Map</a></li>
                    </ul>
                </div>
0 Kudos
1 Solution

Accepted Solutions
AlexGole
Occasional Contributor II

I found the solution:

function updateOpacity() {

                             var cOp = map.getLayer(map.basemapLayerIds).opacity;

                             console.info(cOp);

                             if (cOp < 0.9999999999999999) {

                                 map.getLayer(map.basemapLayerIds).setOpacity(cOp + 0.1);

                             } else {

                                 map.getLayer(map.basemapLayerIds).setOpacity(0.1);

                             }

                         }

View solution in original post

1 Reply
AlexGole
Occasional Contributor II

I found the solution:

function updateOpacity() {

                             var cOp = map.getLayer(map.basemapLayerIds).opacity;

                             console.info(cOp);

                             if (cOp < 0.9999999999999999) {

                                 map.getLayer(map.basemapLayerIds).setOpacity(cOp + 0.1);

                             } else {

                                 map.getLayer(map.basemapLayerIds).setOpacity(0.1);

                             }

                         }