From fda62e9b16ff53c20880bd2ebbe34ce55d633c2d Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 25 Oct 2013 23:27:53 +0200 Subject: Adapt template an JS lib for mobile --- chimere/static/chimere/js/jquery.chimere.js | 24 +++++++++++++++++----- chimere/templates/chimere/blocks/head_chimere.html | 1 - chimere/templates/chimere/blocks/map.html | 1 + chimere/templatetags/chimere_tags.py | 1 + 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 39b3b61..274af85 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -82,10 +82,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { hide_popup_fx: null, // if leave to false every click on the map hide the pop-up explicit_popup_hide: false, - controls:[new OpenLayers.Control.Navigation(), - new OpenLayers.Control.PanPanel(), - new OpenLayers.Control.ZoomPanel(), - new OpenLayers.Control.ScaleLine()], + controls:null, popupClass: OpenLayers.Popup.FramedCloud, popupContentFull: false, // if true the detail is inside the popup category_accordion: true, // category opening behave like an accordion @@ -117,7 +114,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { marker_hover_offset: null, icon_start: null, icon_step: null, - icon_end: null + icon_end: null, + mobile:false }; var settings = {}; /* @@ -156,6 +154,21 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } settings = $.extend({}, defaults); if ( options ) $.extend(settings, options); + if (settings.controls == null){ + if (settings.mobile){ + settings.controls = [new OpenLayers.Control.TouchNavigation({ + dragPanOptions: { + enableKinetic: true + } + }), + new OpenLayers.Control.Zoom()]; + } else { + settings.controls = [new OpenLayers.Control.Navigation(), + new OpenLayers.Control.PanPanel(), + new OpenLayers.Control.ZoomPanel(), + new OpenLayers.Control.ScaleLine()]; + } + } var map_element = $(this).get(0); var map_options = { controls: settings.controls, @@ -907,6 +920,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { OpenLayers.Event.stop(evt); }; marker.events.register('click', feature, markerClick); + marker.events.register('touchstart', feature, markerClick); marker.events.register('mouseover', feature, markerOver); marker.events.register('mouseout', feature, markerOut); settings.layerMarkers.addMarker(marker); diff --git a/chimere/templates/chimere/blocks/head_chimere.html b/chimere/templates/chimere/blocks/head_chimere.html index 147d05b..e0c2a0b 100644 --- a/chimere/templates/chimere/blocks/head_chimere.html +++ b/chimere/templates/chimere/blocks/head_chimere.html @@ -3,7 +3,6 @@ {% for js_url in OSM_JS_URLS %} {% endfor %} {% if routing %}{% endif %} -