- if (data.type && data.id) {
- map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } });
- }
- }
-}
+ var page = {};
+
+ page.pushstate = page.popstate = function(path) {
+ var params = querystring.parse(path.substring(path.indexOf('?') + 1));
+ $("#query").val(params.query);
+ map.invalidateSize();
+ $("#sidebar_content").load(path, page.load);
+ };
+
+ page.load = function() {
+ $("#sidebar").removeClass("minimized");
+ $(".search_results_entry").each(function() {
+ var entry = $(this);
+ $.ajax({
+ url: entry.data("href"),
+ method: 'GET',
+ data: {
+ zoom: map.getZoom(),
+ minlon: map.getBounds().getWest(),
+ minlat: map.getBounds().getSouth(),
+ maxlon: map.getBounds().getEast(),
+ maxlat: map.getBounds().getNorth()
+ },
+ success: function(html) {
+ entry.html(html);
+ }
+ });
+ });
+ };
+
+ page.unload = function() {
+ map.removeLayer(marker);
+ map.removeObject();
+ $("#query").val("");
+ };
+
+ return page;
+};