Commit Graph

3222 Commits

Author SHA1 Message Date
ahocevar ed09173730 Deep clone geometry coordinates
Our geometries are mutable, so they can be modified without
creating garbage by changing coordinates in place and calling
setGeometry afterwards. But this also means that we need to
create a deep clone of the coordinates.
2013-11-12 11:36:40 +01:00
Tim Schaub 61741669f6 Unregister for feature events when removing features 2013-11-11 16:17:33 -07:00
ahocevar 382b2707df Merge pull request #1256 from ahocevar/simplify-select
Simplify Select interaction and prepare for programmatic feature selection without interaction
2013-11-11 13:19:57 -08:00
ahocevar 0ed208b710 Make renderIntent private and add a getter 2013-11-11 22:07:18 +01:00
ahocevar 299d729936 Make filter optional 2013-11-11 21:52:19 +01:00
ahocevar 467bcc8b62 Protect from features without geometry 2013-11-11 21:51:58 +01:00
Tim Schaub 85500fb616 Merge pull request #1252 from tschaub/expose-down
Add a getter for the most recent down event.
2013-11-11 11:27:19 -08:00
Bart van den Eijnden 3f7c40b1ad add an example of how to use a WKT string in a vector source 2013-11-11 12:45:06 +01:00
Éric Lemoine fdad53c619 Merge pull request #1231 from oterral/mouse_events
Fix touch events on IE10
2013-11-10 02:44:12 -08:00
ahocevar 03e20ce6f1 Do not fail on non-vector layers 2013-11-09 16:12:13 +01:00
ahocevar 26c8c954c3 Make selectedFeaturesFilter available to other components 2013-11-09 16:03:30 +01:00
ahocevar 97d38820fb Removing no longer used getFeatureWithUid method 2013-11-09 14:44:40 +01:00
ahocevar d9fd459654 Do not use a temporary layer for selected features 2013-11-09 14:15:35 +01:00
ahocevar 9fca2c407d Add a getFeatures method on the vector layer 2013-11-09 14:15:35 +01:00
ahocevar 7cf636147b Call setRenderIntent on the feature, not the layer 2013-11-09 14:15:35 +01:00
Olivier Terral 67d3b4527a Modify comments 2013-11-08 17:15:58 +01:00
Olivier Terral 726a04ce3e Forbid right click to trigger singleclick events on IE10 2013-11-08 13:30:58 +01:00
Olivier Terral d0b0d0470b Fix singleclick and doubleclick on windows Surface 2013-11-08 13:30:58 +01:00
Tim Schaub 009f7b53a1 Make interactions event targets 2013-11-07 16:39:05 -07:00
Frédéric Junod 7fb7a472b7 Merge pull request #1249 from fredj/apidoc_function
More precise {function} jsdoc definition
2013-11-07 13:22:30 -08:00
Tim Schaub 22fb418236 Provide a method to get the most recent down type event
This will allow interactions to conditionally handle later events based on the down event.
2013-11-07 11:21:01 -07:00
Tim Schaub 812cb7fb12 Leave the down_ event set
The other "up" type listeners (for touch and pointer) do not set this to null.  This event can be of use to a click listener that might want to compare the down position to the click event's position.
2013-11-07 11:02:04 -07:00
Tim Schaub dbc3109ddb Only call expireTiles_ if already rendered 2013-11-07 10:30:58 -07:00
Frederic Junod 01cc19af80 More precise {function} jsdoc definition 2013-11-07 16:03:19 +01:00
Frederic Junod 09e4c985a0 Export ol.coordinate.rotate 2013-11-06 08:58:06 +01:00
Frederic Junod a31a28278d Sort exports alphabetically 2013-11-06 08:57:15 +01:00
Tom Payne ee53fa7174 Merge pull request #1230 from glennvorhes/for_loop_iter
Remove declared iteration variables before for-loop
2013-11-05 02:00:23 -08:00
Glenn Vorhes 0fc727f989 Remove declared iteration variables before for-loop 2013-11-04 22:31:04 -06:00
Tim Schaub dcf510fe48 The code generated from objectliterals.jsdoc requires name on same line
Without this change, the `interactions` property is renamed on map options (see #1210).
2013-11-04 17:17:43 -07:00
Tim Schaub e207e80257 Merge pull request #1226 from tschaub/dirty-buffer
Buffer dirty extent when rendering,
2013-11-04 14:28:46 -08:00
ahocevar 32bf851957 Merge pull request #1225 from ahocevar/closest-on-segment
squaredDistanceToSegment and footOfPerpendicularToSegment
2013-11-04 13:43:42 -08:00
Tim Schaub b355c1f412 When expiring tiles, consider max symbol size
When an extent is invalidated, we have to expire tiles outside of that extent to account for symbolizer size.
2013-11-04 13:21:23 -07:00
Tim Schaub b0cea7139b Function to buffer an extent 2013-11-04 13:21:11 -07:00
ahocevar e9b934d041 Let closestOnSegment return nothing more than a coordinate
Since we do not use the 'along' property anywhere, and the
resulting array returned by closestOnSegment could cause trouble
when working with 3d coodinates, now only the closest point is
returned, and the squared distance to the segment is calculated
by squaredDistanceToSegment instead.
2013-11-04 20:54:07 +01:00
Tom Payne bfd40bd43d Merge pull request #1224 from twpayne/faster-object-getkeys
Make ol.Object#getKeys about 10x faster
2013-11-04 10:40:23 -08:00
ahocevar 1670b31142 Moving squaredDistanceToSegment to the coordinate package 2013-11-04 19:19:54 +01:00
Tom Payne 60245a57d8 Make ol.Object#getKeys about 10x faster 2013-11-04 18:18:31 +01:00
Peter Robins 341ea92323 Correct docs for map.getTarget 2013-11-03 04:54:31 -05:00
Tim Schaub 10b6b5f2c5 Merge pull request #1173 from tschaub/map-interaction
Give interactions a reference to their map.
2013-11-01 15:30:19 -07:00
Tim Schaub d5d005ba3f Allow interactions to deal directly with browser events
The relayEvent_ method wraps goog's browser events in our MapBrowserEvent.  This allows interactions to deal with real browser events in addition to our emulated events.
2013-11-01 13:07:44 -06:00
Paul Spencer 7df3c7506f Add support for passing interactions as an array for consistency. 2013-11-01 08:03:06 -04:00
Éric Lemoine 0f71323c05 Merge pull request #1203 from elemoine/touch
Map browser event handler refactoring
2013-11-01 01:51:38 -07:00
Frédéric Junod a05c426212 Merge pull request #1186 from fredj/validate_valueAsNumber
mouse-position example: Projection select issue
2013-10-31 23:49:48 -07:00
Paul Spencer 5af671b5f7 Merge pull request #1181 from pagameba/doc-observables
Add `@todo observable` documentation for observable properties
2013-10-31 10:51:20 -07:00
Bart van den Eijnden 8b085514b1 add Terms of Service to the Bing attribution
make sure the epsg4326Extent is constructed with the correct arguments
2013-10-31 16:49:46 +01:00
Tim Schaub 7fb56579c5 Add addInteraction and removeInteraction methods to the map
This is in line with how we add/remove controls and overlays.
2013-10-31 09:26:28 -06:00
Tim Schaub 7d2d68c011 Give interactions a reference to the map
This is in line with what we do for controls and overlays.  A follow-up change will add calls to `setMap` when interactions are added to a map.
2013-10-31 09:25:52 -06:00
Éric Lemoine d81fe5ac95 Map browser event handler refactoring
This commit refactors the code of the map browser event handler. The changes are the following:

Previously the `handleTouch*_` listener functions handled both `touch*` and `mspointer*` events. With this commit we use per-event type listeners. This duplicates some code (could be avoidable), but makes it easier to introduce mouse/touch/pointer specific treatments in the future.

We now listen to pointermove, pointerup, touchmove and touchend only when needed. In this way we're assured that a `down` event was received (and that `this.down_` is set) when the `up` or `move` listeners are called. This fixes the bug @oterral reported on the mailing list: https://groups.google.com/d/msg/ol3-dev/jR844F7Nlg8/eN9dt4uATK0J.

To avoid problems in browsers that trigger different types of events (e.g. both mouse and pointer events) the `down` listeners unregister the other `down` listeners. For example, the `pointerdown` listener unregisters the `mousedown` and `touchstart` listeners, for ever.
2013-10-31 13:35:01 +01:00
Éric Lemoine d211f65203 Merge pull request #1195 from elemoine/click
Emulated click events on mouse devices
2013-10-31 01:50:34 -07:00
Éric Lemoine 8402eee0c3 Map "click" event renamed to "singleclick"
As discussed with @tschaub in #1195.
2013-10-31 09:37:16 +01:00