[Mapbender-commits] r7082 - in trunk/mapbender: conf
http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Nov 3 06:51:21 EDT 2010
Author: christoph
Date: 2010-11-03 03:51:21 -0700 (Wed, 03 Nov 2010)
New Revision: 7082
Modified:
trunk/mapbender/conf/digitize_default.conf
trunk/mapbender/http/javascripts/mod_digitize_tab.php
Log:
https://trac.osgeo.org/mapbender/ticket/716
Modified: trunk/mapbender/conf/digitize_default.conf
===================================================================
--- trunk/mapbender/conf/digitize_default.conf 2010-11-02 11:00:11 UTC (rev 7081)
+++ trunk/mapbender/conf/digitize_default.conf 2010-11-03 10:51:21 UTC (rev 7082)
@@ -27,6 +27,7 @@
var dotDistance = 7;
var linepointColor = "#ffff00";
var mod_digitize_elName = "digitize";
+var snapping = true;
var snappingColor = "#ff0000";
var snappingTolerance = 12;
Modified: trunk/mapbender/http/javascripts/mod_digitize_tab.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_digitize_tab.php 2010-11-02 11:00:11 UTC (rev 7081)
+++ trunk/mapbender/http/javascripts/mod_digitize_tab.php 2010-11-03 10:51:21 UTC (rev 7082)
@@ -564,13 +564,17 @@
// enable snapping to all points except
// the ones from this line
s.resetPoints();
- s.store(d);
- for (var j = 0; j < d.get(i).count(); j++) {
- var currentLine = d.getGeometry(i, j);
- for (var k = 0; k < currentLine.count(); k++) {
- s.removePoint(currentLine.get(k));
+ if (snapping) {
+ s.store(d);
+ for (var j = 0; j < d.get(i).count(); j++) {
+ var currentLine = d.getGeometry(i, j);
+ for (var k = 0; k < currentLine.count(); k++) {
+ s.removePoint(currentLine.get(k));
+ }
}
}
+
+
// delete last point, will be added again below,
// as the event has changed to "button_line"
d.getGeometry(i, -1).del(-1);
@@ -597,11 +601,15 @@
back: function () {
s.resetPoints();
d.del(currentGeomIndex);
- s.store(d);
+ if (snapping) {
+ s.store(d);
+ }
},
// add the multigeometry to the geometry array
forward: function () {
- s.store(d);
+ if (snapping) {
+ s.store(d);
+ }
parent.mb_enableButton(geometryType);
d.addMember(geometryType);
d.get(currentGeomIndex).addGeometry();
@@ -842,7 +850,9 @@
function selectBasepoint(e){
if(!basepointDragActive && mod_digitizeEvent == button_move){
basepointDragActive = true;
- s.store(d, d.getPoint(basepointMemberIndex, basepointGeometryIndex, basepointPointIndex));
+ if (snapping) {
+ s.store(d, d.getPoint(basepointMemberIndex, basepointGeometryIndex, basepointPointIndex));
+ }
// replace basepoint by transparent blob
basepointObject.style.width = mod_digitize_width + "px";
basepointObject.style.height = mod_digitize_height + "px";
@@ -1231,7 +1241,10 @@
//get a first snapping point for digitizing
if (mod_digitizeEvent == button_point || mod_digitizeEvent == button_line || mod_digitizeEvent == button_polygon || mod_digitizeEvent == button_insert ) {
- s.store(d);
+ s.resetPoints();
+ if (snapping) {
+ s.store(d);
+ }
}
if (mod_digitizeEvent == button_point || mod_digitizeEvent == button_line || mod_digitizeEvent == button_polygon || mod_digitizeEvent == button_insert ) {
@@ -1251,12 +1264,16 @@
back: function(){
s.resetPoints();
d.del(_currentGeomIndex);
- s.store(d);
+ if (snapping) {
+ s.store(d);
+ }
d.getGeometry(_currentGeomIndex, -1).reopen();
},
forward: function(){
d.close(-1);
- s.store(d);
+ if (snapping) {
+ s.store(d);
+ }
d.addMember(currentGeometryType);
d.get(_currentGeomIndex).addGeometry();
d.getGeometry(_currentGeomIndex,-1).setEpsg(currentEpsg);
@@ -1282,7 +1299,6 @@
}
}
else if (obj.id == button_line) {
- //s.store(d);
if (d.count() > 0 && d.get(_currentGeomIndex).count() > 0 && !d.get(_currentGeomIndex).get(-1).isComplete()) {
if (d.get(_currentGeomIndex).geomType != parent.geomType.line) {
// d.close();
More information about the Mapbender_commits
mailing list