| 1 |
Index: C:/projects/workspace/tschaub-feature/lib/OpenLayers/Control/DragPan.js |
|---|
| 2 |
=================================================================== |
|---|
| 3 |
--- C:/projects/workspace/tschaub-feature/lib/OpenLayers/Control/DragPan.js (revision 3330) |
|---|
| 4 |
+++ C:/projects/workspace/tschaub-feature/lib/OpenLayers/Control/DragPan.js (working copy) |
|---|
| 5 |
@@ -26,29 +26,26 @@ |
|---|
| 6 |
* @param {OpenLayers.Pixel} xy Pixel of the up position |
|---|
| 7 |
*/ |
|---|
| 8 |
panMap: function (xy) { |
|---|
| 9 |
- var deltaX = this.handler.start.x - xy.x; |
|---|
| 10 |
- var deltaY = this.handler.start.y - xy.y; |
|---|
| 11 |
- var size = this.map.getSize(); |
|---|
| 12 |
- var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX, |
|---|
| 13 |
- size.h / 2 + deltaY); |
|---|
| 14 |
- var newCenter = this.map.getLonLatFromViewPortPx( newXY ); |
|---|
| 15 |
- this.map.setCenter(newCenter, null, true); |
|---|
| 16 |
- // this assumes xy won't be changed inside Handler.Drag |
|---|
| 17 |
- // a safe bet for now, and saves us the extra call to clone(). |
|---|
| 18 |
- this.handler.start = xy; |
|---|
| 19 |
+ this.panMapDone(xy, true); |
|---|
| 20 |
}, |
|---|
| 21 |
|
|---|
| 22 |
/** |
|---|
| 23 |
* @param {OpenLayers.Pixel} xy Pixel of the up position |
|---|
| 24 |
+ * @param {boolean} dragging true: this is a drag operation |
|---|
| 25 |
*/ |
|---|
| 26 |
- panMapDone: function (xy) { |
|---|
| 27 |
+ panMapDone: function (xy, dragging) { |
|---|
| 28 |
var deltaX = this.handler.start.x - xy.x; |
|---|
| 29 |
var deltaY = this.handler.start.y - xy.y; |
|---|
| 30 |
- var size = this.map.getSize(); |
|---|
| 31 |
- var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX, |
|---|
| 32 |
- size.h / 2 + deltaY); |
|---|
| 33 |
- var newCenter = this.map.getLonLatFromViewPortPx( newXY ); |
|---|
| 34 |
- this.map.setCenter(newCenter, null, false); |
|---|
| 35 |
+ |
|---|
| 36 |
+ // only trigger a move event if we are actually moving |
|---|
| 37 |
+ if(deltaX || deltaY){ |
|---|
| 38 |
+ var size = this.map.getSize(); |
|---|
| 39 |
+ var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX, |
|---|
| 40 |
+ size.h / 2 + deltaY); |
|---|
| 41 |
+ var newCenter = this.map.getLonLatFromViewPortPx( newXY ); |
|---|
| 42 |
+ this.map.setCenter(newCenter, null, dragging); |
|---|
| 43 |
+ } |
|---|
| 44 |
+ |
|---|
| 45 |
// this assumes xy won't be changed inside Handler.Drag |
|---|
| 46 |
// a safe bet for now, and saves us the extra call to clone(). |
|---|
| 47 |
this.handler.start = xy; |
|---|