Ignore:
Timestamp:
Dec 21, 2011, 8:42:40 PM (13 years ago)
Author:
rick
Message:

Permalink custom layers, nice!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/django_gheat/wlheatmap/static/heatmap.js

    r9811 r9813  
    2121      new OpenLayers.Control.Navigation(),
    2222      new OpenLayers.Control.Permalink({
    23         anchor : true,
     23        anchor : false,
    2424        createParams: function(center, zoom, layers) {
    2525          center = center || this.map.getCenter();
     
    6464              // Update permalink URL to reflect new location and filters
    6565              layerid = 0;
    66               for (var i=1, len=layers.length; i < len; i++) {
     66              // First two and last one should be ignored
     67              for (var i=4, len=layers.length; i < len; i++) {
    6768                var layer = layers[i];
    6869                if ($.isArray(layer.url)) {
     
    7374                var filter = url.split('?')[1];
    7475                layerid += 1;
    75                 params['layername' + i] = layer.name;
    76                 params['layerfilter' + i] = filter;
     76                params['layername' + layerid] = layer.name;
     77                params['layercolour' + layerid] = layer.colour;
     78                params['layerfilter' + layerid] = filter;
    7779              }
    78               params['layercount']  = layerid;
     80              params['layercount']  = layerid;
    7981          }
    8082          return params;
    81         }
     83        },
     84        draw: function() {
     85          OpenLayers.Control.prototype.draw.apply(this, arguments);
     86
     87          if (!this.element && !this.anchor) {
     88            this.element = document.createElement("a");
     89            this.element.innerHTML = OpenLayers.i18n("Permalink");
     90            this.element.href="";
     91            this.div.appendChild(this.element);
     92          }
     93          this.map.events.on({
     94            'moveend': this.updateLink,
     95            'changelayer': this.updateLink,
     96            'addlayer': this.updateLink,
     97            'removelayer': this.updateLink,
     98            'changebaselayer': this.updateLink,
     99            scope: this
     100          });
     101
     102          // Make it so there is at least a link even though the map may not have
     103          // moved yet.
     104          this.updateLink();
     105
     106          return this.div;
     107        },
    82108      }),
    83109      new OpenLayers.Control.PanZoomBar(),
Note: See TracChangeset for help on using the changeset viewer.