- function mapMoved(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
- updatelinks(lon, lat, zoom, null, minlon, minlat, maxlon, maxlat);
- }
+ var data = $(this).data();
+
+ $("#potlatch").each(function () {
+ this.setPosition(data.lat, data.lon, Math.max(data.zoom || 15, 13));
+ });
+ });
+
+ var mapMoved = $.throttle(250, function(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
+ updatelinks({ lon: lon, lat: lat }, zoom, null, [[minlat, minlon], [maxlat, maxlon]]);
+
+ var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
+ if (hash !== location.hash) {
+ location.replace(hash);
+ }
+ });