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); } }); });
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.