Skip to content

Commit

Permalink
Add ESRI interaction control. Needs documentation but works.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmcw committed Apr 14, 2012
1 parent d6d8f8d commit 88004f2
Show file tree
Hide file tree
Showing 13 changed files with 113 additions and 13 deletions.
50 changes: 50 additions & 0 deletions control/esri/interaction.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
wax = wax || {};
wax.esri = wax.esri || {};

wax.esri.interaction = function() {
var dirty = false, _grid, map;

function setdirty() { dirty = true; }

function grid() {

if (!dirty && _grid) {
return _grid;
} else {
_grid = [];
for (var i = 0; i < map.layerIds.length; i++) {
var layer = map.getLayer(map.layerIds[i]);

// This is not in the documented API and may break.
// Blame paleogeographers for not considering implementation
// to be an important detail of web maps.
var div = layer._div;
var ims = div.getElementsByTagName('img');
for (var j = 0; j < ims.length; j++) {
var tileOffset = wax.u.offset(ims[j]);
_grid.push([
tileOffset.top,
tileOffset.left,
ims[j]
]);
}
}
}
return _grid;
}

function attach(x) {
if (!arguments.length) return map;
map = x;
dojo.connect(map, "onExtentChange", setdirty);
dojo.connect(map, "onUpdateEnd", setdirty);
dojo.connect(map, "onReposition", setdirty);
}

return wax.interaction()
.attach(attach)
.parent(function() {
return map.root;
})
.grid(grid);
};
52 changes: 51 additions & 1 deletion dist/wax.esri.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down Expand Up @@ -3018,6 +3018,56 @@ wax.esri.attribution = function(map, tilejson) {

return attribution.init();
};
wax = wax || {};
wax.esri = wax.esri || {};

wax.esri.interaction = function() {
var dirty = false, _grid, map;

function setdirty() { dirty = true; }

function grid() {

if (!dirty && _grid) {
return _grid;
} else {
_grid = [];
for (var i = 0; i < map.layerIds.length; i++) {
var layer = map.getLayer(map.layerIds[i]);

// This is not in the documented API and may break.
// Blame paleogeographers for not considering implementation
// to be an important detail of web maps.
var div = layer._div;
var ims = div.getElementsByTagName('img');
for (var j = 0; j < ims.length; j++) {
var tileOffset = wax.u.offset(ims[j]);
_grid.push([
tileOffset.top,
tileOffset.left,
ims[j]
]);
}
}
}
return _grid;
}

function attach(x) {
if (!arguments.length) return map;
map = x;
dojo.connect(map, "onExtentChange", setdirty);
dojo.connect(map, "onUpdateEnd", setdirty);
dojo.connect(map, "onReposition", setdirty);
}

return wax.interaction()
.attach(attach)
.parent(function() {
return map.root;
})
.grid(grid);
};
dojo.declare('wax.esri.connector', esri.layers.TiledMapServiceLayer, { // create WMTSLayer by extending esri.layers.TiledMapServiceLayer
constructor: function(options) {
options = options || {};
Expand Down
4 changes: 2 additions & 2 deletions dist/wax.esri.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/wax.g.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down
2 changes: 1 addition & 1 deletion dist/wax.g.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/wax.leaf.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down
2 changes: 1 addition & 1 deletion dist/wax.leaf.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/wax.mm.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down
2 changes: 1 addition & 1 deletion dist/wax.mm.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/wax.ol.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down
2 changes: 1 addition & 1 deletion dist/wax.ol.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/wax.p.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* wax - 6.0.0-beta3 - 1.0.4-537-g502125e */
/* wax - 6.0.0-beta3 - 1.0.4-538-gd6d8f8d */


!function (name, context, definition) {
Expand Down
2 changes: 1 addition & 1 deletion dist/wax.p.min.js

Large diffs are not rendered by default.

0 comments on commit 88004f2

Please sign in to comment.