diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-09-16 20:43:08 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-09-16 20:43:08 +0200 |
| commit | 661f66fe07c8dd98fb40b20ec1f2c41519039c9c (patch) | |
| tree | 51a1f1dc6fa54aa4f7d69e6affe350715e8b169c | |
| parent | 3bb54ca1123275e36691578320ae95cd1e46730b (diff) | |
| download | Chimère-661f66fe07c8dd98fb40b20ec1f2c41519039c9c.tar.bz2 Chimère-661f66fe07c8dd98fb40b20ec1f2c41519039c9c.zip | |
Update for OL 2.13.1 - allow dynamic activation of pathCreate control
| -rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 2e2d238..bb44011 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -397,10 +397,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { if (!settings.edition_type_is_route){ methods.activateMarkerEdit(); } else { - settings.layerVectors.events.register('featuremodified', - settings.layerVectors, helpers.updateRouteForm); - settings.layerVectors.events.register('featureadded', - settings.layerVectors, helpers.featureRouteCreated); + methods.activateRouteEdit(); } } if (settings.routing_start_lon && settings.routing_start_lat){ @@ -458,10 +455,18 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { activateRouteEdit: function(){ settings.edition_type_is_route = true; + methods.cleanMarker(); settings.map.events.unregister('click', settings.map, - methods.setMarker); - settings.map.events.register('click', settings.map, - methods.displayMapMenu); + methods.setMarker); + if (settings.routing){ + settings.map.events.register('click', settings.map, + methods.displayMapMenu); + } else { + settings.layerVectors.events.register('featuremodified', + settings.layerVectors, helpers.updateRouteForm); + settings.layerVectors.events.register('featureadded', + settings.layerVectors, helpers.featureRouteCreated); + } }, activateMarkerEdit: function(){ @@ -925,10 +930,10 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { return feature; }, - - /* - * Put a route on the map - */ + cleanRoute: function(){ + settings.layerVectors.removeAllFeatures(); + }, + // Put a route on the map addRoute: function(route) { var polyline = route.geometry; var point_array = new Array(); @@ -1400,11 +1405,14 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { methods.putEditMarker(lonlat, false); OpenLayers.Event.stop(event); }, - /* put the marker on the map and update latitude and longitude fields */ - putEditMarker: function (lonlat, zoom){ + cleanMarker: function(){ if (settings.current_edit_feature) { settings.layerMarkers.removeMarker(settings.current_edit_feature); } + }, + /* put the marker on the map and update latitude and longitude fields */ + putEditMarker: function (lonlat, zoom){ + methods.cleanMarker(); settings.current_edit_feature = new OpenLayers.Marker(lonlat.clone(), settings.default_icon); settings.layerMarkers.addMarker(settings.current_edit_feature); @@ -1451,7 +1459,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { var pathModify = settings.map.getControlsByClass( 'OpenLayers.Control.ModifyFeature'); if (settings.current_feature && pathModify){ - pathModify[0].selectControl.select(settings.current_feature); + pathModify[0].selectFeature(settings.current_feature); } }, deactivateCurrentControl: function(){ @@ -1633,7 +1641,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { jQuery('#help-route-modify').show(); pathModify.activate(); helpers.updateRouteForm(event); - pathModify.selectControl.select(event.feature); + pathModify.selectFeature(event.feature); }, updateRouteForm: function(event) { /* update the form */ |
