[OpenLayers-Dev] click & pinch overhaul
Steven M. Ottens
steven at minst.net
Mon Mar 7 11:58:41 EST 2011
Thanks for the update, comments inline.
On 3/7/2011 4:56 PM, Tim Schaub wrote:
> There are a number of issues with how the click and pinch handlers
> work together. After adding pinch zoom, we lost the multi-touch click
> to zoom out. In addition, the pinch handler was overly cautious about
> stopping event propagation because the click handler wasn't
> particularly good at distinguishing clicks from pinches. I've
> overhauled the click handler to better distinguish clicks from pinches
> and resolved a number of issues that came up along the way.
There is no scroll-wheel support anymore, is this intentional. I know
that's not a touch device, but still it would be nice so you could use
the same client on all your platforms.
> Andreas had reviewed this patch in a previous state, but there were
> still some unhandled errors getting through, so I continued to modify it.
> I'd appreciate it if people could test the changes on real devices
> (I've only tested on emulators). To best test the changes, it is
> important to have an error console enabled.
I tested the url below with an iPad with iOS 4.2.1 and its Safari browser.
> You should see double-click (zoom in), multi-touch click (zoom out),
> and pinch (zoom/drag) working in this sandbox example (on multi-touch
Pinch zoom works fast and without problems. Pinch-zoom-dragging (moving
your two fingers over the device) is working as well correctly and
doesn't produce the drag-error mentioned below. Multi-touch click works
almost always, very rarely it gets mistaken for a pinch-gesture.
Double-click fails about 20%-60% of the time, without error. I tested it
with a colleague and we think the problem is that it is hard to tap
twice on exactly the same spot. As such a large 'buffer' area for the
second tap would be advisable.
> You should also see no unhandled errors. However, there are currently
> unhandled errors when dragging on the trunk (after r11635). I'll
> update the sandbox when this is addressed.
I run in this error, while dragging. It didn't seem to impact
performance or functionality. I take is the same as mentioned below:
TypeError: Result of expression'evt' [null] is not an object
I hope this helps a bit. In general I'm happy with the performance of
the client on the iPad, apart from the double-tap issue it is a pleasure
More information about the Dev