summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2016-01-06 01:30:00 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2016-01-06 01:30:00 +0100
commit1f16cc6952d26a285325f2c7fdb8467e4a83b32e (patch)
treec1b1c68700efd299c4abc4031f620ee5717fc9d2
parent70f16a3c305d28586c189349c13c7fa588715e16 (diff)
downloadChimère-1f16cc6952d26a285325f2c7fdb8467e4a83b32e.tar.bz2
Chimère-1f16cc6952d26a285325f2c7fdb8467e4a83b32e.zip
OL3 switch: first work
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js122
-rw-r--r--chimere/templates/chimere/blocks/head_chimere.html31
-rw-r--r--chimere/templatetags/chimere_tags.py6
-rw-r--r--chimere/widgets.py16
4 files changed, 101 insertions, 74 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index 809e734..cab170a 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -17,19 +17,9 @@ See the file COPYING for details.
*/
/* Add OpenLayers MapQuest layer management */
-OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
- name: "MapQuestOSM",
- sphericalMercator: true,
- url: ' http://otile1.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png',
- clone: function(obj) {
- if (obj == null) {
- obj = new OpenLayers.Layer.OSM(
- this.name, this.url, this.getOptions());
- }
- obj = OpenLayers.Layer.XYZ.prototype.clone.apply(this, [obj]);
- return obj;
- },
- CLASS_NAME: "OpenLayers.Layer.MapQuestOSM"
+mapquest_layer = new ol.layer.Tile({
+ style: 'Road',
+ source: new ol.source.MapQuest({layer: 'osm'})
});
/*
@@ -130,6 +120,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
*/
init: function ( options ) {
/* Manage parameters */
+ /* OL3-deprecated-cluster
// not staticaly in default because of STATIC_URL init
if (defaults.cluster_icon == null && typeof STATIC_URL != 'undefined'){
defaults.cluster_icon = new OpenLayers.Icon(
@@ -137,6 +128,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
new OpenLayers.Size(36, 39),
new OpenLayers.Pixel(-(36/2), -(39/2)));
}
+ */
+ /* OL3-deprecated-routing
if (defaults.icon_start == null && typeof STATIC_URL != 'undefined'){
defaults.icon_start = new OpenLayers.Icon(
STATIC_URL + "chimere/img/flag-start.png",
@@ -155,9 +148,13 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
new OpenLayers.Size(32, 32),
new OpenLayers.Pixel(0, -32));
}
+ */
settings = $.extend({}, defaults);
if ( options ) $.extend(settings, options);
+
+
if (settings.controls == null){
+ /* OL3-deprecated-mobile
if (settings.mobile){
settings.controls = [new OpenLayers.Control.TouchNavigation({
dragPanOptions: {
@@ -166,33 +163,49 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
}),
new OpenLayers.Control.Zoom()];
} else {
- settings.controls = [new OpenLayers.Control.Navigation(),
- new OpenLayers.Control.SimplePanZoom(),
- new OpenLayers.Control.ScaleLine()];
- }
+ */
+ settings.controls = [
+ new ol.control.Attribution(),
+ new ol.control.OverviewMap({
+ collapsed: false
+ }),
+ new ol.control.ScaleLine(),
+ new ol.control.Zoom(),
+ new ol.control.FullScreen()
+ ];
+ //}
}
var map_element = $(this).get(0);
- var map_options = {
- controls: settings.controls,
+
+ var view_options = {
maxResolution: settings.maxResolution,
- units: settings.units,
- projection: settings.projection,
- theme: settings.theme
+ // OL3-deprecated: units: settings.units,
+ projection: settings.projection
};
+ /* OL3-deprecated
if (settings.restricted_extent){
settings.restricted_extent.transform(EPSG_DISPLAY_PROJECTION,
EPSG_PROJECTION);
map_options['restrictedExtent'] = settings.restricted_extent;
- }
+ }*/
+ settings.view = new ol.View(view_options);
+ var map_options = {
+ controls: settings.controls,
+ view: settings.view,
+ target: map_element,
+ layers: settings.map_layers
+ // OL3-deprecated: theme: settings.theme
+ };
settings.current_position = null;
/* Create map object */
- settings.map = map = new OpenLayers.Map(map_element, map_options);
+ settings.map = map = new ol.Map(map_options);
- map.addControl(new OpenLayers.Control.Attribution());
+ // OL3-deprecated: map.addControl(new OpenLayers.Control.Attribution());
/* Manage permalink */
+ /* OL3-deprecated permalink
if (!settings.edition){
if (settings.permalink == null && !settings.edition) {
var permalink_options = {};
@@ -203,8 +216,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
settings.permalink = new OpenLayers.Control.Permalink(
permalink_options);
}
- /* HACK new permalink createParams method
- FIXME when facilities are given to personalize the permalink */
+ // HACK new permalink createParams method
+ // FIXME when facilities are given to personalize the permalink
var oldCreateParams = settings.permalink.createParams
var _createParams = function(center, zoom, layers) {
// Call normal method
@@ -251,24 +264,28 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
settings.permalink.div.childNodes[0].textContent = settings.permalink_label;
}
}
- /* Add Layers */
- settings.map.addLayers(settings.map_layers);
+ */
+ /* OL3-deprecated
if (settings.map_layers.length > 1){
settings.map.addControl(new OpenLayers.Control.LayerSwitcher(
{roundedCorner:false}));
}
- /* select the default map layer */
+ // select the default map layer
if (!settings.selected_map_layer){
settings.selected_map_layer = 0;
}
settings.map.setBaseLayer(
settings.map_layers[settings.selected_map_layer]);
+ */
- /* manage the context menu */
+ /* OL3-deprecated context menu
+ // manage the context menu
$('#map_menu_zoomin').bind("click", methods.zoomIn);
$('#map_menu_zoomout').bind("click", methods.zoomOut);
$('#map_menu_center').bind("click", methods.mapCenter);
- /* manage the routing */
+ */
+ /* OL3-deprecated routing
+ // manage the routing
if (settings.routing){
settings.routing_start = null;
settings.routing_steps = new Array();
@@ -283,17 +300,22 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
'Route markers');
settings.map.addLayer(settings.layerRouteMarker);
}
+ */
/* Vectors layer */
- settings.layerVectors = new OpenLayers.Layer.Vector("Vector Layer");
+ settings.layerVectors = new ol.layer.Vector();{
+
settings.map.addLayer(settings.layerVectors);
- settings.layerVectors.setOpacity(0.8);
+ // OL3-deprecated settings.layerVectors.setOpacity(0.8);
+ /* OL3-deprecated-routing
if (settings.edition_type_is_route){
settings.map.addControl(new OpenLayers.Control.DrawFeature(
settings.layerVectors, OpenLayers.Handler.Path));
settings.map.addControl(new OpenLayers.Control.ModifyFeature(
settings.layerVectors, {clickout:false, toggle:false}));
}
+ */
+ /* OL3-deprecated-cluster
if (settings.enable_clustering){
var style = new OpenLayers.Style({
graphicTitle: "${name}",
@@ -341,7 +363,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
}});
- /* Cluster layer */
+ // Cluster layer
settings.clustering = new OpenLayers.Strategy.Cluster({
distance: 10,
threshold: 2});
@@ -377,32 +399,50 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
highlightCtrl.activate();
selectCtrl.activate();
}
+ */
/* Markers layer */
- settings.layerMarkers = new OpenLayers.Layer.Markers('POIs');
+ settings.icons = [];
+ settings.layerIcons = new ol.source.Vector({
+ features: settings.icons
+ });
+ settings.layerMarkers = new ol.layer.Vector({
+ source: settings.layerIcons
+ });
+
settings.map.addLayer(settings.layerMarkers);
+ /* OL3-deprecated
if (settings.dynamic_categories){
settings.map.events.register('moveend', settings.map,
methods.loadCategories);
}
- /* TODO make a function */
+ */
+
+ /* OL3-deprecated
+ // TODO make a function
if (settings.display_submited) {
document.getElementById('display_submited_check').checked = true;
}
+ */
+
/* if we have some zoom and lon/lat from the init options */
if (settings.zoom && settings.lon && settings.lat) {
- var centerLonLat = new OpenLayers.LonLat(settings.lon,
- settings.lat);
- settings.map.setCenter(centerLonLat, settings.zoom);
+ var centerLonLat = [settings.lon, settings.lat];
+ settings.map.setCenter(centerLonLat);
+ settings.map.setZoom(settings.zoom);
}
/* if not zoom to the extent in cookies */
else if (!methods.zoomToCurrentExtent(settings.map)){
/* if no extent in cookies zoom to default */
if(CENTER_LONLAT && DEFAULT_ZOOM){
settings.map.setCenter(CENTER_LONLAT, DEFAULT_ZOOM);
+ settings.map.setCenter(CENTER_LONLAT);
+ settings.map.setZoom(DEFAULT_ZOOM);
}
}
+ return;
+ /// OL3-To be continued
if (!settings.edition){
if (settings.enable_clustering){
@@ -1524,6 +1564,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
/* zoom to current extent */
var current_extent = helpers.getSavedExtent();
var extent;
+ return;
+ //////// OL3-deprecated
if (OpenLayers && current_extent && current_extent.length == 4){
extent = new OpenLayers.Bounds(
current_extent[0], current_extent[1],
diff --git a/chimere/templates/chimere/blocks/head_chimere.html b/chimere/templates/chimere/blocks/head_chimere.html
index 7ed2b54..f0e214e 100644
--- a/chimere/templates/chimere/blocks/head_chimere.html
+++ b/chimere/templates/chimere/blocks/head_chimere.html
@@ -1,6 +1,6 @@
-{% for css_url in OSM_CSS_URLS %}
+{% for css_url in MAP_CSS_URLS %}
<link rel="stylesheet" href="{{ css_url }}" />{% endfor %}
-{% for js_url in OSM_JS_URLS %}
+{% for js_url in MAP_JS_URLS %}
<script src="{{ js_url }}" type="text/javascript"></script>{% endfor %}
{% if routing %}<script src="{{ STATIC_URL }}chimere/js/routing-widget.js" type="text/javascript"></script>{% endif %}
{% if enable_clustering %}<script src="{{ STATIC_URL }}chimere/js/clustering.js" type="text/javascript"></script>{% endif %}
@@ -15,27 +15,12 @@
<script src="{{ STATIC_URL }}chimere/js/base.js" type="text/javascript"></script>
<script type="text/javascript">
var DEFAULT_ZOOM = {{ DEFAULT_ZOOM }};
- var EPSG_DISPLAY_PROJECTION = epsg_display_projection = new OpenLayers.Projection('EPSG:{{ EPSG_DISPLAY_PROJECTION }}');
- OpenLayers.ImgPath = '{{ STATIC_URL }}chimere/img/';
- var EPSG_PROJECTION = epsg_projection = new OpenLayers.Projection('EPSG:{{ EPSG_PROJECTION }}');
- var CENTER_LONLAT = centerLonLat = new OpenLayers.LonLat{{ DEFAULT_CENTER }}.transform(epsg_display_projection, epsg_projection);
- /*var map_layer = {{ MAP_LAYER|safe }};*/
+ var EPSG_DISPLAY_PROJECTION = '{{ EPSG_DISPLAY_PROJECTION }}';
+ //OL3-deprecated: OpenLayers.ImgPath = '{{ STATIC_URL }}chimere/img/';
+ var EPSG_PROJECTION = epsg_projection = '{{ EPSG_PROJECTION }}';
+ var CENTER_LONLAT = centerLonLat = ol.proj.transform(
+ [{{DEFAULT_CENTER}}], epsg_display_projection, epsg_projection);
var restricted_extent;
- {% if area_name %}
- var area_name = '{{ area_name }}';{% endif %}
-
- $(function() {$( ".draggable" ).draggable({handle:"h2"});});
+ {% if area_name %}var area_name = '{{ area_name }}';{% endif %}
var get_share_url = '{% url chimere:get-share-url %}';
</script>
-<style type="text/css">
-.olControlPanPanel div {
- background-image: url({{STATIC_URL}}chimere/img/pan-panel.png);
-}
-
-.olControlZoomPanel div {
- background-image: url({{STATIC_URL}}chimere/img/zoom-panel.png);
-}
-</style>
-
-
-
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py
index 61a1ab9..c6fe569 100644
--- a/chimere/templatetags/chimere_tags.py
+++ b/chimere/templatetags/chimere_tags.py
@@ -154,15 +154,15 @@ def head_chimere(context):
"DEFAULT_CENTER": settings.CHIMERE_DEFAULT_CENTER,
"DEFAULT_ZOOM": settings.CHIMERE_DEFAULT_ZOOM,
"MAP_LAYER": settings.CHIMERE_DEFAULT_MAP_LAYER,
- "OSM_CSS_URLS": settings.OSM_CSS_URLS,
+ "MAP_CSS_URLS": settings.MAP_CSS_URLS,
'MOBILE':context['MOBILE'],
'routing': settings.CHIMERE_ENABLE_ROUTING \
if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') else False,
'enable_clustering':settings.CHIMERE_ENABLE_CLUSTERING,
}
- context_data['OSM_JS_URLS'] = settings.OSM_JS_URLS
+ context_data['MAP_JS_URLS'] = settings.MAP_JS_URLS
if context['MOBILE']:
- context_data['OSM_JS_URLS'] = settings.OSM_MOBILE_JS_URLS
+ context_data['MAP_JS_URLS'] = settings.MAP_MOBILE_JS_URLS
return context_data
@register.inclusion_tag('chimere/blocks/head_form.html')
diff --git a/chimere/widgets.py b/chimere/widgets.py
index e7d104a..ea3fe16 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -249,10 +249,10 @@ class PointChooserWidget(forms.TextInput):
"""
class Media:
css = {
- "all": settings.OSM_CSS_URLS + \
+ "all": settings.MAP_CSS_URLS + \
["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = settings.OSM_JS_URLS + list(settings.JQUERY_JS_URLS) + \
+ js = settings.MAP_JS_URLS + list(settings.JQUERY_JS_URLS) + \
["%schimere/js/jquery.chimere.js" % settings.STATIC_URL]
def render(self, name, value, attrs=None, area_name='', initialized=True):
@@ -331,10 +331,10 @@ class RouteChooserWidget(forms.TextInput):
Manage the edition of route on a map
"""
class Media:
- css = {"all": settings.OSM_CSS_URLS + \
+ css = {"all": settings.MAP_CSS_URLS + \
["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = settings.OSM_JS_URLS + list(settings.JQUERY_JS_URLS) + \
+ js = settings.MAP_JS_URLS + list(settings.JQUERY_JS_URLS) + \
["%schimere/js/jquery.chimere.js" % settings.STATIC_URL,
"%schimere/js/edit_route_map.js" % settings.STATIC_URL,
"%schimere/js/base.js" % settings.STATIC_URL,]
@@ -468,10 +468,10 @@ class AreaWidget(forms.TextInput):
"""
class Media:
css = {
- "all": settings.OSM_CSS_URLS + \
+ "all": settings.MAP_CSS_URLS + \
["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = settings.OSM_JS_URLS + [
+ js = settings.MAP_JS_URLS + [
"%schimere/js/edit_area.js" % settings.STATIC_URL,
"%schimere/js/base.js" % settings.STATIC_URL,]
@@ -567,10 +567,10 @@ class ImportFiltrWidget(AreaWidget):
"""
class Media:
css = {
- "all": settings.OSM_CSS_URLS + \
+ "all": settings.MAP_CSS_URLS + \
["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = settings.OSM_JS_URLS + [
+ js = settings.MAP_JS_URLS + [
"%schimere/js/edit_area.js" % settings.STATIC_URL,
"%schimere/js/base.js" % settings.STATIC_URL,]