summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/utfgrid.js
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/examples/utfgrid.js')
-rw-r--r--misc/openlayers/examples/utfgrid.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/misc/openlayers/examples/utfgrid.js b/misc/openlayers/examples/utfgrid.js
new file mode 100644
index 0000000..dc06c41
--- /dev/null
+++ b/misc/openlayers/examples/utfgrid.js
@@ -0,0 +1,61 @@
+var osm = new OpenLayers.Layer.OSM();
+
+var utfgrid = new OpenLayers.Layer.UTFGrid({
+ url: "utfgrid/world_utfgrid/${z}/${x}/${y}.json",
+ utfgridResolution: 4, // default is 2
+ displayInLayerSwitcher: false
+});
+
+var map = new OpenLayers.Map({
+ div: "map",
+ projection: "EPSG:900913",
+ controls: [],
+ layers: [osm, utfgrid],
+ center: [0, 0],
+ zoom: 1
+});
+
+var callback = function(infoLookup) {
+ var msg = "";
+ if (infoLookup) {
+ var info;
+ for (var idx in infoLookup) {
+ // idx can be used to retrieve layer from map.layers[idx]
+ info = infoLookup[idx];
+ if (info && info.data) {
+ msg += "[" + info.id + "] <strong>In 2005, " +
+ info.data.NAME + " had a population of " +
+ info.data.POP2005 + " people.</strong> ";
+ }
+ }
+ }
+ document.getElementById("attrs").innerHTML = msg;
+};
+
+var controls = {
+ move: new OpenLayers.Control.UTFGrid({
+ callback: callback,
+ handlerMode: "move"
+ }),
+ hover: new OpenLayers.Control.UTFGrid({
+ callback: callback,
+ handlerMode: "hover"
+ }),
+ click: new OpenLayers.Control.UTFGrid({
+ callback: callback,
+ handlerMode: "click"
+ })
+};
+for (var key in controls) {
+ map.addControl(controls[key]);
+}
+
+function toggleControl(el) {
+ for (var c in controls) {
+ controls[c].deactivate();
+ }
+ controls[el.value].activate();
+}
+
+// activate the control that responds to mousemove
+toggleControl({value: "move"});