With two nested controls (DragFeature, SelectFeature), which - among others - activated two OpenLayers.Handler.Feature instances, the ModifyFeature control was fragile and hard to debug. The issue that @iwillig, @bartvde and myself tried to track down was that the two Feature handlers interfered with each other, making it hard to select features on mobile devices, and causing points to jump during dragging because of not updated last pixel positions. With this refactoring, there are no more nested controls. All that's left is a Drag handler. All tests pass. I had to remove one test that checked for dragging of an unselected point while another was selected, because now (and partially even before this change, thanks to the ugly drag handler hack that is now removed) dragging a point will also select it, saving the user an extra click.
28 KiB
28 KiB