sample skeleton application with dojo toolkit & arcgis js api v 4.30
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
2.2 KiB

define(["dojo/_base/lang", "../../util/oo", "../_Plugin", "../../manager/_registry"],
function(lang, oo, Plugin, registry){
// zoomInc: Float
// The amount of zoom that will occur upon each click.
var zoomInc = Math.pow(2.0,0.25),
// maxZoom: Number
// The maximum the canvas can be zoomed in. 10 = 1000%
maxZoom = 10,
// minZoom: Float
// The most the canvas can be zoomed out. .1 = 10%
minZoom = 0.1,
// zoomFactor: [readonly] Float
// The current zoom amount
zoomFactor = 1,
dt;
if(!lang.getObject('dojox.drawing.plugins.tools')){
lang.setObject('dojox.drawing.plugins.tools', {});
}
dt = dojox.drawing.plugins.tools;
dt.ZoomIn = oo.declare(
// summary:
Plugin,
function(options){
},
{
type:"dojox.drawing.plugins.tools.ZoomIn",
onZoomIn: function(){
// summary:
// Handles zoom in.
zoomFactor *= zoomInc;
zoomFactor = Math.min(zoomFactor, maxZoom);
this.canvas.setZoom(zoomFactor);
this.mouse.setZoom(zoomFactor);
},
onClick: function(){
this.onZoomIn();
}
}
);
dt.Zoom100 = oo.declare(
// summary:
Plugin,
function(options){
},
{
type:"dojox.drawing.plugins.tools.Zoom100",
onZoom100: function(){
// summary:
// Zooms to 100%
zoomFactor = 1;
this.canvas.setZoom(zoomFactor);
this.mouse.setZoom(zoomFactor);
},
onClick: function(){
this.onZoom100();
}
}
);
dt.ZoomOut = oo.declare(
// summary:
Plugin,
function(options){
},
{
type:"dojox.drawing.plugins.tools.ZoomOut",
onZoomOut: function(){
// summary:
// Handles zoom out.
zoomFactor /= zoomInc;
zoomFactor = Math.max(zoomFactor, minZoom);
this.canvas.setZoom(zoomFactor);
this.mouse.setZoom(zoomFactor);
},
onClick: function(){
this.onZoomOut();
}
}
);
dt.ZoomIn.setup = {
name:"dojox.drawing.plugins.tools.ZoomIn",
tooltip:"Zoom In"
};
registry.register(dt.ZoomIn.setup, "plugin");
dt.Zoom100.setup = {
name:"dojox.drawing.plugins.tools.Zoom100",
tooltip:"Zoom to 100%"
};
registry.register(dt.Zoom100.setup, "plugin");
dt.ZoomOut.setup = {
name:"dojox.drawing.plugins.tools.ZoomOut",
tooltip:"Zoom In"
};
registry.register(dt.ZoomOut.setup, "plugin");
return dt;
});