function init(){ esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://fwb-gissrv/ArcGIS/rest/services/Geometry/GeometryServer"); //create popup for multiple popups var popup = new esri.dijit.Popup({ fillSymbol: new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 2), new dojo.Color([240, 128, 128, 0.25])) }, dojo.create("div")); //map.spatialReference = new esri.SpatialReference({wkid:102100}); //set initial extent var initExtent = new esri.geometry.Extent(-9651200, 3555500, -9636400, 3562470, new esri.SpatialReference({ "wkid": 102100 })); locator = new esri.tasks.Locator("http://fwb-gissrv/ArcGIS/rest/services/GeoCodes/AddressessFWB/GeocodeServer"); dojo.connect(locator, "onAddressToLocationsComplete", showResultsl); //load map map = new esri.Map("map", { extent: initExtent, slider: true, lods: lods, infoWindow: popup }); //add basemap gallery tiles createBasemapGallery(); dojo.connect(basemapGallery, "onError", function(msg){ console.log(msg) }); dojo.xhrGet({ url: "Config.json", handleAs: "json", preventCache: true, load: function(responseObject, ioArgs){ layrname = responseObject.Lyrname; //add layers from config file if (layrname.length != 0) { for (var i = 0; i < layrname.length; i++) { layname = (layrname.lname); laytitle = (layrname.ltitle); layurl = (layrname.lUrl); layrvis = (layrname.lVisb); layid = (layrname.lyid); layname = new esri.layers.ArcGISDynamicMapServiceLayer(layurl, { id: layid, visible: layrvis }); legendLayers.push({ layer: layname, title: laytitle }); layrnames.push({ layern: layname }); map.addLayer(layname); } }; dojo.connect(map, 'onLayeraddResult', function(results){ var legend = new esri.dijit.Legend({ map: map, layerInfos: legendLayers }, "legendDiv"); legend.startup(); }); //map.addLayers([layname]); dojo.connect(map, 'onLayerAddResult', function(results){ //add check boxes dojo.forEach(legendLayers, function(layer){ var layerName = layer.title; var checkBox = new dijit.form.CheckBox({ name: "checkBox" + layer.layer.id, value: layer.layer.id, checked: layer.layer.visible, onChange: function(evt){ var clayer = map.getLayer(this.value); clayer.setVisibility(!clayer.visible); this.checked = clayer.visible; legend.refresh(); } }); //add the check box and label to the toc dojo.place(checkBox.domNode, dojo.byId("toggle"), "after"); var checkLabel = dojo.create('label', { 'for': checkBox.name, innerHTML: layerName }, checkBox.domNode, "after"); dojo.place("<br />", checkLabel, "after"); }); }); } });
var layersDynamic = [{ url: 'http://server/ArcGIS/rest/services/Flood/MapServer', token: true, name: 'Flood', id: 'flood', visible: false, opacity: 1, imageFormat: 'png24', dpi: 96, }, { url: 'http://server/ArcGIS/rest/services/MunicipalBoundaries/MapServer', token: true, name: 'Municipal Boundaries', id: 'mboundaries', visible: true, opacity: 1, imageFormat: 'png24', dpi: 96, }];
dojo.forEach(layersDynamic, function(l) { addDynamic(l) });
function addDynamic(l) { var url; if (l.token == true) { url = l.url + '?token=' + //TOKEN OR TOKEN VARIABLE HERE// } else { url = l.url } var layer = new esri.layers.ArcGISDynamicMapServiceLayer(url, { id: l.id, visible: l.visible, opacity: l.opacity }); layer.setImageFormat(l.imageFormat); //implicitly set - doesn't always work if added to layer object params layer.setDPI(l.dpi); //implicitly set - doesn't always work if added to layer object params var control = '<div id="' + l.id + '_layer_control"><input id="' + l.id + '_control_cb" /> ' + l.name + '<div>'; dojo.place(control, 'toc', 'first'); var checkbox = new dijit.form.CheckBox({ checked: l.visible, onChange: function () { if (layer.visible == true) { layer.hide() } else { layer.show() } } }, l.id + '_control_cb'); map.addLayer(layer); //last }
var app = { mapParams: { legendLayers: [] } }
app.legend = new esri.dijit.Legend({ map: app.map, layerInfos: app.mapParams.legendLayers }, 'legend_container'); app.legend.startup();
if (l.legend == true) { app.mapParams.legendLayers.push({ layer: layer, title: l.name }) }
var layer = new esri.layers.ArcGISDynamicMapServiceLayer(url, { id: l.id, visible: l.visible, opacity: l.opacity });
//add the legend dojo.connect(map, 'onLayerAddResult', function(results) { var layerInfo = dojo.map(results, function(layer, index) { return { layer : layer.layer, title : layer.layer.name }; }); if (layerInfo.length > 0) { var legendDijit = new esri.dijit.Legend({ map : map, layerInfos : layerInfo }, "legendDiv"); legendDijit.startup(); } });
<script type="text/javascript" src="token.php"></script> <script type="text/javascript">var djConfig = { parseOnLoad: true }</script> <script type="text/javascript" src="http://serverapi or local install"></script> <script type="text/javascript" src="js/config.js"></script> <script type="text/javascript" src="js/application/?id=someAppId"></script>
There should be no comma after the last name/value pair. Firefox won't object if you add it, but Internet Explorer will trigger an error: 'Expected identifier, string or number'.
var config = { token: 'some_token', tools: [ { name: 'Measure', widget: 'bowc.widget.Measure', placeAt: 'new floating pane', placeControls: ['toolbar','mapContext'] } ], layersDynamic: [ { url: 'http://server/ArcGIS/rest/services/Flood/MapServer', token: true, name: 'Flood', id: 'flood', visible: false, opacity: 1, imageFormat: 'png24', dpi: 96, legend: true, parcelLabelControl: false, subLayerControl: true, identify: true, identifyLayers: ['*'], info: true, infoHtml: 'This layer displays the FEMA flood zones.' }, { url: 'http://server/ArcGIS/rest/services/MunicipalBoundaries/MapServer', token: true, name: 'Municipal Boundaries', id: 'mboundaries', visible: true, opacity: 1, imageFormat: 'png24', dpi: 96, legend: true, parcelLabelControl: false, subLayerControl: true, identify: false, identifyLayers: undefined, info: true, infoHtml: 'This layer displays city limits and the urban growth boundary (UGB).' } ], layersFeature: [ ] }
dojo.forEach(config.layersDynamic, function(l) { app.layers.addDynamic(l) });
var app = { layers: { addDynamic: function (l) { var url; if (l.token == true) { url = l.url + '?token=' + token } else { url = l.url } var layer = new esri.layers.ArcGISDynamicMapServiceLayer(url, { id: l.id, visible: l.visible, opacity: l.opacity }); layer.setImageFormat(l.imageFormat); //implicitly set - doesn't always work if added to layer object params layer.setDPI(l.dpi); //implicitly set - doesn't always work if added to layer object params var control = '<div id="' + l.id + '_layer_control"><input id="' + l.id + '_control_cb" /> ' + l.name + '  <img id="' + l.id + '_update" src="images/updating.gif" style="display:none; width:14px; height:14px;" /><div>' dojo.place(control, 'toc', 'first'); var checkbox = new dijit.form.CheckBox({ checked: l.visible, onChange: function () { if (layer.visible == true) { layer.hide() } else { layer.show() } } }, l.id + '_control_cb'); dojo.connect(layer, 'onUpdateStart', function (evt) { dojo.style(l.id + '_update', 'display', 'inline') }); dojo.connect(layer, 'onUpdateEnd', function (evt) { dojo.style(l.id + '_update', 'display', 'none') }); if (l.legend == true) { //add to legend } app.map.addLayer(layer); //last } } }
{'Lyrname' :[ {"lname": "parcelsLayer", "ltitle": "Parcels", "lUrl": "http://fwb-gissrv/ArcGIS/rest/services/Maps/Parcels/MapServer", "lVisb": "false", "lyid": "parcelsaa"}, {"lname": "parcelsarLayer", "ltitle": "Parcels Aerial", "lUrl": "http://fwb-gissrv/ArcGIS/rest/services/Maps/ParcelsAerial/MapServer", "lVisb": "true", "lyid": "parcelsab"}, {"lname": "hydroLayer", "ltitle": "Hydrography", "lUrl": "http://fwb-gissrv/ArcGIS/rest/services/Maps/Hydrography/MapServer", "lVisb": "true", "lyid": "hydro"}, {"lname": "bfpLayer", "ltitle": "Building Footprints", "lUrl": "http://fwb-gissrv/ArcGIS/rest/services/Maps/BFP/MapServer", "lVisb": "true", "lyid": "bfpa"}]}
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.