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"}]}
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.