Advertisement
Guest User

Basemap Gallery

a guest
Mar 14th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
  6.     <!--The viewport meta tag is used to improve the presentation and behavior of the samples
  7.       on iOS devices-->
  8.     <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
  9.     <title>This is my title</title>
  10.  
  11.     <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/dojo/dijit/themes/claro/claro.css">
  12.     <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/esri/css/esri.css">
  13.     <style>
  14.       html, body, #map {padding:0;height:100%;width:100%;margin:0;overflow:hidden;}
  15.       #rightPane{width:20%;}
  16.       #legendPane{border: solid #97DCF2 1px;}
  17.     </style>
  18.  
  19.     <script>var dojoConfig = { parseOnLoad: true };</script>
  20.     <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/"></script>
  21.     <script>
  22.       dojo.require("dijit.layout.BorderContainer");
  23.       dojo.require("dijit.layout.ContentPane");
  24.       dojo.require("dijit.layout.AccordionContainer");
  25.       dojo.require("esri.map");
  26.       dojo.require("esri.dijit.Legend");
  27.       dojo.require("esri.layers.FeatureLayer");
  28.       dojo.require("dijit.form.Button");
  29.       dojo.require("esri.dijit.BasemapGallery");
  30.       dojo.require("dijit.form.Button");
  31.       dojo.require("dijit.Menu");
  32.      
  33.       var map;
  34.       var basemapGallery;
  35.  
  36.       function init() {
  37.         map = new esri.Map("map", {
  38.           center: [-31.036, 42.747],
  39.           zoom: 3
  40.         });
  41.  
  42.         basemapGallery = new esri.dijit.BasemapGallery({
  43.           showArcGISBasemaps: true,
  44.           map: map
  45.         });    
  46.        
  47.         //add the legend
  48.         dojo.connect(map,'onLayersAddResult',function(results){
  49.           var layerInfo = dojo.map(results, function(layer,index){
  50.             return {layer:layer.layer,title:layer.layer.name};
  51.           });
  52.           if(layerInfo.length > 0){
  53.             var legendDijit = new esri.dijit.Legend({
  54.               map:map,
  55.               layerInfos:layerInfo
  56.             },"legendDiv");
  57.             legendDijit.startup();
  58.           }
  59.         });
  60.  
  61.         dojo.connect(basemapGallery, "onLoad", function(){
  62.           dojo.forEach(basemapGallery.basemaps, function(basemap) {            
  63.             //Add a menu item for each basemap, when the menu items are selected
  64.             dijit.byId("basemapMenu").addChild(
  65.               new dijit.MenuItem({
  66.                 label: basemap.title,
  67.                 onClick: dojo.hitch(this, function() {
  68.                   this.basemapGallery.select(basemap.id);
  69.                 })
  70.               })
  71.             );
  72.           });
  73.         });      
  74.  
  75.         dojo.connect(map, 'onLoad', function(theMap) {
  76.         //resize the map when the browser resizes
  77.         dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
  78.         });
  79.  
  80.         var cable= new esri.layers.ArcGISDynamicMapServiceLayer("http://xxxxx.com/arcgis/rest/services/Electric/Data/MapServer/", {
  81.         mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
  82.         outFields: ["*"]
  83.         });
  84.        
  85.         map.addLayers([cable]);
  86.        }
  87.  
  88.       dojo.ready(init);
  89.     </script>
  90.   </head>
  91.  
  92.   <body class="claro">
  93.     <div id="content"
  94.          data-dojo-type="dijit.layout.BorderContainer"
  95.          data-dojo-props="design:'headline', gutters:true"
  96.          style="width: 100%; height: 100%; margin: 0;">
  97.  
  98.       <div id="rightPane"
  99.            data-dojo-type="dijit.layout.ContentPane"
  100.            data-dojo-props="region:'right'">
  101.  
  102.         <div data-dojo-type="dijit.layout.AccordionContainer">
  103.           <div data-dojo-type="dijit.layout.ContentPane" id="legendPane"
  104.                data-dojo-props="title:'Legend', selected:true">
  105.             <div id="legendDiv"></div>
  106.           </div>
  107.           <div data-dojo-type="dijit.layout.ContentPane"
  108.                data-dojo-props="title:'Pane 2'">
  109.             This pane could contain tools or additional content
  110.           </div>
  111.         </div>
  112.       </div>
  113.       <div id="map"
  114.            data-dojo-type="dijit.layout.ContentPane"
  115.            data-dojo-props="region:'center'">
  116.            <div style="position:absolute; right:50px; top:10px; z-Index:99;">
  117.            <button id="dropdownButton" label="Basemaps"  data-dojo-type="dijit.form.DropDownButton">
  118.             <div data-dojo-type="dijit.Menu" id="basemapMenu"></div></button></div>
  119.       </div>
  120.     </div>
  121.   </body>
  122.  
  123. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement