diff options
Diffstat (limited to 'misc/openlayers/examples/utfgrid_twogrids.js')
-rw-r--r-- | misc/openlayers/examples/utfgrid_twogrids.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/misc/openlayers/examples/utfgrid_twogrids.js b/misc/openlayers/examples/utfgrid_twogrids.js new file mode 100644 index 0000000..c9cb498 --- /dev/null +++ b/misc/openlayers/examples/utfgrid_twogrids.js @@ -0,0 +1,70 @@ +var osm = new OpenLayers.Layer.OSM(); + +var population = new OpenLayers.Layer.UTFGrid({ + name: "World Population", + url: "utfgrid/world_utfgrid/${z}/${x}/${y}.json", + utfgridResolution: 4 // default is 2 +}); +var bioregions = new OpenLayers.Layer.UTFGrid({ + name: "World Bioregions", + url: "utfgrid/bio_utfgrid/${z}/${x}/${y}.json", + utfgridResolution: 4 // default is 2 +}); + +var map = new OpenLayers.Map({ + div: "map", + projection: "EPSG:900913", + controls: [], + layers: [osm, population, bioregions], + center: [0, 0], + zoom: 1 +}); + +var callback = function(infoLookup) { + var msg = ""; + if (infoLookup) { + var layer, info; + for (var idx in infoLookup) { + layer = map.layers[idx]; + info = infoLookup[idx]; + if (info && info.data) { + msg += "<strong>" + layer.name + "</strong><br>"; + msg += "feature id: " + info.id + "<br>"; + for (var key in info.data) { + msg += key + ": " + info.data[key] + "<br>"; + } + } + } + } + document.getElementById("attrsdiv").innerHTML = msg; +}; + +var controls = { + move_pop: new OpenLayers.Control.UTFGrid({ + callback: callback, + layers: [population], + handlerMode: "move" + }), + move_bio: new OpenLayers.Control.UTFGrid({ + callback: callback, + layers: [bioregions], + handlerMode: "move" + }), + move_both: new OpenLayers.Control.UTFGrid({ + callback: callback, + layers: null, // same as all map.layers + handlerMode: "move" + }) +}; + +for (var key in controls) { + map.addControl(controls[key]); +} + +function toggleControl(el) { + for (var c in controls) { + controls[c].deactivate(); + } + controls[el.value].activate(); +} +toggleControl({value: "move_pop"}); |