Commit Graph

281 Commits

Author SHA1 Message Date
Éric Lemoine
8e0876488b Add a moveend event to layer. By registering to that event (instead of that at
the map level) strategies need to check that the layer is in range and active
before fetching new features. r=ahocevar (closes #1678)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7874 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-08-27 06:27:22 +00:00
crschmidt
f1882f0efa "panTo should use tween if new center is in the current bounds + a ratio".
Add a bounds.scale method (takes a ratio and an optional center) and 
call it from the panTo to give a ratio we can pan inside of. Patch by
sbenthall, r=me,elemoine (Closes #1341) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7678 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-08-02 01:56:36 +00:00
Tim Schaub
66a4c6fb0e Caching array length instead of accessing it with each iteration. r=crschmidt (closes #1636)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7627 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-31 04:44:25 +00:00
euzuro
c0d29035f4 more tabs. ech. (no functional changes)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7619 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-30 22:41:21 +00:00
euzuro
c3798b198c tab. (no functional difference)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7618 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-30 22:37:47 +00:00
crschmidt
61c528f3af Change getMousePosition to only be called automatically *if* the 'includeXY'
flag on the Events object is set to true. This ends up meaning that we save a
lot of unneccesary getMousePosition calls because (for example) the layer
doesn't need to include the .xy property. In addition, we add in speed
improvements via caching to the getMousePosition, courtesy the work from
pgiraud (which was worked on further by tcoulter) -- this results in
significantly improved getMousePosition performance improvements in 'real life'
situations that are more like the cases that people use OpenLayers, with a
higher number of containing divs (and also clearly demonstrate a gain in
performance even in the simple case.)

The end result is: 
 * In typical map movement over the map, (n / n+1) fewer calls to
   getMousePosition, where n is the number of active layers when dragging over
   the map.
 * In the simple case, 40% faster getMousePosition performance -- and in 
   more complex cases, significantly more performance improvements.

To drop the former improvement, which may affect some applications (as
described in the includeXY documentation) simply set:

  OpenLayers.Events.prototype.includeXY = true;

This will restore the 'every element has an xy property always' behavior
that was the case beore this patch. 

r=me,tschaub, work by pgiraud related to (See #1509), and (Closes #1459)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7615 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-30 21:23:19 +00:00
euzuro
0b58117c06 zoomToMaxExtent() and getMaxExtent() should be smarter if a 'restrictedExtent' property is set on the map. (Closes #1134)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7596 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-30 00:36:26 +00:00
euzuro
2fb730674a patch to make sure main openlayers map div has neither padding nor margin. done via css thanks to tim's fabulous new class manip patch. r=cr5 (Closes #1179)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7584 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-29 14:52:48 +00:00
pgiraud
4340867918 add a map getUnits method, r=ahocevar (Closes 1591)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7374 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-06-18 08:57:02 +00:00
Tim Schaub
74f4338fe0 Adding a bit of flexibility to extend and applyDefaults. First argument can now be undefined. r=pspencer,elemoine (closes #1564)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7311 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-06-05 20:37:40 +00:00
crschmidt
0978e6cfa7 Fix mistake in documentation: idx -> delta. Reported by aboudreault on IRC,
no functional change.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7190 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-05-15 14:14:32 +00:00
pgiraud
078deb2ffe exit the panTo method if the new center is the same as the current one, r=crschmidt (closes #1507)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7174 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-05-14 08:11:01 +00:00
Éric Lemoine
8a6d16e0dc zoomend event isn't described in the ND comments (non-functional change)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7060 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-05-04 11:48:20 +00:00
Tim Schaub
209f8f68f8 Fixing links in documentation. Other Natural Docs changes. (closes #1504)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6833 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-04-09 16:52:08 +00:00
Tim Schaub
cadc54cc4e Fixing panning for odd-sized viewports (broken in r6492). This makes map.getViewPortPxFromLonLat return fractional pixel values. To get integer pixel values, use map.getPixelFromLonLat. A better solution may be possible in the future. r=crschmidt (closes #1503)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6831 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-04-09 15:54:01 +00:00
crschmidt
ac181918a2 these should not be API properties. The only API Propety should be
getLonLatFromPixel: these are internal methods, nto designed to be used
by users.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6828 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-04-09 10:58:22 +00:00
euzuro
463dc45fbb Adding support for new generation 'framed' popups. This patch includes numerous improvements to the main popups, including the addition of autoSizing, panIntoView, and full support for overflow:auto of the contents div. Thanks go out to the CloudAmber folks, to Pierre in la belle France, to the guys at TOPP and of course, to senior cr5 for his patience and help in the last and final stretch. this is a huge improvement in the popup arena and couldn't have been done without the broad help of everyone out there in the community. Thank you everyone for making this possible. Big step for OpenLayers. (Closes #926)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6718 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-31 04:43:36 +00:00
Tim Schaub
d46f884201 Promoting the map.layers property to the API. Assuming this meets the approval of other devs, please roll back if not.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6661 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-28 16:58:21 +00:00
Tim Schaub
d12fd7c04c Smooth GDragging at last. Thanks to overstdr for digging up the getDragObject method. With v2.93 and later we no longer get flickers on panning. Non-API smooth dragging is no longer supported. r=crschmidt,me (closes #1402)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6492 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-11 18:32:17 +00:00
Tim Schaub
e7b9a9a41b Adding explicit eventListener unregistering in map, layer, and control destroy methods. Note that this only makes explicit what is already happening elsewhere, but it makes us feel complete. Also throwing in the example I missed in the previous change. r=euzuro (closes #1404)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6447 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-06 18:24:18 +00:00
Tim Schaub
438011bdab No var keyword needed in this scope.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6444 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-06 09:23:10 +00:00
Tim Schaub
894c457fdd Adding eventListeners property to layer, control, and map. Setting this property at construction registers the given listeners based on event type key. r=elemoine (closes #1404)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6435 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-05 00:07:46 +00:00
Tim Schaub
7001ce1be6 A bit more docs for fractionalZoom.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6423 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-29 21:13:42 +00:00
crschmidt
5f93cc2b52 panmethod option on map to allow for the turning off of animated panning.
Includes example. All tests pass. r=tschaub. (Closes #1356)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6411 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-29 06:03:12 +00:00
crschmidt
c92527fae5 Improve calls to movestart/moveend so that they happen at the start/end of
moves. This includes fixing pantween to set playing to false after it is
done, and fixing the map to store its dragging state again so we can use
it to figure out when a move has started.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6398 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-28 19:47:38 +00:00
pgiraud
ffecbe0594 add a new 'playing' property to the Tween class so that a call to stop doesn't do anything if animation is already finished, r=ahocevar,crschmidt (Closes #1392)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6387 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-27 13:57:13 +00:00
Tim Schaub
0a96e9c17b Adding a preaddlayer event for maps. This is triggered before a layer is added. r=me (closes #1220)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6329 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-20 23:39:46 +00:00
Tim Schaub
fa55f54e32 Adding framework for internationalization support. The new OpenLayers.Lang.translate method takes a key and looks for a value in a dictionary based on the current language setting. Set a new language code with OpenLayers.Lang.setCode. Get the current code with OpenLayers.Lang.getCode. Thanks to Mike Adair for the lead on this one. r=ahocevar,me (closes #109)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6313 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-15 21:15:48 +00:00
crschmidt
38a6b180ba Map depends on tweening; fix single file builds for users who have
custom profiles. Reported by Bart on the mailing list.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6204 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-11 14:15:15 +00:00
pgiraud
93b25bf073 It looked like movestart, move and moveend events weren't triggered in a good way while using panTo (with panTween effect), this is fixed by calling moveTo with 'dragging' and 'noEvent' options, and trigering 'moveend' internaly, r=crschmidt (Closes #1348)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6203 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-11 13:55:04 +00:00
crschmidt
1bb88a2f13 Make popup text selectable in Firefox. (Closes #1129)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6176 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-09 19:35:27 +00:00
ahocevar
886b963ce5 Fixed several destroy() methods to avoid running into undefined objects when the page unloads. r=crschmidt,me (closes #1222)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6172 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-09 18:51:48 +00:00
Tim Schaub
f27833f1db Trigger feature related events with feature information and layer related events with layer information. Also adding events.on and events.un convenience methods. r=crschmidt (closes #1343)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6149 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 23:31:27 +00:00
crschmidt
d555835791 Committed the wrong version of this file somehow; this should have been in
the commit for #110.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6129 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 19:47:51 +00:00
crschmidt
bb26a2601d Add support for animated panning, with most of the work done by Pierre, thx pierre! panTo method now animates when moving. (Closes #110)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6111 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 16:28:11 +00:00
crschmidt
3f7bbdfa9c Fix for map destroy doesn't clean up all listeners r=tschaub (Closes #1301)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6108 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 16:04:00 +00:00
crschmidt
03a827de4d Refactor setCenter to do most of its work through a smarter function called
moveTo. In moveTo, we also have knowledge of whether the event was fired
through setCenter, allowing us to know the difference between an 'internal'
move and an external one.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6099 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 13:23:41 +00:00
Tim Schaub
211a2834de Adding fractionalZoom property to the map. This allows zooming to an arbitrary level, making it possible to have non-discrete resolutions for layers that support it. This property should not be set to true for layers with fixed zoom levels (commercial layers or others with cached tiles). r=elemoine,crschmidt,ahocevar (closes #1243)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5982 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-04 06:23:54 +00:00
Tim Schaub
5a176d7852 Explicitly check that we know who the parent is before removing child from parent. r=crschmidt (closes #1316)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5973 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-02 22:48:37 +00:00
Éric Lemoine
221967cc3f Map.setCenter() should not call Layer.moveTo if inRange has changed to false.
With this patch you should no longer see tiles loading if your layer is out of
range or not visible. Hopefully! r=crschmidt (closes #937)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5913 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-27 22:59:31 +00:00
crschmidt
5f3e05bb5e Set the fallThrough property to 'true' by default. This seems to have no
adverse affect on the examples, is documented in the 2.6 release notes, 
and will allow for easier display of built-in browser tooltips for 
controls. r=elemoine (Closes #1303)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5907 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-27 14:10:00 +00:00
Tim Schaub
74bbd0347e Documenting supported event types for the map.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5853 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-23 20:08:43 +00:00
Tim Schaub
9193ef67d5 Gutting the OverviewMap control to give it an update. Now uses a click handler and a drag handler instead of its own event handling code. In addition, the control now has a minRecSize property. When the extent rectangle is smaller than the specified size, its style is switched. By default, we provide a rectangle replacement graphic. This can be customized with CSS. Finally, I'm tucking in one non-API property. The dragging arg sent to map.setCenter is now stored at map.dragging. This gives easy reference to dragging state where a reference to the navigation control and its drag handler is not convenient. r=pspencer (closes #1244)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5674 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-07 20:54:28 +00:00
crschmidt
09e0d3ec81 Update copyrights to 2008.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5614 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-01 08:14:55 +00:00
Tim Schaub
33e313b059 Separating jsdoc style docs into their own block. The new NaturalDocs doesn't parse these mixed blocks, giving us no class descriptions with the two together. (closes #1229)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5553 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-21 08:28:09 +00:00
Tim Schaub
36e04a689f Adding OpenLayers.Array.filter to mimic Array.prototype.filter. Adding panel.getControlsBy and related methods that use filter. Reworking map.getBy to use filter as well. r=elemoine (closes #1203)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5532 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-20 08:12:19 +00:00
crschmidt
acc8cfc0f2 add displayProjection API Property on the Map, and on relevant controls.
Spherical mercator example now makes use of this, displaying coordinates 
in lon/lat instead of meters, and permalink/argparser now work in lon/lat
as well. this functionality will make using SphericalMercator easier for
a number of applications. 
r=tschaub (Closes #1036)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5519 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-19 23:36:34 +00:00
Frédéric Junod
65ad59a277 Don't override tileSize, maxExtent and theme when calling
Map.setOptions(). Thanks pspencer for the review. (Closes #1206)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5505 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-19 07:30:52 +00:00
crschmidt
abe2a52c31 With a confirmation that Tim is happy considering this a review, I'm going to
go ahead and commit this (relatively lighttweight) patch to the code so that
the projection library base API is there, even though for the most part, it's
not usable yet. This changes map.projection from being a string to being a 
class, with a projCode on it. (Closes #1035)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5401 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-13 23:29:18 +00:00
Tim Schaub
ac1f51a19a renaming getLayersByType and getControlsByType to getLayersByClass and getControlsByClass - since controls have a type property, we want to leave room for a real getControlsByType - thanks for the review elem (closes #1153).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5387 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-12 20:17:30 +00:00