//create Terrain Basemap for Gallery var terrainLayer = new esri.dijit.BasemapLayer({ url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer" }); var terrainBasemap = new esri.dijit.Basemap({ layers: [terrainLayer], title: 'Terrain', thumbnailUrl: 'http://www.arcgis.com/sharing/content/items/11742666e55b45b8a508751532d0c1ea/info/thumbnail/Terrain_ne_usa.png' }); basemapGallery.add(terrainBasemap);
Solved! Go to Solution.
function changeMap(onLayer) { for (var j = 0, jl = map.layerIds.length; j < jl; j++) { var layer = map.getLayer(map.layerIds); if (layer instanceof esri.layers.ArcGISTiledMapServiceLayer || layer instanceof agsjs.layers.GoogleMapsLayer) { layer.hide(); if (layer == googleLayer) { esri.hide(dojo.byId("layer_list")); } } } if (!(onLayer instanceof Array)) onLayer = [onLayer]; for ( var i = 0;i< onLayer.length; i++){ for (var j = 0, jl = map.layerIds.length; j < jl; j++) { var layer = map.getLayer(map.layerIds ); if (layer instanceof esri.layers.ArcGISTiledMapServiceLayer || layer instanceof agsjs.layers.GoogleMapsLayer) { if (layer == onLayer) { layer.show(); if (layer == googleLayer){ esri.show(dojo.byId("layer_list")); } } } } }
<div id="buttons" > <button dojoType="dijit.form.Button" onClick="changeMap(googleLayer);googleLayer.setMapTypeId(agsjs.layers.GoogleMapsLayer.MAP_TYPE_ROADMAP)"> Google Street </button> <button dojoType="dijit.form.Button" onClick="changeMap(googleLayer);googleLayer.setMapTypeId(agsjs.layers.GoogleMapsLayer.MAP_TYPE_SATELLITE)"> Google Statellite </button> <button dojoType="dijit.form.Button" onClick="changeMap(googleLayer);googleLayer.setMapTypeId(agsjs.layers.GoogleMapsLayer.MAP_TYPE_HYBRID)"> Google Hybrid </button> <button dojoType="dijit.form.Button" onClick="changeMap(esriTopo);"> ESRI Topo Map </button> <button dojoType="dijit.form.Button" onClick="changeMap(esriStreet);"> ESRI Street </button> <button dojoType="dijit.form.Button" onClick="changeMap([esriGrey,esriGreyRef]);"> ESRI Grey Map </button> </div>
var basemaps = []; basemaps.push(new esri.dijit.Basemap({ layers: [new esri.dijit.BasemapLayer({ type: 'GoogleMapsHybrid' })], title: "Google Hybrid", id:'GoogleHybrid', thumbnailUrl: dojo.moduleUrl("agsjs.dijit", "images/googlehybrid.png") })); ... then basemapGallery.startup(); basemapGallery.select('GoogleHybrid');