Jeff, I am a Flex Widget Developer and am starting to get my head wrapped around development in the JS API. Would you mind sharing a few more details with me? Can you post a screenshot of this widget in your app? Can you attach or paste the org/mymanatee/dijit/templates/AerialDownloadWidget.html? Thanks for your consideration of my request in advance.
<div class="widgetContent" data-dojo-attach-point="containerNode"> <div class="widgetPanel" > <table> <tr > <td><select id="aerialDownloadYearSelector" name="aerialDownloadYearSelector" data-dojo-type="dijit/form/Select" > <!-- <option value="2013" selected></option>--> </select></td><td>Select Year</td> </tr> <tr > <td><select id="aerialDownloadFormatSelector" name="aerialDownloadFormatSelector" data-dojo-type="dijit/form/Select" > <option value="JPG" selected="selected">JPG</option> <option value="PNG" >PNG</option> <option value="BMP" >BMP</option> <option value="GIF" >GIF</option> <option value="MrSID" >MrSID</option> <!-- <option value="ZIPPED MrSID">ZIPPED MrSID</option> --> </select></td><td>Select Format</td> </tr> <tr> <td >Filename:</td> <td ><input type="text" id ="aerialFilenameTextInput" name="aerialFilenameTextInput" data-dojo-type="dijit/form/TextBox"></td> </tr> <tr><td></td><td><button data-dojo-type="dijit/form/Button" id="exportAerial" >Download Aerial</button></td></tr> <tr ><td rowspan='3'></td><td></td></tr> <tr><td>MrSID files can be viewed in a web browser using the free ExpressView Browser Plug-in from <a href="http://www.lizardtech.com/downloads/category/#plugins" target='_blank'> Lizardtech</a></td></tr> </table> </div> </div>
function createAerialDownload(){ var aerialDownload = new org.mymanatee.dijit.AerialDownloadWidget({ map: map }, 'aerialDownloadDiv'); this.aerialDownload = aerialDownload; aerialDownload.startup(); on(aerialDownload, "onError", function(error) { console.log(error); }); }
require([ "dijit/Dialog", "dojo/_base/declare", "dojo/parser", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "dojo/_base/xhr", "dojo/_base/lang", "dojo/_base/connect", "dojo/dom", "dijit/registry", "dojo/dom-construct", "dojo/query", "dojo/on","dojo/has", "dojo/dom-style","dojo/io-query","dojo/_base/array","utilities/latlong" ], function(Dialog, declare, parser, _Widget, _Templated, xhr, lang, connect, dom, registry, domConstruct, query,on, has,domStyle,ioQuery, array, latlong) { declare("org.mymanatee.dijit.AerialDownloadWidget",[_Widget, _Templated], { constructor: function(/*Object*/ params) { }, _module: "org.mymanatee.dijit", templatePath: require.toUrl("org/mymanatee/dijit/templates/AerialDownloadWidget.html"), postMixInProperties: function(){ this.inherited(arguments); }, postCreate:function() { this.inherited(arguments); parser.parse(this.domNode); // Init the loader animation }, startup: function(){ this.inherited(arguments); try { if(!this.configData){ xhr.get( { url: "org/mymanatee/dijit/config/AerialDownloadWidget.json", handleAs: "json", sync:true, load: lang.hitch(this, function(responseObject, ioArgs) { this.configData = responseObject; this.loadOptions(); }), error:function(error) { alert('error loading json'); } }); } } catch (err) { console.error(err); } connect.connect(dom.byId("exportAerial"), "click", this, "exportAerial"); }, loadOptions:function(){ var aerialYears = registry.byId('aerialDownloadYearSelector'); array.forEach(this.configData.years, function(y){ aerialYears.addOption({label:y.year,value:y.year}); }); }, exportAerial:function(){ var format = "jpg"; switch (registry.byId('aerialDownloadFormatSelector').value) { case 'JPG': format = "jpg"; break; case 'PNG': format = "png"; break; case 'BMP': format = "bmp"; break; case 'GIF': format = "gif"; break; case 'MrSID': format = "sid"; break; default: format = "jpg"; break; } var catalog = registry.byId('aerialDownloadYearSelector').value; var filename = (registry.byId('aerialFilenameTextInput').value); if(!filename){ filename = "ManateeCountyAerial"+catalog+"."+format; }else{ filename.split('.')[0]; } //lowerleft var LL = latlong.convertWebMercAuxtoLL(map.extent.xmin, map.extent.ymin); //upperright var UR = latlong.convertWebMercAuxtoLL(map.extent.xmax, map.extent.ymax); //to state plane var LLSP = latlong.convertLLtoSP_TM(LL[0],LL[1]); var URSP = latlong.convertLLtoSP_TM(UR[0],UR[1]); var bbox = LLSP[0]+","+URSP[1]+","+URSP[0]+","+LLSP[1]; var url = window.location.protocol+"//www.mymanatee.org/lizardtech/iserv/catalogs/"+catalog+"/" +"iserv-catalog-index/cmd/getimage/method/crop/bg/000000/oif/"+format+"/geo/true/rgn/"+bbox+"/lev/0/wid/"+map.width+"/hei/"+map.height+"/outputfilename/test."+format; window.open(url);// }, shutdown:function() { this.setMessage(); this.inherited(arguments); } }); });
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.