summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit661f66fe07c8dd98fb40b20ec1f2c41519039c9c (patch)
tree51a1f1dc6fa54aa4f7d69e6affe350715e8b169c
parent3bb54ca1123275e36691578320ae95cd1e46730b (diff)
downloadChimè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.js38
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 */