Updated Interaction (markdown)

elemoine
2012-09-26 01:55:37 -07:00
parent 2fe07137ab
commit a779288345

@@ -1,31 +1,58 @@
# Interaction
Double Click Zoom:
## Double Click Zoom
* Apply a zoom factor
* Apply resolution constraint for each double click
* Is `zoomFactor` an option/property of the interaction or of the map?
* Double click handler:
```
var options = {constrain: true, animate: false};
map.moveTo(center, map.getResolution() * zoomFactor, options);
```
```
var options = {constrained: true, animated: false};
map.moveTo(center, map.getResolution() * factor, options)
```
Pinch Zoom:
## Pinch Zoom
* No resolution constraint while pinching
* Use CSS3 transforms?
* Apply resolution constraint when releasing mouse to determine the final resolution
* Animate to final resolution
* Pinching handler:
```
var options = {constrain: false, animate: false};
map.moveTo(center, map.getResolution() * scale, options);
```
Done pinching handler:
```
var options = {constrain: true, animate: true};
map.moveTo(center, map.getResolution() * scale, options);
```
(Alt) Drag Rotate:
* No rotation constraint while rotating
* Apply rotation constraint when releasing mouse to determine the final angle
* Animate to final angle
* Rotating handler:
```
var options = {constrain: false, animate: false};
map.rotate(angle, options);
```
Done rotating handler:
```
var options = {constrain: true, animate: true};
map.rotate(angle, options);
```
Mouse Wheel Zoom:
* Apply resolution constraint as the user scrolls
* Mouse wheel handler:
```
var options = {constrain: true, animate: false};
map.zoomTo(center, map.getResolution() * scale, options);
```
```
Map API: