Compare commits

...

255 Commits

Author SHA1 Message Date
Tim Schaub 8046a2acc1 3.19.0-beta.1 2016-09-26 09:48:42 -06:00
Tim Schaub f8bcd725ad Merge pull request #5914 from tschaub/multi-poly-clip
Allow clipping by MultiPolygon
2016-09-26 06:39:12 -06:00
Andreas Hocevar 0ae73632cc Merge pull request #5894 from ahocevar/reuse-arrays
Reuse arrays for rendered tiles and extent
2016-09-26 14:35:58 +02:00
Andreas Hocevar 1fffd0d749 Merge pull request #5895 from ahocevar/straight-extent
Always use the frameState's extent
2016-09-26 14:30:55 +02:00
Tim Schaub f444800fc6 Only call beginPath once per MultiPolygon 2016-09-26 06:13:01 -06:00
Andreas Hocevar 3026fda02b Use pixel rounded center for the WebGL renderer transform 2016-09-26 13:28:09 +02:00
Frédéric Junod d8fbc09326 Merge pull request #5911 from openlayers/greenkeeper-eslint-3.6.0
Update eslint to version 3.6.0 🚀
2016-09-26 09:37:09 +02:00
Frédéric Junod 27cdbf9c00 Merge pull request #5903 from fredj/ol.format.filter
Rename ol.format.ogc.filter namespace to ol.format.filter
2016-09-26 08:38:30 +02:00
Frédéric Junod 5083e7a395 Merge pull request #5913 from openlayers/greenkeeper-clean-css-3.4.20
Update clean-css to version 3.4.20 🚀
2016-09-26 08:36:32 +02:00
greenkeeperio-bot b92dc1b55d chore(package): update clean-css to version 3.4.20
https://greenkeeper.io/
2016-09-25 22:53:18 -06:00
greenkeeperio-bot 0b1e16bf58 chore(package): update eslint to version 3.6.0
https://greenkeeper.io/
2016-09-23 16:33:27 -06:00
Marc Jansen 66854c0669 Merge pull request #5776 from jonataswalker/add-radius-to-circle
Add ol.style.Circle#setRadius
2016-09-23 21:16:00 +02:00
Frédéric Junod 833247d24e Merge pull request #5905 from openlayers/greenkeeper-pbf-3.0.1
Update pbf to version 3.0.1 🚀
2016-09-21 08:36:17 +02:00
Frederic Junod 78af52d62d Rename ol.format.ogc.filter namespace to ol.format.filter 2016-09-21 08:35:49 +02:00
Frédéric Junod addc23b20e Merge pull request #5904 from fredj/upgrade-notes_code
Fix changelog/upgrade-notes.md formating
2016-09-21 08:34:36 +02:00
greenkeeperio-bot 1d43ee38e6 chore(package): update pbf to version 3.0.1
https://greenkeeper.io/
2016-09-20 22:18:23 -07:00
Frédéric Junod d27b057969 Merge pull request #5906 from openlayers/greenkeeper-glob-7.1.0
Update glob to version 7.1.0 🚀
2016-09-21 07:18:03 +02:00
greenkeeperio-bot b20a9ac1e9 chore(package): update glob to version 7.1.0
https://greenkeeper.io/
2016-09-20 11:38:26 -07:00
Frederic Junod 84c50ca6b2 Fix changelog/upgrade-notes.md formating 2016-09-20 16:54:19 +02:00
Frédéric Junod 22014f2454 Merge pull request #5898 from openlayers/greenkeeper-sinon-1.17.6
Update sinon to version 1.17.6 🚀
2016-09-20 08:33:43 +02:00
Frédéric Junod ae61fcfb34 Merge pull request #5888 from fredj/rm_unused
Remove unused functions
2016-09-20 08:33:12 +02:00
Frédéric Junod 474e5a0a98 Merge pull request #5900 from openlayers/greenkeeper-coveralls-2.11.14
Update coveralls to version 2.11.14 🚀
2016-09-20 08:32:25 +02:00
greenkeeperio-bot 8bf2ebb38d chore(package): update coveralls to version 2.11.14
https://greenkeeper.io/
2016-09-19 11:35:57 -06:00
greenkeeperio-bot 096506ed37 chore(package): update sinon to version 1.17.6
https://greenkeeper.io/
2016-09-19 06:51:37 -06:00
Andreas Hocevar 90cfde39b3 Merge pull request #5897 from ahocevar/wms-time-data
Show NEXRAD data in WMS Time example
2016-09-16 20:12:42 +02:00
Andreas Hocevar 36aeccdac2 Merge pull request #5896 from probins/renderer
Remove plain string from Map renderer option
2016-09-16 20:10:23 +02:00
Andreas Hocevar a88f150c4b Show NEXRAD data in WMS Time example 2016-09-16 20:02:09 +02:00
Peter Robins d4024846cf Remove plain string from Map renderer option
To get this to compile with the examples, typecasts have to be added to Map renderer options.
2016-09-16 15:43:20 +00:00
Andreas Hocevar e9056c9d30 Merge pull request #5893 from ahocevar/fix-assertion
Fix fillStyle or strokeStyle defined assertion
2016-09-16 15:06:20 +02:00
Andreas Hocevar 76605e232a Merge pull request #5892 from probins/getrenderer
Remove getRendererFromQueryString from examples
2016-09-16 15:05:57 +02:00
Andreas Hocevar 9950e97c54 Always use the frameState's extent
Since the tile renderer aligns tiles to pixels anyway, we do not need to
modify the extent to make its center align with a pixel.
2016-09-16 15:02:21 +02:00
Andreas Hocevar b0a654534c Reuse arrays for rendered tiles and extent 2016-09-16 14:58:39 +02:00
Andreas Hocevar e87c198eef Fix fillStyle or strokeStyle defined assertion 2016-09-16 14:21:10 +02:00
Peter Robins 7d5635092a Remove getRendererFromQueryString from examples 2016-09-16 09:34:30 +00:00
Andreas Hocevar 49e2e55063 Merge pull request #5889 from openlayers/greenkeeper-coveralls-2.11.13
Update coveralls to version 2.11.13 🚀
2016-09-15 23:10:20 +02:00
greenkeeperio-bot c80918c8d8 chore(package): update coveralls to version 2.11.13
https://greenkeeper.io/
2016-09-15 11:40:22 -06:00
Frederic Junod 000207016f Remove unused ol.tilecoord.createFromString function 2016-09-15 16:33:58 +02:00
Frederic Junod 932269c8b6 Remove unused ol.color.isValid function 2016-09-15 16:33:42 +02:00
Frédéric Junod 415105c4db Merge pull request #5886 from fredj/rm_unused
Remove unused functions
2016-09-15 15:49:01 +02:00
Frederic Junod d812804b2e Remove unused ol.array.binaryFindNearest function 2016-09-15 10:39:46 +02:00
Frederic Junod d108658cff Remove unused ol.size.equals function 2016-09-15 10:39:46 +02:00
Frederic Junod 97ececb470 Remove unused ol.coordinate.fromProjectedArray function 2016-09-15 10:39:46 +02:00
Frederic Junod a4504b0e00 Remove unused ol.TileRange.boundingTileRange function 2016-09-15 10:21:50 +02:00
Bart van den Eijnden 175727c782 Merge pull request #5885 from bartvde/issue-5524
Remove unused pruneTileRange function
2016-09-15 10:18:28 +02:00
Bart van den Eijnden 589c6b7ded Get rid of unused pruneTileRange function 2016-09-15 10:07:25 +02:00
Frédéric Junod e416a884b7 Merge pull request #5853 from fredj/number_range_expandUrl
Allow more than one digit range in ol.TileUrlFunction.expandUrl
2016-09-15 09:20:52 +02:00
Frederic Junod 2591f61fd3 Allow more than one digit range in ol.TileUrlFunction.expandUrl
To be able to have number range like `{9-13}`
2016-09-15 08:44:22 +02:00
Marc Jansen bdced57162 Merge pull request #5445 from fblackburn/select_interaction_fix_style_function
Select interaction default styling function can now handle geometry less features
2016-09-14 16:21:31 +02:00
Francois Blackburn f12a407a7d Fix a crash in select interaction default styling function when receiving a feature without geometry 2016-09-14 08:37:07 -04:00
Frédéric Junod 752b4c6247 Merge pull request #5884 from fredj/indent
Fix jsdoc tag indentation
2016-09-14 14:18:55 +02:00
Frederic Junod d2291360ba Fix jsdoc tag indentation 2016-09-14 13:57:50 +02:00
Frédéric Junod 7ec100f3f8 Merge pull request #5863 from fredj/stroke_pattern
Allow CanvasPattern or CanvasGradient as stroke style
2016-09-14 08:38:41 +02:00
Marc Jansen 4864306d0c Merge pull request #5838 from marcjansen/more-requires
Require ol where ol.DEBUG is being used
2016-09-14 07:58:18 +02:00
jonataswalker 1372f98822 Add ol.style.Circle#setRadius 2016-09-13 17:24:31 -03:00
Andreas Hocevar 057f60e4f1 Merge pull request #5878 from ahocevar/polygon-appendflatcoordinates
Smarter handling of closed rings and closePath() instructions
2016-09-13 20:14:25 +02:00
Marc Jansen f5d82ff7bd Merge pull request #5880 from marcjansen/fewer-linter-warnings
More work towards one provide per file
2016-09-13 20:11:10 +02:00
Marc Jansen dfbeba02c8 Merge pull request #5857 from KlausBenndorf/multiOptionSelectInteraction
Fixed issue with multi option of ol.interaction.Select
2016-09-13 20:10:25 +02:00
Frederic Junod e48fda6bef Allow CanvasPattern or CanvasGradient as stroke style 2016-09-13 17:16:29 +02:00
Andreas Hocevar c8c1578928 Add rendering tests for simplified polygons 2016-09-13 16:32:55 +02:00
simonseyock 7392db0f57 Fixed issue with multi option of ol.interaction.Select 2016-09-13 13:29:44 +02:00
Marc Jansen 7b8b300b31 Rename source.RasterEvent* to source.Raster.Event* 2016-09-13 09:25:47 +02:00
Marc Jansen bb43a45f91 Move provider and layerconfig to be class members 2016-09-13 08:47:19 +02:00
Andreas Hocevar e7bc7121d6 Add option to skip first coordinate for use with closePath() 2016-09-13 02:14:12 +02:00
Andreas Hocevar 430aee95fd Only check for fill and stroke once 2016-09-13 02:14:12 +02:00
Andreas Hocevar 129757578d Do not repeat first vertex when closed is true 2016-09-13 02:13:30 +02:00
Marc Jansen 51776ed79e Merge pull request #5876 from KlausBenndorf/useCloneInKMLFormat
Use clone method in kml format
2016-09-12 16:02:33 +02:00
Simon Seyock 640307d8f1 Use clone method in kml format 2016-09-12 14:17:14 +02:00
Marc Jansen 6192234e4e Merge pull request #5832 from KlausBenndorf/cloneStyle
Add clone methods to styles
2016-09-12 13:15:10 +02:00
Simon Seyock ef0300b828 More consistent use of be and eql in tests 2016-09-12 12:17:47 +02:00
Simon Seyock c5ba4af2a6 Restored ol.style.RegularShape#getPoints behaviour 2016-09-12 12:13:21 +02:00
Frédéric Junod 2ac33073cf Merge pull request #5869 from openlayers/greenkeeper-jsdoc-3.4.1
Update jsdoc to version 3.4.1 🚀
2016-09-12 09:10:04 +02:00
Simon Seyock 37a11c89b9 Added note about coping the atlasManager 2016-09-11 21:45:01 +02:00
Simon Seyock b86a12e121 Added remaining tests 2016-09-11 21:45:00 +02:00
Simon Seyock 9f32e8d566 Added cloning of image element, color cloning 2016-09-11 21:44:59 +02:00
Simon Seyock 147f091998 Added ol.style.Icon#clone test 2016-09-11 21:44:58 +02:00
Simon Seyock a183c66704 Added tests for ol.style.Circle, ol.style.Stroke & ol.style.Fill 2016-09-11 21:44:58 +02:00
simonseyock c561f1587b Add clone methods to styles 2016-09-11 21:44:52 +02:00
Tim Schaub ae16b9ed63 Merge pull request #5872 from tschaub/color-type
Keep ol.Color as Array<number>
2016-09-10 18:11:13 -06:00
Tim Schaub f61a43b3c6 Keep ol.Color as Array<number> 2016-09-10 11:12:10 -06:00
greenkeeperio-bot e7ff7786a6 chore(package): update jsdoc to version 3.4.1
https://greenkeeper.io/
2016-09-10 04:29:48 -06:00
Andreas Hocevar c7e743805b Merge pull request #5870 from openlayers/greenkeeper-eslint-3.5.0
Update eslint to version 3.5.0 🚀
2016-09-10 11:29:30 +01:00
greenkeeperio-bot 46908bad18 chore(package): update eslint to version 3.5.0
https://greenkeeper.io/
2016-09-09 14:29:32 -06:00
Marc Jansen 6c56d34330 Merge pull request #5867 from marcjansen/pattern-gradient-example
Add dedicated example using CanvasPattern and CanvasGradient for styling vectors
2016-09-08 13:53:03 +02:00
Frédéric Junod 5f9855bf5a Merge pull request #5864 from fredj/more_renaming
More renaming
2016-09-08 13:03:11 +02:00
Marc Jansen 09d3028ece Add example using CanvasPattern and CanvasGradient 2016-09-08 12:20:17 +02:00
Marc Jansen e5ac575eb3 Simplify basic vector layer example
This effectively reverts the changes introduced by 860aa9ff46.
2016-09-08 08:44:35 +02:00
Frederic Junod f860c94840 Rename ol.ModifyEventType to ol.interaction.Modify.EventType 2016-09-07 16:57:03 +02:00
Frederic Junod c6a9bc66d6 Rename ol.interaction.ModifyEvent to ol.interaction.Modify.Event 2016-09-07 16:55:47 +02:00
Frederic Junod c30a97ef59 Rename ol.interaction.SelectEventType to ol.interaction.Select.EventType 2016-09-07 16:49:18 +02:00
Frederic Junod fa40b59c53 Rename ol.interaction.SelectEvent to ol.interaction.Select.Event 2016-09-07 16:46:26 +02:00
Frederic Junod 82d172545c Rename ol.interaction.DrawEventType to ol.interaction.Draw.EventType 2016-09-07 16:43:18 +02:00
Frederic Junod 3d1b1d5ac5 Rename ol.interaction.DrawEvent to ol.interaction.Draw.Event 2016-09-07 16:40:42 +02:00
Frederic Junod 3e4ed489a4 Rename ol.interaction.DrawMode to ol.interaction.Draw.Mode 2016-09-07 16:38:16 +02:00
Frédéric Junod 9a9b22ec5e Merge pull request #5861 from fredj/more_renaming
More renaming to have one provide per file
2016-09-07 13:02:40 +02:00
Frederic Junod d35537e975 Rename ol.layer.TileProperty to ol.layer.Tile.Property 2016-09-07 10:47:39 +02:00
Frederic Junod 302f37ae7a Rename ol.interaction.ExtentEventType to ol.interaction.Extent.EventType 2016-09-07 10:36:02 +02:00
Frederic Junod 151e9866ea Rename ol.interaction.ExtentEvent to ol.interaction.Extent.Event 2016-09-07 10:34:10 +02:00
Frederic Junod cfc1337cde Rename ol.source.ImageEventType to ol.source.Image.EventType 2016-09-07 10:22:25 +02:00
Frederic Junod d08e9e65b4 Rename ol.source.ImageEvent to ol.source.Image.Event 2016-09-07 10:21:21 +02:00
Frederic Junod 36b50ab491 Rename ol.interaction.TranslateEventType to ol.interaction.Translate.EventType 2016-09-07 10:14:11 +02:00
Frederic Junod 7ced5e68be Rename ol.interaction.TranslateEvent to ol.interaction.Translate.Event 2016-09-07 10:12:30 +02:00
Frederic Junod 107dd6a85f Rename ol.MapEventType to ol.MapEvent.Type 2016-09-07 10:05:38 +02:00
Frédéric Junod a40717b7c9 Merge pull request #5860 from fredj/more_renaming
Rename ol.MapProperty and ol.interaction.DragAndDropEvent*
2016-09-07 09:53:35 +02:00
Frederic Junod 14c9212992 Rename ol.interaction.DragAndDropEventType to ol.interaction.DragAndDrop.EventType 2016-09-07 09:38:16 +02:00
Frederic Junod dfa0c00810 Rename ol.interaction.DragAndDropEvent to ol.interaction.DragAndDrop.Event 2016-09-07 09:38:16 +02:00
Frederic Junod 6c7b395024 Rename ol.MapProperty to ol.Map.Property 2016-09-07 09:38:16 +02:00
Frédéric Junod ac26a2cfcd Merge pull request #5855 from fredj/rename_dragbox_event
Rename ol.DragBoxEvent* to ol.interaction.DragBox.Event*
2016-09-07 09:37:59 +02:00
Frédéric Junod d55e4cd028 Merge pull request #5859 from fredj/rname_ol.RendererType
Rename ol.RendererType to ol.renderer.Type
2016-09-07 09:24:29 +02:00
Frederic Junod db2b8666b6 Rename ol.RendererType to ol.renderer.Type 2016-09-07 08:57:23 +02:00
Frederic Junod f6daa99082 Rename ol.DragBoxEventType to ol.interaction.DragBox.EventType 2016-09-06 09:14:36 +02:00
Frederic Junod 7135cec0fd Rename ol.DragBoxEvent to ol.interaction.DragBox.Event 2016-09-06 09:10:17 +02:00
Frédéric Junod 86c1513062 Merge pull request #5846 from probins/patch-2
Remove unused goog.require('ol')
2016-09-06 08:54:19 +02:00
Frédéric Junod 00c62f4db7 Merge pull request #5854 from fredj/fillPattern_example
Use a canvas pattern in the vector-layer example
2016-09-05 14:27:34 +02:00
Frederic Junod 860aa9ff46 Use a canvas pattern in the vector-layer example 2016-09-05 12:32:09 +02:00
Frédéric Junod d06b5dc818 Merge pull request #5852 from fredj/ol.interaction.Extent_cleanup
ol.interaction.extent cleanup
2016-09-05 09:51:47 +02:00
Frédéric Junod df6eee5d79 Merge pull request #5851 from fredj/rm_imageByContext_
Remove unused imageByContext_ in ol.ImageTile
2016-09-05 09:21:21 +02:00
Frederic Junod ed4401e15e Remove unused removeExtentFeature_ function in ol.interaction.Extent 2016-09-05 09:14:49 +02:00
Frederic Junod cd7bc2e4bf Remove unused removeExtentFeature_ function in ol.interaction.Extent 2016-09-05 09:14:49 +02:00
Frederic Junod d863cff28d Remove unused lastPixel_ in ol.interaction.Extent 2016-09-05 09:14:49 +02:00
Frederic Junod 6c7f50a38e Add '=' to optional parameter annotation 2016-09-05 09:14:49 +02:00
Frederic Junod 1deedd5b7a Remove unused imageByContext_ in ol.ImageTile
Leftover from #5815
2016-09-05 09:07:21 +02:00
Frédéric Junod 6bb3301b7d Merge pull request #5849 from fredj/global_externs
Remove 'global' from externs/closure-compiler.js
2016-09-05 09:06:07 +02:00
Frederic Junod a3a2e82696 Remove 'global' from externs/closure-compiler.js 2016-09-05 08:37:14 +02:00
Peter Robins c4ea5e60c2 Remove unused goog.require 2016-09-03 14:57:32 +01:00
Tim Schaub 956aed7eb4 Merge pull request #5837 from tschaub/global
Remove ol.global
2016-09-02 21:18:26 -06:00
Andreas Hocevar f4b40ab28e Merge pull request #5842 from ahocevar/remove-extra-provide
Remove extra provide causing a circular dependency
2016-09-02 22:05:49 +02:00
Andreas Hocevar ae41b83a78 Remove extra provide causing a circular dependency 2016-09-02 21:46:46 +02:00
Andreas Hocevar 9b61e8f44c Merge pull request #5795 from thomasmoelhave/wmts-tile-transitions
Render older loaded tiles while waiting for new tiles
2016-09-02 16:53:55 +02:00
Thomas Moelhave 8af5dd7157 Move interim chain tests to ol.Tile 2016-09-02 15:50:22 +02:00
Marc Jansen 64e44009e0 Merge pull request #5840 from marcjansen/one-provide-per-file
Rename source.wms.ServerType ➛ source.WMSServerType
2016-09-02 15:37:56 +02:00
Andreas Hocevar ed17cbc6f0 Move interim tile related methods to ol.Tile 2016-09-02 15:28:28 +02:00
Thomas Moelhave 69fc9edb4d Render older loaded tiles while waiting for new tiles 2016-09-02 15:28:28 +02:00
Marc Jansen 9bf524a288 Rename source.wms.ServerType ➛ source.WMSServerType 2016-09-02 15:21:40 +02:00
Marc Jansen 98aba50735 Merge pull request #5839 from marcjansen/rename-vector-event
Rename source.VectorEvent(*) to source.Vector.Event(*)
2016-09-02 14:49:52 +02:00
Marc Jansen 02c1e78412 Rename source.VectorEvent(*) to source.Vector.Event(*) 2016-09-02 14:29:15 +02:00
Marc Jansen 5afd5c838e Require ol in ol.tileurlfunction 2016-09-02 11:20:49 +02:00
Marc Jansen 36281373b7 Require ol in ol.tilecoord 2016-09-02 11:20:37 +02:00
Marc Jansen 58e4bad459 Require ol in ol.style.iconimagecache 2016-09-02 11:20:15 +02:00
Marc Jansen 794abed395 Require ol in ol.structs.priorityqueue 2016-09-02 11:19:38 +02:00
Marc Jansen 0586a3d98a Require ol in ol.structs.lrucache 2016-09-02 11:19:15 +02:00
Marc Jansen ae929c1b6d Require ol in ol.math 2016-09-02 11:18:53 +02:00
Marc Jansen 7c58794b6f Require ol in ol.graticule 2016-09-02 11:18:42 +02:00
Marc Jansen f3979d47db Require ol in ol.geom.flat.intersectsextent 2016-09-02 11:18:22 +02:00
Marc Jansen 5448871029 Require ol in ol.geom.flat.interpolate 2016-09-02 11:18:08 +02:00
Marc Jansen ae67419f76 Require ol in ol.geom.flat.interiorpoint 2016-09-02 11:17:51 +02:00
Marc Jansen 3740f05d5b Require ol in ol.geom.flat.geodesic 2016-09-02 11:17:33 +02:00
Marc Jansen 2c4060a38d Require ol in ol.geom.flat.deflate 2016-09-02 11:17:19 +02:00
Marc Jansen e8fed9c21f Require ol in ol.geom.flat.contains 2016-09-02 11:17:03 +02:00
Marc Jansen 870ddceafd Require ol in ol.geom.flat.closest 2016-09-02 11:16:51 +02:00
Marc Jansen 46272fbaa4 Require ol in ol.extent 2016-09-02 11:09:03 +02:00
Marc Jansen d5691676de Require ol in ol.array 2016-09-02 11:08:33 +02:00
Andreas Hocevar e962b6f801 Merge pull request #5835 from thomasmoelhave/getuid-sequence
document and test ol.getUid sequence behavior
2016-09-02 10:34:22 +02:00
Thomas Moelhave eddfc04ccc Document and test ol.getUid sequence behavior 2016-09-02 09:09:24 +02:00
Tim Schaub 651c6959ab Remove ol.global 2016-09-01 23:13:00 -06:00
Tim Schaub 785639338b Merge pull request #5834 from thomasmoelhave/remove-goog-debug
Rename goog.DEBUG to ol.DEBUG
2016-09-01 19:11:04 -06:00
Thomas Moelhave 0fd834b4e1 Rename goog.DEBUG to ol.DEBUG 2016-09-01 20:00:45 +02:00
Tim Schaub 617dca34f5 Merge pull request #5815 from tschaub/domless
Remove the DOM renderer
2016-09-01 09:07:03 -06:00
Andreas Hocevar a445d80c03 Merge tag 'v3.18.2'
3.18.2
2016-09-01 16:53:21 +02:00
Andreas Hocevar 394c338ff8 Update package version to 3.18.2 2016-09-01 16:44:37 +02:00
Andreas Hocevar a112dd83e2 Changelog for v3.18.2 2016-09-01 16:44:06 +02:00
Andreas Hocevar c6aef2a7da Merge pull request #5828 from ahocevar/close-polygons
Always close polygon rings
2016-09-01 16:41:21 +02:00
Andreas Hocevar 7911ab1d18 Merge pull request #5828 from ahocevar/close-polygons
Always close polygon rings
2016-09-01 16:38:01 +02:00
Andreas Hocevar 6e0b406c7b Always close polygon rings
This ensures that we do not optimize away the last vertex of a polygon
2016-09-01 16:19:41 +02:00
Tim Schaub 935348fdca Remove unnecessary ol.vec.Mat4 dependency 2016-09-01 07:32:05 -06:00
Tim Schaub 0ea5ded807 Remove unused ol.dom.setTransform() 2016-09-01 07:32:05 -06:00
Tim Schaub 0a60eced25 Remove unused ol.dom.canUseCssTransform() 2016-09-01 07:32:04 -06:00
Tim Schaub 54357bbc2b Remove unused ol.dom.canUseCssTransform3D() 2016-09-01 07:31:34 -06:00
Tim Schaub c11c4e4d17 Remove unused ol.dom.transformElement2D() 2016-09-01 07:30:29 -06:00
Tim Schaub c469241bee Update the side-by-side example 2016-09-01 07:30:29 -06:00
Tim Schaub ca5a858b21 Add an upgrade note regarding the DOM renderer 2016-09-01 07:30:29 -06:00
Tim Schaub bd89d1f227 Remove unused context arg for tile.getImage() 2016-09-01 07:30:29 -06:00
Tim Schaub 5ce55d39ba Remove the DOM renderer 2016-09-01 07:26:55 -06:00
Tim Schaub 11e4675337 Merge pull request #5794 from openlayers/fix-more-missing-requires
Fix more missing requires
2016-09-01 07:25:33 -06:00
Tim Schaub ff8a84a220 Deal with ol.global issues 2016-09-01 06:58:12 -06:00
Tim Schaub 9e1a3f59e3 Restructure Canvas replay classes 2016-09-01 06:58:12 -06:00
Tim Schaub d1d3e6a37a Move ol.render.canvas.Instruction to its own file 2016-09-01 06:58:12 -06:00
Tim Schaub 74047e747d Rename ol.source.TileEvent to ol.source.Tile.Event 2016-09-01 06:58:12 -06:00
Tim Schaub c316e5f39a Depend on published rules 2016-09-01 06:58:12 -06:00
Frederic Junod 00a50b3f66 Uppercase ol.color constants 2016-09-01 06:58:12 -06:00
Frederic Junod e757c014d1 Give ol.source.State its own file 2016-09-01 06:58:12 -06:00
Frederic Junod 1d2e4fed4a Rename ol.source.TileUTFGridTile_ to ol.source.TileUTFGrid.Tile_ 2016-09-01 06:58:11 -06:00
Frederic Junod f9bbaed717 Rename ol.DebugTile_ to ol.source.TileDebug.Tile_ 2016-09-01 06:58:11 -06:00
Frederic Junod cc87a092fd Give ol.pointer.EventType its own file 2016-09-01 06:58:11 -06:00
Frederic Junod fcdeda7f14 Rename ol.layer.HeatmapLayerProperty to ol.layer.Heatmap.Property 2016-09-01 06:58:11 -06:00
Frederic Junod af29aa7d21 Remove goog.provide('ol.tilejson') 2016-09-01 06:58:11 -06:00
Frederic Junod db741a1530 Remove goog.provide('ol.interaction.SnapProperty') 2016-09-01 06:58:11 -06:00
Frederic Junod 0b2d183009 Rename ol.source.WMTSRequestEncoding to ol.source.WMTS.RequestEncoding 2016-09-01 06:58:11 -06:00
Frederic Junod 8b3536fc85 Rename ol.layer.VectorTileRenderType to ol.layer.VectorTile.RenderType 2016-09-01 06:58:11 -06:00
Frederic Junod f09460b717 Rename ol.control.MousePositionProperty to ol.control.MousePosition.Property 2016-09-01 06:58:11 -06:00
Frederic Junod 7df8b2bb2b Rename ol.OverlayPositioning to ol.Overlay.Positioning 2016-09-01 06:58:10 -06:00
Frederic Junod 556e443705 Rename ol.OverlayProperty to ol.Overlay.Property 2016-09-01 06:58:10 -06:00
Frederic Junod 1fa91717bd Rename ol.GeolocationProperty to ol.Geolocation.Property 2016-09-01 06:58:10 -06:00
Frederic Junod 3972ec42f6 Rename ol.DeviceOrientationProperty to ol.DeviceOrientation.Property 2016-09-01 06:58:10 -06:00
Frederic Junod 21d436e529 Rename ol.CollectionProperty to ol.Collection.Property 2016-09-01 06:58:10 -06:00
Frederic Junod 5457917e75 Rename ol.layer.GroupProperty to ol.layer.Group.Property 2016-09-01 06:58:10 -06:00
Frederic Junod cda8a5a8b7 Add missing goog.require('ol') 2016-09-01 06:58:10 -06:00
Frederic Junod 1de3f99123 Add missing goog.require('ol.MapProperty') 2016-09-01 06:58:10 -06:00
Frederic Junod 14e3914b7d Add missing goog.require('ol.functions') 2016-09-01 06:58:09 -06:00
Frederic Junod 11c8b99602 Rename ol.format.IGCZ to ol.format.IGC.Z 2016-09-01 06:58:09 -06:00
Frederic Junod d0801036d2 Add missing goog.require('ol.has') 2016-09-01 06:58:09 -06:00
Frederic Junod e402d1db30 Add missing ol.Attribution in examples/osm-vector-tiles.js 2016-09-01 06:58:09 -06:00
Andreas Hocevar fe16cf9702 Fix ol.source.Zoomify namespace hierarchy 2016-09-01 06:58:09 -06:00
Andreas Hocevar 2972917bb9 Properly detect ol.ext.* requires 2016-09-01 06:58:09 -06:00
Andreas Hocevar 843a6a4bf4 Give ol.style.Atlas its own file 2016-09-01 06:58:09 -06:00
Andreas Hocevar a8d8942fba Rename ol.style.IconAnchorUnits and ol.style.IconOrigin 2016-09-01 06:58:09 -06:00
Andreas Hocevar 1beddcd99a Remove unnecessary charcode enum 2016-09-01 06:58:09 -06:00
Frédéric Junod b44685494f Merge pull request #5820 from fredj/format_readme
Change ol.format.Format to ol.format.Feature in format/readme.md
2016-09-01 14:36:21 +02:00
Frédéric Junod 6e52f61011 Merge pull request #5819 from fredj/ArrayBuffer.isView
Add ArrayBuffer.isView method in externs/closure-compiler.js
2016-09-01 14:34:28 +02:00
Frederic Junod e4091051a2 Change ol.format.Format to ol.format.Feature in format/readme.md
And remove a dead link
2016-09-01 12:17:04 +02:00
Frederic Junod bb5c1664d0 Add ArrayBuffer.isView method in externs/closure-compiler.js 2016-09-01 08:34:25 +02:00
Tim Schaub 00905e8131 Merge pull request #5793 from ahocevar/closure-bye-bye
Closure bye bye
2016-08-31 17:08:58 -06:00
Andreas Hocevar d1e4b33760 Rename goog.DEBUG to ol.DEBUG 2016-08-31 21:10:01 +02:00
Andreas Hocevar 92ab5a079c Remove use of goog.async.nextTick 2016-08-31 21:10:00 +02:00
Andreas Hocevar 367f0923c5 Remove use of goog.crypt 2016-08-31 21:10:00 +02:00
Andreas Hocevar 5bb887d3ce Remove use of goog.userAgent 2016-08-31 21:10:00 +02:00
Frédéric Junod 784c19a9b3 Merge pull request #5809 from fredj/reuse_layerState
Reuse ol.LayerState object
2016-08-31 16:53:38 +02:00
Frédéric Junod 3b6f1f99bc Merge pull request #5811 from fredj/use_ol.global
Use ol.global.getComputedStyle instead of window.getComputedStyle
2016-08-31 13:22:14 +02:00
Frederic Junod d93bb74068 Use ol.global.getComputedStyle instead of window.getComputedStyle 2016-08-31 12:29:38 +02:00
Frédéric Junod c7eeec018d Merge pull request #5810 from gberaudo/typo
ESLint rule typo
2016-08-31 11:49:25 +02:00
Guillaume Beraudo f3ca9e4bf5 ESLint rule typo 2016-08-31 11:15:28 +02:00
Frederic Junod 5583a09889 Reuse ol.LayerState object
Reduce the number of temporary objects by reusing the layer state object.
2016-08-30 13:59:38 +02:00
Frédéric Junod 92f05f40c8 Merge pull request #5807 from openlayers/greenkeeper-pbf-3.0.0
Update pbf to version 3.0.0 🚀
2016-08-30 12:10:14 +02:00
greenkeeperio-bot 70792a1610 chore(package): update pbf to version 3.0.0
https://greenkeeper.io/
2016-08-30 03:58:42 -06:00
Frédéric Junod f57896d848 Merge pull request #5806 from fredj/rotateWithView_olx
Fix olx.style.TextOptions.rotateWithView option in externs
2016-08-30 10:49:48 +02:00
Frederic Junod cf9683dc03 Fix olx.style.TextOptions.rotateWithView option in externs 2016-08-30 10:30:26 +02:00
Frédéric Junod b9a7fb2421 Merge pull request #5770 from fredj/unordered_doc
Update ol.source.Vector comments
2016-08-29 14:48:23 +02:00
Frederic Junod 854b20a8fd Update ol.source.Vector comments
Add a note for `getFeatures` and `getFeaturesInExtent` about the unordered array of features.
2016-08-29 13:49:48 +02:00
Andreas Hocevar 389ae13cea Merge pull request #5803 from openlayers/v3.18.1
V3.18.1
2016-08-29 13:28:22 +02:00
Andreas Hocevar 0b3eed5500 Update package version to 3.18.1 2016-08-29 13:18:04 +02:00
Andreas Hocevar b98a28857d Changelog for v3.18.1 2016-08-29 13:17:32 +02:00
Andreas Hocevar a14a348246 Merge pull request #5798 from ahocevar/fix-rotated-circles
Move to 90° along the circle, not 0°
2016-08-29 13:13:23 +02:00
Andreas Hocevar ffefda132a Merge pull request #5790 from ahocevar/fix-pixelratio
Fix vector tile rotation on HiDPI devices
2016-08-29 13:12:27 +02:00
Frédéric Junod f16e40742c Merge pull request #5801 from fredj/rm_ol.style.ImageState
Remove ol.style.ImageState and use ol.ImageState instead
2016-08-29 11:16:48 +02:00
Andreas Hocevar 710c95c5cd Merge pull request #5790 from ahocevar/fix-pixelratio
Fix vector tile rotation on HiDPI devices
2016-08-29 11:04:55 +02:00
Frederic Junod bed95e3b5b Change ol.ImageState to ol.Image.State 2016-08-29 10:53:09 +02:00
Frederic Junod 1fecb6fd16 Remove ol.style.ImageState and use ol.ImageState instead 2016-08-29 10:39:37 +02:00
Andreas Hocevar c393d43005 Merge pull request #5798 from ahocevar/fix-rotated-circles
Move to 90° along the circle, not 0°
2016-08-29 10:31:21 +02:00
Tobias Sauerwein edfbbc4b40 Merge pull request #5800 from tsauerwein/filter-upper-lower
Wrap values in <Literal> for InBetween filter
2016-08-29 10:00:35 +02:00
Bart van den Eijnden fcc854bcea Merge pull request #5769 from bartvde/issue-5759
Only call addToDrawing if sketchFeature
2016-08-29 09:59:37 +02:00
tsauerwein d35e978c35 Move namespaces into constants 2016-08-29 09:39:49 +02:00
tsauerwein 7128e86e3c Wrap values in <Literal> 2016-08-29 09:34:52 +02:00
Andreas Hocevar 2037e725b3 Move to 90° along the circle, not 0° 2016-08-29 09:30:23 +02:00
Andreas Hocevar 5d00edfc1d Merge pull request #5745 from tamarmot/4316_goog_object_clone_cleanup
removed dependencies on goog.object.clone and fixed placemark rendering
2016-08-28 12:16:45 +02:00
Andreas Hocevar cb7c15c767 Fix vector tile rotation on HiDPI devices 2016-08-27 23:03:07 +02:00
Bart van den Eijnden fe6fe702b2 Merge pull request #5290 from tbarsballe/bboxinteraction
Add extent interaction
2016-08-27 09:08:28 +02:00
Andreas Hocevar 4b97612900 Merge pull request #5786 from openlayers/greenkeeper-eslint-3.4.0
Update eslint to version 3.4.0 🚀
2016-08-26 22:30:10 +02:00
greenkeeperio-bot 3f7d884d4f chore(package): update eslint to version 3.4.0
https://greenkeeper.io/
2016-08-26 20:26:04 +02:00
Andreas Hocevar 0d0f2d454b Merge pull request #5785 from openlayers/release-v3.18.0
Release v3.18.0
2016-08-26 17:57:22 +02:00
Torben Barsballe 4b2884f10f Extent interaction example 2016-08-26 15:40:02 +02:00
Torben Barsbsballe 7ed96f69f7 Add extent interaction 2016-08-25 17:41:39 +02:00
Bart van den Eijnden 3118df320b Only call addToDrawing if sketchFeature 2016-08-23 18:05:06 +02:00
Tamar Cohen e0d75555c5 updates to not depend on closure library; improvements on styles for KML placemarks 2016-08-18 16:00:29 -07:00
Tamar Cohen a44cc1a3a6 fixed Travis errors 2016-08-17 16:57:30 -07:00
Tamar Cohen 50e314adbd removed dependencies on goog.clone and fixed placemark rendering 2016-08-17 16:53:08 -07:00
Tamar Cohen 9e7a2ae17a removed dependencies on goog.clone and fixed placemark rendering 2016-08-17 16:42:18 -07:00
341 changed files with 6801 additions and 6638 deletions
+59
View File
@@ -1,7 +1,66 @@
## Upgrade notes ## Upgrade notes
#### `goog.DEBUG` define was renamed to `ol.DEBUG`
As last step in the removal of the dependency on Google Closure Library, the `goog.DEBUG` compiler define was renamed to `ol.DEBUG`. Please change accordingly in your custom build configuration json files.
#### `ol.format.ogc.filter` namespace was renamed to `ol.format.filter`
`ol.format.ogc.filter` was simplified to `ol.format.filter`; to upgrade your code, simply remove the `ogc` string from the name.
For example: `ol.format.ogc.filter.and` to `ol.format.filter.and`.
#### Changes only relevant to those who compile their applications together with the Closure Compiler
A number of internal types have been renamed. This will not affect those who use the API provided by the library, but if you are compiling your application together with OpenLayers and using type names, you'll need to do the following:
* rename `ol.CollectionProperty` to `ol.Collection.Property`
* rename `ol.DeviceOrientationProperty` to `ol.DeviceOrientation.Property`
* rename `ol.DragBoxEvent` to `ol.interaction.DragBox.Event`
* rename `ol.DragBoxEventType` to `ol.interaction.DragBox.EventType`
* rename `ol.GeolocationProperty` to `ol.Geolocation.Property`
* rename `ol.OverlayPositioning` to `ol.Overlay.Positioning`
* rename `ol.OverlayProperty` to `ol.Overlay.Property`
* rename `ol.control.MousePositionProperty` to `ol.control.MousePosition.Property`
* rename `ol.format.IGCZ` to `ol.format.IGC.Z`
* rename `ol.interaction.DrawMode` to `ol.interaction.Draw.Mode`
* rename `ol.interaction.DrawEvent` to `ol.interaction.Draw.Event`
* rename `ol.interaction.DrawEventType` to `ol.interaction.Draw.EventType`
* rename `ol.interaction.ExtentEvent` to `ol.interaction.Extent.Event`
* rename `ol.interaction.ExtentEventType` to `ol.interaction.Extent.EventType`
* rename `ol.interaction.DragAndDropEvent` to `ol.interaction.DragAndDrop.Event`
* rename `ol.interaction.DragAndDropEventType` to `ol.interaction.DragAndDrop.EventType`
* rename `ol.interaction.ModifyEvent` to `ol.interaction.Modify.Event`
* rename `ol.interaction.SelectEvent` to `ol.interaction.Select.Event`
* rename `ol.interaction.SelectEventType` to `ol.interaction.Select.EventType`
* rename `ol.interaction.TranslateEvent` to `ol.interaction.Translate.Event`
* rename `ol.interaction.TranslateEventType` to `ol.interaction.Translate.EventType`
* rename `ol.layer.GroupProperty` to `ol.layer.Group.Property`
* rename `ol.layer.HeatmapLayerProperty` to `ol.layer.Heatmap.Property`
* rename `ol.layer.TileProperty` to `ol.layer.Tile.Property`
* rename `ol.layer.VectorTileRenderType` to `ol.layer.VectorTile.RenderType`
* rename `ol.MapEventType` to `ol.MapEvent.Type`
* rename `ol.MapProperty` to `ol.Map.Property`
* rename `ol.ModifyEventType` to `ol.interaction.Modify.EventType`
* rename `ol.RendererType` to `ol.renderer.Type`
* rename `ol.source.ImageEvent` to `ol.source.Image.Event`
* rename `ol.source.ImageEventType` to `ol.source.Image.EventType`
* rename `ol.source.RasterEvent` to `ol.source.Raster.Event`
* rename `ol.source.RasterEventType` to `ol.source.Raster.EventType`
* rename `ol.source.TileEvent` to `ol.source.Tile.Event`
* rename `ol.source.TileEventType` to `ol.source.Tile.EventType`
* rename `ol.source.VectorEvent` to `ol.source.Vector.Event`
* rename `ol.source.VectorEventType` to `ol.source.Vector.EventType`
* rename `ol.source.wms.ServerType` to `ol.source.WMSServerType`
* rename `ol.source.WMTSRequestEncoding` to `ol.source.WMTS.RequestEncoding`
* rename `ol.style.IconAnchorUnits` to `ol.style.Icon.AnchorUnits`
* rename `ol.style.IconOrigin` to `ol.style.Icon.Origin`
### v3.18.0 ### v3.18.0
#### Removal of the DOM renderer
The DOM renderer has been removed. Instead, the Canvas renderer should be used. If you were previously constructing a map with `'dom'` as the `renderer` option, you will see an error message in the console in debug mode and the Canvas renderer will be used instead. To remove the warning, remove the `renderer` option from your map constructor.
#### Changes in the way assertions are handled #### Changes in the way assertions are handled
Previously, minified builds of the library did not have any assertions. This caused applications to fail silently or with cryptic stack traces. Starting with this release, developers get notified of many runtime errors through the new `ol.AssertionError`. This error has a `code` property. The meaning of the code can be found on http://openlayers.org/en/latest/doc/errors/. There are additional console assertion checks in debug mode when the `goog.DEBUG` compiler flag is `true`. As this is `true` by default, it is recommended that those creating custom builds set this to `false` so these assertions are stripped.' Previously, minified builds of the library did not have any assertions. This caused applications to fail silently or with cryptic stack traces. Starting with this release, developers get notified of many runtime errors through the new `ol.AssertionError`. This error has a `code` property. The meaning of the code can be found on http://openlayers.org/en/latest/doc/errors/. There are additional console assertion checks in debug mode when the `goog.DEBUG` compiler flag is `true`. As this is `true` by default, it is recommended that those creating custom builds set this to `false` so these assertions are stripped.'
+10
View File
@@ -0,0 +1,10 @@
# v3.18.1
## Summary
The v3.18.1 release is a patch release that addresses two regressions in the v3.18.0 release. See the [v3.18.0 release notes](https://github.com/openlayers/ol3/releases/tag/v3.18.0) for details on upgrading from v3.17.x.
## Fixes
* [#5798](https://github.com/openlayers/ol3/pull/5798) - Move to 90° along the circle, not 0° ([@ahocevar](https://github.com/ahocevar))
* [#5790](https://github.com/openlayers/ol3/pull/5790) - Fix vector tile rotation on HiDPI devices ([@ahocevar](https://github.com/ahocevar))
+9
View File
@@ -0,0 +1,9 @@
# v3.18.2
## Summary
The v3.18.2 release is a patch release that addresses a regression in the v3.18.1 release. See the [v3.18.0 release notes](https://github.com/openlayers/ol3/releases/tag/v3.18.0) for details on upgrading from v3.17.x.
## Fixes
* [#5828](https://github.com/openlayers/ol3/pull/5828) - Always close polygon rings ([@ahocevar](https://github.com/ahocevar))
+1 -1
View File
@@ -24,7 +24,7 @@
"externs/topojson.js" "externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false" "ol.DEBUG=false"
], ],
"jscomp_error": [ "jscomp_error": [
"*" "*"
+1 -1
View File
@@ -24,7 +24,7 @@
"externs/topojson.js" "externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false" "ol.DEBUG=false"
], ],
"jscomp_error": [ "jscomp_error": [
"*" "*"
+1 -1
View File
@@ -15,7 +15,7 @@
"externs/topojson.js" "externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false" "ol.DEBUG=false"
], ],
"jscomp_error": [ "jscomp_error": [
"*" "*"
+2 -4
View File
@@ -169,8 +169,7 @@ The minimum config file looks like this:
"node_modules/openlayers/externs/topojson.js" "node_modules/openlayers/externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false", "ol.DEBUG=false",
"ol.ENABLE_DOM=false",
"ol.ENABLE_WEBGL=false" "ol.ENABLE_WEBGL=false"
], ],
"js": [ "js": [
@@ -221,8 +220,7 @@ Here is a version of `config.json` with more compilation checks enabled:
"node_modules/openlayers/externs/topojson.js" "node_modules/openlayers/externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false", "ol.DEBUG=false",
"ol.ENABLE_DOM=false",
"ol.ENABLE_WEBGL=false" "ol.ENABLE_WEBGL=false"
], ],
"js": [ "js": [
+4 -6
View File
@@ -60,7 +60,7 @@ Creating a custom build requires writing a build configuration file. The format
"externs/topojson.js" "externs/topojson.js"
], ],
"define": [ "define": [
"goog.DEBUG=false" "ol.DEBUG=false"
], ],
"extra_annotation_name": [ "extra_annotation_name": [
"api", "observable" "api", "observable"
@@ -156,7 +156,6 @@ Setting some of these to `false` means that the portions of the code relating to
You might have noticed that the build file you've just created is considerably smaller than the full build, but it can be reduced further. This is because all three renderers and all layer types are included by default. We only need one renderer, and only need the tile layer, so can exclude the others by setting these properties with `define`s. So add the following to the define section of the config above: You might have noticed that the build file you've just created is considerably smaller than the full build, but it can be reduced further. This is because all three renderers and all layer types are included by default. We only need one renderer, and only need the tile layer, so can exclude the others by setting these properties with `define`s. So add the following to the define section of the config above:
``` ```
"ol.ENABLE_DOM=false",
"ol.ENABLE_WEBGL=false", "ol.ENABLE_WEBGL=false",
"ol.ENABLE_PROJ4JS=false", "ol.ENABLE_PROJ4JS=false",
"ol.ENABLE_IMAGE=false", "ol.ENABLE_IMAGE=false",
@@ -191,7 +190,7 @@ Now let's try a more complicated example: [`heatmaps-earthquakes`](http://openla
"ol.format.KML", "ol.format.KML",
"ol.layer.Heatmap#getSource", "ol.layer.Heatmap#getSource",
"ol.source.Vector#on", "ol.source.Vector#on",
"ol.source.VectorEvent#feature", "ol.source.Vector.Event#feature",
"ol.Feature#get", "ol.Feature#get",
"ol.Feature#set", "ol.Feature#set",
"ol.layer.Tile", "ol.layer.Tile",
@@ -207,11 +206,10 @@ Now let's try a more complicated example: [`heatmaps-earthquakes`](http://openla
"externs/oli.js" "externs/oli.js"
], ],
"define": [ "define": [
"ol.ENABLE_DOM=false",
"ol.ENABLE_WEBGL=false", "ol.ENABLE_WEBGL=false",
"ol.ENABLE_PROJ4JS=false", "ol.ENABLE_PROJ4JS=false",
"ol.ENABLE_IMAGE=false", "ol.ENABLE_IMAGE=false",
"goog.DEBUG=false" "ol.DEBUG=false"
], ],
"compilation_level": "ADVANCED", "compilation_level": "ADVANCED",
"manage_closure_dependencies": true "manage_closure_dependencies": true
@@ -219,7 +217,7 @@ Now let's try a more complicated example: [`heatmaps-earthquakes`](http://openla
} }
``` ```
The exports are given here in the order in which they occur in the `heatmaps-earthquakes` example's JavaScript code. In this example we not only use the `ol.` functions and constructors, but also `prototype` methods where the `ol` namespace is not directly used. In the code, we have for example `vector.getSource().on()`. This means we are using the `getSource` method of `layer.Heatmap` and the `on` method of `source.KML`, so this is what has to be exported. Similarly, `event.feature.get()` means we are using the `feature` property of `source.VectorEvent` and the `get` method of `Feature`. If any of these names are left out, the compile will complete successfully, but the missing names will be obfuscated and you will get a 'property undefined' error when you try and run the script. The exports are given here in the order in which they occur in the `heatmaps-earthquakes` example's JavaScript code. In this example we not only use the `ol.` functions and constructors, but also `prototype` methods where the `ol` namespace is not directly used. In the code, we have for example `vector.getSource().on()`. This means we are using the `getSource` method of `layer.Heatmap` and the `on` method of `source.KML`, so this is what has to be exported. Similarly, `event.feature.get()` means we are using the `feature` property of `source.Vector.Event` and the `get` method of `Feature`. If any of these names are left out, the compile will complete successfully, but the missing names will be obfuscated and you will get a 'property undefined' error when you try and run the script.
As this example uses a vector layer it is necessary to remove `"ol.ENABLE_VECTOR=false"` in the `define` section of the configuration. As this example uses a vector layer it is necessary to remove `"ol.ENABLE_VECTOR=false"` in the `define` section of the configuration.
-1
View File
@@ -11,7 +11,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -54,7 +54,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
// Improve user experience by loading tiles while animating. Will make // Improve user experience by loading tiles while animating. Will make
// animations stutter on mobile or slow devices. // animations stutter on mobile or slow devices.
loadTilesWhileAnimating: true, loadTilesWhileAnimating: true,
-1
View File
@@ -15,7 +15,6 @@ var map = new ol.Map({
}) })
], ],
controls: ol.control.defaults({attribution: false}).extend([attribution]), controls: ol.control.defaults({attribution: false}).extend([attribution]),
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -28,7 +28,6 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
} }
var map = new ol.Map({ var map = new ol.Map({
layers: layers, layers: layers,
renderer: common.getRendererFromQueryString(),
// Improve user experience by loading tiles while dragging/zooming. Will make // Improve user experience by loading tiles while dragging/zooming. Will make
// zooming choppy on mobile or slow devices. // zooming choppy on mobile or slow devices.
loadTilesWhileInteracting: true, loadTilesWhileInteracting: true,
-1
View File
@@ -25,7 +25,6 @@ var map = new ol.Map({
source: vectorSource source: vectorSource
}) })
], ],
renderer: 'canvas',
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -9,7 +9,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [-8730000, 5930000], center: [-8730000, 5930000],
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
---
layout: example.html
title: Styling feature with CanvasGradient or CanvasPattern
shortdesc: Example showing the countries vector layer styled with patterns and gradients.
docs: >
First this example creates a reusable [`CanvasPattern`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern)
and a [`CanvasGradient`](https://developer.mozilla.org/en/docs/Web/API/CanvasGradient). The countries are loaded from
a GeoJSON file. A style function determines for each country whether to use a fill with the pregenerated
CanvasGradient (rainbow colors) or a CanvasPattern (repeating stacked circles).
tags: "canvas, gradient, pattern, style"
---
<div id="map" class="map"></div>
+109
View File
@@ -0,0 +1,109 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Vector');
goog.require('ol.proj');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
// Will contain ol.Style instances key by country.
var styleLookup = {};
// Generate a rainbow gradient
var gradient = (function() {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var grad = context.createLinearGradient(0,0,1000,0);
grad.addColorStop(0, 'red');
grad.addColorStop(1 / 6, 'orange');
grad.addColorStop(2 / 6, 'yellow');
grad.addColorStop(3 / 6, 'green');
grad.addColorStop(4 / 6, 'aqua');
grad.addColorStop(5 / 6, 'blue');
grad.addColorStop(1, 'purple');
return grad;
}());
// Generate a canvasPattern with two circles
var pattern = (function() {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = 11;
canvas.height = 11;
context.fillStyle = 'rgba(102, 0, 102, 0.5)';
context.beginPath();
context.arc(5, 5, 4, 0, 2 * Math.PI);
context.fill();
context.fillStyle = 'rgb(55, 0, 170)';
context.beginPath();
context.arc(5, 5, 2, 0, 2 * Math.PI);
context.fill();
return context.createPattern(canvas, 'repeat');
}());
// Generate a background style that all features will reuse
var backgroundStyle = new ol.style.Style({
stroke: new ol.style.Stroke({
color: '#333',
width: 2
}),
fill: new ol.style.Fill({
color: '#fff'
})
});
/**
* The styling function for the vector layer, will return an array of styles
* which either contains the aboove gradient or pattern.
*
* @param {ol.Feature} feature the feature to style.
* @return {Array<ol.style.Style>} the styles to use for the feature.
*/
var getStackedStyle = function(feature) {
var id = feature.getId();
if (!styleLookup[id]) {
var patternOrGradient;
if (id > 'J') { // some shall get the gradient, others the pattern.
patternOrGradient = gradient;
} else {
patternOrGradient = pattern;
}
// Store the style in the lookup, next call will just return the stored
// style for the feature.
styleLookup[id] = [
// 1. Use the common background style
// (white fill and blackish stroke)
backgroundStyle,
// 2. On top of that, draw the pattern or gradient
new ol.style.Style({
fill: new ol.style.Fill({
color: patternOrGradient
})
})
];
}
return styleLookup[id];
};
// Create a vector layer that makes use of the style function above…
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
url: 'data/geojson/countries.geojson',
format: new ol.format.GeoJSON()
}),
style: getStackedStyle
});
// … finally create a map with that layer.
var map = new ol.Map({
layers: [
vectorLayer
],
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([7, 52]),
zoom: 3
})
});
-1
View File
@@ -20,7 +20,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -69,7 +69,6 @@ var raster = new ol.layer.Tile({
var map = new ol.Map({ var map = new ol.Map({
layers: [raster, clusters], layers: [raster, clusters],
renderer: 'canvas',
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -70,7 +70,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -19,7 +19,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -104,7 +104,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -15,7 +15,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -38,7 +38,6 @@ var vector = new ol.layer.Vector({
var map = new ol.Map({ var map = new ol.Map({
layers: [raster, vector], layers: [raster, vector],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [-11000000, 4600000], center: [-11000000, 4600000],
-1
View File
@@ -16,7 +16,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
+12
View File
@@ -0,0 +1,12 @@
---
layout: example.html
title: Extent Interaction
shortdesc: Using an Extent interaction to draw an extent.
docs: >
<p>This example shows how to use an <code>Extent</code> interaction to draw a modifiable extent.</p>
<p>Use <code>Shift+Drag</code> to draw an extent.
<code>Shift+Drag</code> on the corners or edges of the extent to resize it. <code>Shift+Click</code> off the extent to remove it.
</p>
tags: "Extent, interaction, box"
---
<div id="map" class="map"></div>
+48
View File
@@ -0,0 +1,48 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.events.condition');
goog.require('ol.format.GeoJSON');
goog.require('ol.interaction.Extent');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
var vectorSource = new ol.source.Vector({
url: 'data/geojson/countries.geojson',
format: new ol.format.GeoJSON()
});
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Vector({
source: vectorSource
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
var extent = new ol.interaction.Extent({
condition: ol.events.condition.platformModifierKeyOnly
});
map.addInteraction(extent);
extent.setActive(false);
//Enable interaction by holding shift
this.addEventListener('keydown', function(event) {
if (event.keyCode == 16) {
extent.setActive(true);
}
});
this.addEventListener('keyup', function(event) {
if (event.keyCode == 16) {
extent.setActive(false);
}
});
-1
View File
@@ -28,7 +28,6 @@ var map = new ol.Map({
collapsible: false collapsible: false
}) })
}), }),
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -22,7 +22,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: view view: view
}); });
-1
View File
@@ -23,7 +23,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: view view: view
}); });
-1
View File
@@ -21,7 +21,6 @@ var view = new ol.View({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString(),
layers: [wmsLayer], layers: [wmsLayer],
target: 'map', target: 'map',
view: view view: view
-1
View File
@@ -21,7 +21,6 @@ var view = new ol.View({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString(),
layers: [wmsLayer], layers: [wmsLayer],
target: 'map', target: 'map',
view: view view: view
-1
View File
@@ -13,7 +13,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: 'canvas',
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: ol.proj.fromLonLat([4.8, 47.75]), center: ol.proj.fromLonLat([4.8, 47.75]),
-1
View File
@@ -69,7 +69,6 @@ for (i = 0, ii = hereLayers.length; i < ii; ++i) {
var map = new ol.Map({ var map = new ol.Map({
layers: layers, layers: layers,
renderer: common.getRendererFromQueryString(),
// Improve user experience by loading tiles while dragging/zooming. Will make // Improve user experience by loading tiles while dragging/zooming. Will make
// zooming choppy on mobile or slow devices. // zooming choppy on mobile or slow devices.
loadTilesWhileInteracting: true, loadTilesWhileInteracting: true,
-1
View File
@@ -61,7 +61,6 @@ var rasterLayer = new ol.layer.Tile({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString(),
layers: [rasterLayer, vectorLayer], layers: [rasterLayer, vectorLayer],
target: document.getElementById('map'), target: document.getElementById('map'),
view: new ol.View({ view: new ol.View({
+1 -1
View File
@@ -79,7 +79,7 @@ var vector = new ol.layer.Vector({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString('webgl'), renderer: /** @type {ol.renderer.Type} */ ('webgl'),
layers: [vector], layers: [vector],
target: document.getElementById('map'), target: document.getElementById('map'),
view: new ol.View({ view: new ol.View({
-1
View File
@@ -45,7 +45,6 @@ var rasterLayer = new ol.layer.Tile({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString(),
layers: [rasterLayer, vectorLayer], layers: [rasterLayer, vectorLayer],
target: document.getElementById('map'), target: document.getElementById('map'),
view: new ol.View({ view: new ol.View({
-1
View File
@@ -99,7 +99,6 @@ var map = new ol.Map({
layers: [ layers: [
new ol.layer.Image({source: source}) new ol.layer.Image({source: source})
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [-10997148, 4569099], center: [-10997148, 4569099],
+1 -1
View File
@@ -19,7 +19,7 @@ if (!ol.has.WEBGL) {
var map = new ol.Map({ var map = new ol.Map({
layers: [osm], layers: [osm],
renderer: 'webgl', renderer: /** @type {ol.renderer.Type} */ ('webgl'),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -32,7 +32,6 @@ var overlay = new ol.layer.Tile({
var map = new ol.Map({ var map = new ol.Map({
layers: [base, overlay], layers: [base, overlay],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -27,7 +27,6 @@ var map = new ol.Map({
] ]
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: ol.proj.fromLonLat([37.40570, 8.81566]), center: ol.proj.fromLonLat([37.40570, 8.81566]),
-1
View File
@@ -9,7 +9,6 @@ var layer = new ol.layer.Tile();
var map = new ol.Map({ var map = new ol.Map({
layers: [layer], layers: [layer],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -53,7 +53,6 @@ var vector = new ol.layer.Vector({
var map = new ol.Map({ var map = new ol.Map({
layers: [raster, vector], layers: [raster, vector],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [-11000000, 4600000], center: [-11000000, 4600000],
-1
View File
@@ -25,7 +25,6 @@ var map = new ol.Map({
maxResolution: 20000 maxResolution: 20000
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -19,7 +19,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: view view: view
}); });
-1
View File
@@ -28,7 +28,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -13,7 +13,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -24,7 +24,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
+1
View File
@@ -1,3 +1,4 @@
goog.require('ol.Attribution');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.format.TopoJSON'); goog.require('ol.format.TopoJSON');
-1
View File
@@ -13,7 +13,6 @@ var layer = new ol.layer.Tile({
var map = new ol.Map({ var map = new ol.Map({
layers: [layer], layers: [layer],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -50,7 +50,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
overlays: [overlay], overlays: [overlay],
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
-2
View File
@@ -19,7 +19,6 @@ var map1 = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map1', target: 'map1',
view: view view: view
}); });
@@ -34,7 +33,6 @@ var map2 = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map2', target: 'map2',
view: view view: view
}); });
-1
View File
@@ -13,7 +13,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
projection: 'EPSG:3857', projection: 'EPSG:3857',
-1
View File
@@ -29,7 +29,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: ol.proj.transform( center: ol.proj.transform(
-1
View File
@@ -9,7 +9,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
projection: 'EPSG:4326', projection: 'EPSG:4326',
-1
View File
@@ -148,7 +148,6 @@ var map = new ol.Map({
layers['osm'], layers['osm'],
layers['bng'] layers['bng']
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
projection: 'EPSG:3857', projection: 'EPSG:3857',
-21
View File
@@ -79,24 +79,3 @@
container.appendChild(form); container.appendChild(form);
})(); })();
var common = {};
common.getRendererFromQueryString = function(opt_default) {
var obj = {};
var queryString = location.search.slice(1);
var re = /([^&=]+)=([^&]*)/g;
var m = re.exec(queryString);
while (m) {
obj[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
m = re.exec(queryString);
}
if ('renderers' in obj) {
return obj['renderers'].split(',');
} else if ('renderer' in obj) {
return [obj['renderer']];
} else {
return opt_default;
}
};
-1
View File
@@ -11,7 +11,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
-1
View File
@@ -21,7 +21,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -18,7 +18,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: ol.proj.fromLonLat([-77.93255, 37.9555]), center: ol.proj.fromLonLat([-77.93255, 37.9555]),
+3 -5
View File
@@ -1,10 +1,10 @@
--- ---
layout: example.html layout: example.html
title: Shared Views title: Shared Views
shortdesc: The three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers. shortdesc: Two maps with different renderers share view properties
docs: > docs: >
The three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers. Two maps (one with the Canvas renderer, one with the WebGL renderer) share the same center, resolution, rotation and layers.
tags: "side-by-side, canvas, webgl, dom, canvas, sync, object" tags: "side-by-side, canvas, webgl"
--- ---
<h4>Canvas</h4> <h4>Canvas</h4>
<div id="canvasMap" class="map"></div> <div id="canvasMap" class="map"></div>
@@ -13,5 +13,3 @@ tags: "side-by-side, canvas, webgl, dom, canvas, sync, object"
<div id="no-webgl" class="alert alert-danger" style="display: none"> <div id="no-webgl" class="alert alert-danger" style="display: none">
This map requires a browser that supports <a href="http://get.webgl.org/">WebGL</a>. This map requires a browser that supports <a href="http://get.webgl.org/">WebGL</a>.
</div> </div>
<h4>DOM</h4>
<div id="domMap" class="map"></div>
+14 -20
View File
@@ -4,33 +4,27 @@ goog.require('ol.has');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.source.OSM'); goog.require('ol.source.OSM');
var layer = new ol.layer.Tile({
var map1 = new ol.Map({ source: new ol.source.OSM()
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
renderer: 'dom',
target: 'domMap',
view: new ol.View({
center: [0, 0],
zoom: 1
})
}); });
var map2 = new ol.Map({ var view = new ol.View({
center: [0, 0],
zoom: 1
});
var map1 = new ol.Map({
target: 'canvasMap', target: 'canvasMap',
layers: map1.getLayers(), layers: [layer],
view: map1.getView() view: view
}); });
if (ol.has.WEBGL) { if (ol.has.WEBGL) {
var map3 = new ol.Map({ var map2 = new ol.Map({
renderer: 'webgl',
target: 'webglMap', target: 'webglMap',
layers: map1.getLayers(), renderer: /** @type {ol.renderer.Type} */ ('webgl'),
view: map1.getView() layers: [layer],
view: view
}); });
} else { } else {
var info = document.getElementById('no-webgl'); var info = document.getElementById('no-webgl');
-1
View File
@@ -29,7 +29,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: 'canvas',
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -18,7 +18,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: ol.proj.transform( center: ol.proj.transform(
+1 -1
View File
@@ -107,7 +107,7 @@ var vector = new ol.layer.Vector({
}); });
var map = new ol.Map({ var map = new ol.Map({
renderer: common.getRendererFromQueryString('webgl'), renderer: /** @type {ol.renderer.Type} */ ('webgl'),
layers: [vector], layers: [vector],
target: document.getElementById('map'), target: document.getElementById('map'),
view: new ol.View({ view: new ol.View({
-1
View File
@@ -11,7 +11,6 @@ var map = new ol.Map({
source: new ol.source.OSM() source: new ol.source.OSM()
}) })
], ],
renderer: common.getRendererFromQueryString(),
controls: ol.control.defaults({ controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
collapsible: false collapsible: false
-1
View File
@@ -98,7 +98,6 @@ var map = new ol.Map({
layers: [ layers: [
new ol.layer.Tile({source: source}) new ol.layer.Tile({source: source})
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-1
View File
@@ -13,7 +13,6 @@ var map = new ol.Map({
}) })
}) })
], ],
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
-2
View File
@@ -28,7 +28,6 @@ var map4326 = new ol.Map({
}), }),
vectorLayer4326 vectorLayer4326
], ],
renderer: 'canvas',
target: 'map4326', target: 'map4326',
view: new ol.View({ view: new ol.View({
projection: 'EPSG:4326', projection: 'EPSG:4326',
@@ -49,7 +48,6 @@ var map3857 = new ol.Map({
}), }),
vectorLayer3857 vectorLayer3857
], ],
renderer: 'canvas',
target: 'map3857', target: 'map3857',
view: new ol.View({ view: new ol.View({
center: [0, 0], center: [0, 0],
+4 -4
View File
@@ -1,6 +1,6 @@
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.format.ogc.filter'); goog.require('ol.format.filter');
goog.require('ol.format.WFS'); goog.require('ol.format.WFS');
goog.require('ol.format.GeoJSON'); goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
@@ -46,9 +46,9 @@ var featureRequest = new ol.format.WFS().writeGetFeature({
featurePrefix: 'osm', featurePrefix: 'osm',
featureTypes: ['water_areas'], featureTypes: ['water_areas'],
outputFormat: 'application/json', outputFormat: 'application/json',
filter: ol.format.ogc.filter.and( filter: ol.format.filter.and(
ol.format.ogc.filter.like('name', 'Mississippi*'), ol.format.filter.like('name', 'Mississippi*'),
ol.format.ogc.filter.equalTo('waterway', 'riverbank') ol.format.filter.equalTo('waterway', 'riverbank')
) )
}); });
-1
View File
@@ -76,7 +76,6 @@ var map = new ol.Map({
}) })
]), ]),
layers: layers, layers: layers,
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
projection: projection, projection: projection,
+2 -3
View File
@@ -41,7 +41,7 @@ var layers = [
'LAYERS': 'ch.swisstopo.pixelkarte-farbe-pk1000.noscale', 'LAYERS': 'ch.swisstopo.pixelkarte-farbe-pk1000.noscale',
'FORMAT': 'image/jpeg' 'FORMAT': 'image/jpeg'
}, },
serverType: /** @type {ol.source.wms.ServerType} */ ('mapserver') serverType: /** @type {ol.source.WMSServerType} */ ('mapserver')
}) })
}), }),
new ol.layer.Image({ new ol.layer.Image({
@@ -52,7 +52,7 @@ var layers = [
attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' + attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' +
'en/home.html">National parks / geo.admin.ch</a>', 'en/home.html">National parks / geo.admin.ch</a>',
params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'}, params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'},
serverType: /** @type {ol.source.wms.ServerType} */ ('mapserver') serverType: /** @type {ol.source.WMSServerType} */ ('mapserver')
}) })
}) })
]; ];
@@ -62,7 +62,6 @@ var map = new ol.Map({
new ol.control.ScaleLine() new ol.control.ScaleLine()
]), ]),
layers: layers, layers: layers,
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
projection: projection, projection: projection,
-1
View File
@@ -22,7 +22,6 @@ var layers = [
var map = new ol.Map({ var map = new ol.Map({
layers: layers, layers: layers,
target: 'map', target: 'map',
renderer: common.getRendererFromQueryString(),
view: new ol.View({ view: new ol.View({
center: [-10997148, 4569099], center: [-10997148, 4569099],
zoom: 4 zoom: 4
-1
View File
@@ -44,7 +44,6 @@ var projection = new ol.proj.Projection({
var map = new ol.Map({ var map = new ol.Map({
layers: layers, layers: layers,
renderer: common.getRendererFromQueryString(),
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [660000, 190000], center: [660000, 190000],
+2 -2
View File
@@ -3,8 +3,8 @@ layout: example.html
title: WMS Time title: WMS Time
shortdesc: Example of smooth tile transitions when changing the time dimension of a tiled WMS layer. shortdesc: Example of smooth tile transitions when changing the time dimension of a tiled WMS layer.
docs: > docs: >
Demonstrates smooth reloading of layers when changing the time dimension continously. Demonstrates smooth reloading of layers when changing the time dimension continously. Data shown: IEM generated CONUS composite of NWS NEXRAD WSR-88D level III base reflectivity.
tags: "wms, time, dimensions, transition" tags: "wms, time, dimensions, transition, nexrad"
--- ---
<div id="map" class="map"></div> <div id="map" class="map"></div>
<div role="group" aria-label="Animation controls"> <div role="group" aria-label="Animation controls">
+26 -13
View File
@@ -1,23 +1,32 @@
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.source.OSM'); goog.require('ol.proj');
goog.require('ol.source.Stamen');
goog.require('ol.source.TileWMS'); goog.require('ol.source.TileWMS');
var startDate = new Date(Date.parse('2012-01-01T19:00:00Z')); function threeHoursAgo() {
return new Date(Math.round(Date.now() / 3600000) * 3600000 - 3600000 * 3);
}
var extent = ol.proj.transformExtent([-126, 24, -66, 50], 'EPSG:4326', 'EPSG:3857');
var startDate = threeHoursAgo();
var frameRate = 0.5; // frames per second var frameRate = 0.5; // frames per second
var animationId = null; var animationId = null;
var layers = [ var layers = [
new ol.layer.Tile({ new ol.layer.Tile({
source: new ol.source.OSM() source: new ol.source.Stamen({
layer: 'terrain'
})
}), }),
new ol.layer.Tile({ new ol.layer.Tile({
extent: [-13884991, 2870341, -7455066, 6338219], extent: extent,
source: new ol.source.TileWMS(/** @type {olx.source.TileWMSOptions} */ ({ source: new ol.source.TileWMS(/** @type {olx.source.TileWMSOptions} */ ({
url: 'http://oos.soest.hawaii.edu/thredds/wms/hioos/model/wav/ww3/' + attributions: ['Iowa State University'],
'WaveWatch_III_Global_Wave_Model_best.ncd?', url: 'http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi',
params: {'LAYERS': 'Thgt', 'TIME': startDate.toISOString()} params: {'LAYERS': 'nexrad-n0r-wmst'}
})) }))
}) })
]; ];
@@ -25,21 +34,25 @@ var map = new ol.Map({
layers: layers, layers: layers,
target: 'map', target: 'map',
view: new ol.View({ view: new ol.View({
center: [-10997148, 4569099], center: ol.extent.getCenter(extent),
zoom: 4 zoom: 4
}) })
}); });
var updateInfo = function() { function updateInfo() {
var el = document.getElementById('info'); var el = document.getElementById('info');
el.innerHTML = startDate.toISOString(); el.innerHTML = startDate.toISOString();
}; }
var setTime = function() { function setTime() {
startDate.setHours(startDate.getHours() + 1); startDate.setMinutes(startDate.getMinutes() + 15);
if (startDate > Date.now()) {
startDate = threeHoursAgo();
}
layers[1].getSource().updateParams({'TIME': startDate.toISOString()}); layers[1].getSource().updateParams({'TIME': startDate.toISOString()});
updateInfo(); updateInfo();
}; }
setTime();
var stop = function() { var stop = function() {
if (animationId !== null) { if (animationId !== null) {
+12 -2
View File
@@ -8,6 +8,18 @@
* @externs * @externs
*/ */
// see https://github.com/google/closure-compiler/pull/1991
/**
* @param {*} arg
* @return {boolean}
* @nosideeffects
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView
*/
ArrayBuffer.isView = function(arg) {};
// see https://github.com/google/closure-compiler/pull/1206 // see https://github.com/google/closure-compiler/pull/1206
/** /**
@@ -15,5 +27,3 @@
* @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property
*/ */
CSSProperties.prototype.touchAction; CSSProperties.prototype.touchAction;
var global;
+4 -4
View File
@@ -347,22 +347,22 @@ oli.source.RasterEvent.prototype.data;
/** /**
* @interface * @interface
*/ */
oli.source.TileEvent = function() {}; oli.source.Tile.Event = function() {};
/** /**
* @type {ol.Tile} * @type {ol.Tile}
*/ */
oli.source.TileEvent.prototype.tile; oli.source.Tile.Event.prototype.tile;
/** /**
* @interface * @interface
*/ */
oli.source.VectorEvent = function() {}; oli.source.Vector.Event = function() {};
/** /**
* @type {ol.Feature|undefined} * @type {ol.Feature|undefined}
*/ */
oli.source.VectorEvent.prototype.feature; oli.source.Vector.Event.prototype.feature;
+83 -41
View File
@@ -171,7 +171,7 @@ olx.interaction.InteractionOptions.prototype.handleEvent;
* loadTilesWhileInteracting: (boolean|undefined), * loadTilesWhileInteracting: (boolean|undefined),
* logo: (boolean|string|olx.LogoOptions|Element|undefined), * logo: (boolean|string|olx.LogoOptions|Element|undefined),
* overlays: (ol.Collection.<ol.Overlay>|Array.<ol.Overlay>|undefined), * overlays: (ol.Collection.<ol.Overlay>|Array.<ol.Overlay>|undefined),
* renderer: (ol.RendererType|Array.<ol.RendererType|string>|string|undefined), * renderer: (ol.renderer.Type|Array.<ol.renderer.Type>|undefined),
* target: (Element|string|undefined), * target: (Element|string|undefined),
* view: (ol.View|undefined)}} * view: (ol.View|undefined)}}
*/ */
@@ -272,12 +272,12 @@ olx.MapOptions.prototype.overlays;
/** /**
* Renderer. By default, Canvas, DOM and WebGL renderers are tested for support * Renderer. By default, Canvas and WebGL renderers are tested for support
* in that order, and the first supported used. Specify a * in that order, and the first supported used. Specify a
* {@link ol.RendererType} here to use a specific renderer. * {@link ol.renderer.Type} here to use a specific renderer.
* Note that at present the Canvas and DOM renderers fully support vector data, * Note that the Canvas renderer fully supports vector data, but WebGL can only
* but WebGL can only render Point geometries. * render Point geometries.
* @type {ol.RendererType|Array.<ol.RendererType|string>|string|undefined} * @type {ol.renderer.Type|Array.<ol.renderer.Type>|undefined}
* @api stable * @api stable
*/ */
olx.MapOptions.prototype.renderer; olx.MapOptions.prototype.renderer;
@@ -308,7 +308,7 @@ olx.MapOptions.prototype.view;
* element: (Element|undefined), * element: (Element|undefined),
* offset: (Array.<number>|undefined), * offset: (Array.<number>|undefined),
* position: (ol.Coordinate|undefined), * position: (ol.Coordinate|undefined),
* positioning: (ol.OverlayPositioning|string|undefined), * positioning: (ol.Overlay.Positioning|string|undefined),
* stopEvent: (boolean|undefined), * stopEvent: (boolean|undefined),
* insertFirst: (boolean|undefined), * insertFirst: (boolean|undefined),
* autoPan: (boolean|undefined), * autoPan: (boolean|undefined),
@@ -359,7 +359,7 @@ olx.OverlayOptions.prototype.position;
* property. Possible values are `'bottom-left'`, `'bottom-center'`, * property. Possible values are `'bottom-left'`, `'bottom-center'`,
* `'bottom-right'`, `'center-left'`, `'center-center'`, `'center-right'`, * `'bottom-right'`, `'center-left'`, `'center-center'`, `'center-right'`,
* `'top-left'`, `'top-center'`, and `'top-right'`. Default is `'top-left'`. * `'top-left'`, `'top-center'`, and `'top-right'`. Default is `'top-left'`.
* @type {ol.OverlayPositioning|string|undefined} * @type {ol.Overlay.Positioning|string|undefined}
* @api stable * @api stable
*/ */
olx.OverlayOptions.prototype.positioning; olx.OverlayOptions.prototype.positioning;
@@ -1791,7 +1791,7 @@ olx.format.TopoJSONOptions.prototype.defaultDataProjection;
/** /**
* @typedef {{altitudeMode: (ol.format.IGCZ|undefined)}} * @typedef {{altitudeMode: (ol.format.IGC.Z|undefined)}}
*/ */
olx.format.IGCOptions; olx.format.IGCOptions;
@@ -1799,7 +1799,7 @@ olx.format.IGCOptions;
/** /**
* Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default * Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default
* is `none`. * is `none`.
* @type {ol.format.IGCZ|undefined} * @type {ol.format.IGC.Z|undefined}
* @api * @api
*/ */
olx.format.IGCOptions.prototype.altitudeMode; olx.format.IGCOptions.prototype.altitudeMode;
@@ -2014,7 +2014,7 @@ olx.format.WFSOptions.prototype.schemaLocation;
* startIndex: (number|undefined), * startIndex: (number|undefined),
* count: (number|undefined), * count: (number|undefined),
* bbox: (ol.Extent|undefined), * bbox: (ol.Extent|undefined),
* filter: (ol.format.ogc.filter.Filter|undefined), * filter: (ol.format.filter.Filter|undefined),
* resultType: (string|undefined)}} * resultType: (string|undefined)}}
*/ */
olx.format.WFSWriteGetFeatureOptions; olx.format.WFSWriteGetFeatureOptions;
@@ -2121,8 +2121,8 @@ olx.format.WFSWriteGetFeatureOptions.prototype.bbox;
/** /**
* OGC filter condition. See {@link ol.format.ogc.filter} for more information. * Filter condition. See {@link ol.format.filter} for more information.
* @type {ol.format.ogc.filter.Filter|undefined} * @type {ol.format.filter.Filter|undefined}
* @api * @api
*/ */
olx.format.WFSWriteGetFeatureOptions.prototype.filter; olx.format.WFSWriteGetFeatureOptions.prototype.filter;
@@ -2705,6 +2705,47 @@ olx.interaction.DrawOptions.prototype.freehandCondition;
olx.interaction.DrawOptions.prototype.wrapX; olx.interaction.DrawOptions.prototype.wrapX;
/**
* @typedef {{extent: (ol.Extent|undefined),
* boxStyle: (ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined),
* pointerStyle: (ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined),
* wrapX: (boolean|undefined)}}
* @api
*/
olx.interaction.ExtentOptions;
/**
* Initial extent. Defaults to no inital extent
* @type {ol.Extent|undefined}
* @api
*/
olx.interaction.ExtentOptions.prototype.extent;
/**
* Style for the drawn extent box.
* Defaults to ol.style.Style.createDefaultEditing()[ol.geom.GeometryType.POLYGON]
* @type {ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined}
* @api
*/
olx.interaction.ExtentOptions.prototype.boxStyle;
/**
* Style for the cursor used to draw the extent.
* Defaults to ol.style.Style.createDefaultEditing()[ol.geom.GeometryType.POINT]
* @type {ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined}
* @api
*/
olx.interaction.ExtentOptions.prototype.pointerStyle;
/**
* Wrap the drawn extent across multiple maps in the X direction?
* Only affects visuals, not functionality. Defaults to false.
* @type {boolean|undefined}
* @api
*/
olx.interaction.ExtentOptions.prototype.wrapX;
/** /**
* @typedef {{ * @typedef {{
* features: (ol.Collection.<ol.Feature>|undefined), * features: (ol.Collection.<ol.Feature>|undefined),
@@ -3782,7 +3823,7 @@ olx.layer.VectorOptions.prototype.visible;
* maxResolution: (number|undefined), * maxResolution: (number|undefined),
* opacity: (number|undefined), * opacity: (number|undefined),
* renderBuffer: (number|undefined), * renderBuffer: (number|undefined),
* renderMode: (ol.layer.VectorTileRenderType|string|undefined), * renderMode: (ol.layer.VectorTile.RenderType|string|undefined),
* renderOrder: (function(ol.Feature, ol.Feature):number|undefined), * renderOrder: (function(ol.Feature, ol.Feature):number|undefined),
* source: (ol.source.VectorTile|undefined), * source: (ol.source.VectorTile|undefined),
* style: (ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined), * style: (ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined),
@@ -3817,7 +3858,7 @@ olx.layer.VectorTileOptions.prototype.renderBuffer;
* * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering
* even during animations, but slower performance than the other options. * even during animations, but slower performance than the other options.
* The default is `'hybrid'`. * The default is `'hybrid'`.
* @type {ol.layer.VectorTileRenderType|string|undefined} * @type {ol.layer.VectorTile.RenderType|string|undefined}
* @api * @api
*/ */
olx.layer.VectorTileOptions.prototype.renderMode; olx.layer.VectorTileOptions.prototype.renderMode;
@@ -5134,7 +5175,7 @@ olx.source.RasterOptions.prototype.operationType;
* @typedef {{attributions: (ol.AttributionLike|undefined), * @typedef {{attributions: (ol.AttributionLike|undefined),
* crossOrigin: (null|string|undefined), * crossOrigin: (null|string|undefined),
* hidpi: (boolean|undefined), * hidpi: (boolean|undefined),
* serverType: (ol.source.wms.ServerType|string|undefined), * serverType: (ol.source.WMSServerType|string|undefined),
* logo: (string|olx.LogoOptions|undefined), * logo: (string|olx.LogoOptions|undefined),
* imageLoadFunction: (ol.ImageLoadFunctionType|undefined), * imageLoadFunction: (ol.ImageLoadFunctionType|undefined),
* params: Object.<string,*>, * params: Object.<string,*>,
@@ -5178,7 +5219,7 @@ olx.source.ImageWMSOptions.prototype.hidpi;
/** /**
* The type of the remote WMS server: `mapserver`, `geoserver` or `qgis`. Only * The type of the remote WMS server: `mapserver`, `geoserver` or `qgis`. Only
* needed if `hidpi` is `true`. Default is `undefined`. * needed if `hidpi` is `true`. Default is `undefined`.
* @type {ol.source.wms.ServerType|string|undefined} * @type {ol.source.WMSServerType|string|undefined}
* @api * @api
*/ */
olx.source.ImageWMSOptions.prototype.serverType; olx.source.ImageWMSOptions.prototype.serverType;
@@ -5645,7 +5686,7 @@ olx.source.TileJSONOptions.prototype.wrapX;
* tileGrid: (ol.tilegrid.TileGrid|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined),
* projection: ol.ProjectionLike, * projection: ol.ProjectionLike,
* reprojectionErrorThreshold: (number|undefined), * reprojectionErrorThreshold: (number|undefined),
* serverType: (ol.source.wms.ServerType|string|undefined), * serverType: (ol.source.WMSServerType|string|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined), * tileLoadFunction: (ol.TileLoadFunctionType|undefined),
* url: (string|undefined), * url: (string|undefined),
* urls: (Array.<string>|undefined), * urls: (Array.<string>|undefined),
@@ -5756,7 +5797,7 @@ olx.source.TileWMSOptions.prototype.reprojectionErrorThreshold;
/** /**
* The type of the remote WMS server. Currently only used when `hidpi` is * The type of the remote WMS server. Currently only used when `hidpi` is
* `true`. Default is `undefined`. * `true`. Default is `undefined`.
* @type {ol.source.wms.ServerType|string|undefined} * @type {ol.source.WMSServerType|string|undefined}
* @api * @api
*/ */
olx.source.TileWMSOptions.prototype.serverType; olx.source.TileWMSOptions.prototype.serverType;
@@ -5944,7 +5985,7 @@ olx.source.VectorOptions.prototype.wrapX;
* tileGrid: ol.tilegrid.WMTS, * tileGrid: ol.tilegrid.WMTS,
* projection: ol.ProjectionLike, * projection: ol.ProjectionLike,
* reprojectionErrorThreshold: (number|undefined), * reprojectionErrorThreshold: (number|undefined),
* requestEncoding: (ol.source.WMTSRequestEncoding|string|undefined), * requestEncoding: (ol.source.WMTS.RequestEncoding|string|undefined),
* layer: string, * layer: string,
* style: string, * style: string,
* tilePixelRatio: (number|undefined), * tilePixelRatio: (number|undefined),
@@ -6026,7 +6067,7 @@ olx.source.WMTSOptions.prototype.reprojectionErrorThreshold;
/** /**
* Request encoding. Default is `KVP`. * Request encoding. Default is `KVP`.
* @type {ol.source.WMTSRequestEncoding|string|undefined} * @type {ol.source.WMTS.RequestEncoding|string|undefined}
* @api stable * @api stable
*/ */
olx.source.WMTSOptions.prototype.requestEncoding; olx.source.WMTSOptions.prototype.requestEncoding;
@@ -6595,14 +6636,14 @@ olx.style.FillOptions.prototype.color;
/** /**
* @typedef {{anchor: (Array.<number>|undefined), * @typedef {{anchor: (Array.<number>|undefined),
* anchorOrigin: (ol.style.IconOrigin|undefined), * anchorOrigin: (ol.style.Icon.Origin|undefined),
* anchorXUnits: (ol.style.IconAnchorUnits|undefined), * anchorXUnits: (ol.style.Icon.AnchorUnits|undefined),
* anchorYUnits: (ol.style.IconAnchorUnits|undefined), * anchorYUnits: (ol.style.Icon.AnchorUnits|undefined),
* color: (ol.Color|string|undefined), * color: (ol.Color|string|undefined),
* crossOrigin: (null|string|undefined), * crossOrigin: (null|string|undefined),
* img: (Image|HTMLCanvasElement|undefined), * img: (Image|HTMLCanvasElement|undefined),
* offset: (Array.<number>|undefined), * offset: (Array.<number>|undefined),
* offsetOrigin: (ol.style.IconOrigin|undefined), * offsetOrigin: (ol.style.Icon.Origin|undefined),
* opacity: (number|undefined), * opacity: (number|undefined),
* scale: (number|undefined), * scale: (number|undefined),
* snapToPixel: (boolean|undefined), * snapToPixel: (boolean|undefined),
@@ -6626,7 +6667,7 @@ olx.style.IconOptions.prototype.anchor;
/** /**
* Origin of the anchor: `bottom-left`, `bottom-right`, `top-left` or * Origin of the anchor: `bottom-left`, `bottom-right`, `top-left` or
* `top-right`. Default is `top-left`. * `top-right`. Default is `top-left`.
* @type {ol.style.IconOrigin|undefined} * @type {ol.style.Icon.Origin|undefined}
* @api * @api
*/ */
olx.style.IconOptions.prototype.anchorOrigin; olx.style.IconOptions.prototype.anchorOrigin;
@@ -6636,7 +6677,7 @@ olx.style.IconOptions.prototype.anchorOrigin;
* Units in which the anchor x value is specified. A value of `'fraction'` * Units in which the anchor x value is specified. A value of `'fraction'`
* indicates the x value is a fraction of the icon. A value of `'pixels'` * indicates the x value is a fraction of the icon. A value of `'pixels'`
* indicates the x value in pixels. Default is `'fraction'`. * indicates the x value in pixels. Default is `'fraction'`.
* @type {ol.style.IconAnchorUnits|undefined} * @type {ol.style.Icon.AnchorUnits|undefined}
* @api * @api
*/ */
olx.style.IconOptions.prototype.anchorXUnits; olx.style.IconOptions.prototype.anchorXUnits;
@@ -6646,7 +6687,7 @@ olx.style.IconOptions.prototype.anchorXUnits;
* Units in which the anchor y value is specified. A value of `'fraction'` * Units in which the anchor y value is specified. A value of `'fraction'`
* indicates the y value is a fraction of the icon. A value of `'pixels'` * indicates the y value is a fraction of the icon. A value of `'pixels'`
* indicates the y value in pixels. Default is `'fraction'`. * indicates the y value in pixels. Default is `'fraction'`.
* @type {ol.style.IconAnchorUnits|undefined} * @type {ol.style.Icon.AnchorUnits|undefined}
* @api * @api
*/ */
olx.style.IconOptions.prototype.anchorYUnits; olx.style.IconOptions.prototype.anchorYUnits;
@@ -6695,7 +6736,7 @@ olx.style.IconOptions.prototype.offset;
/** /**
* Origin of the offset: `bottom-left`, `bottom-right`, `top-left` or * Origin of the offset: `bottom-left`, `bottom-right`, `top-left` or
* `top-right`. Default is `top-left`. * `top-right`. Default is `top-left`.
* @type {ol.style.IconOrigin|undefined} * @type {ol.style.Icon.Origin|undefined}
* @api * @api
*/ */
olx.style.IconOptions.prototype.offsetOrigin; olx.style.IconOptions.prototype.offsetOrigin;
@@ -6864,14 +6905,6 @@ olx.style.RegularShapeOptions.prototype.snapToPixel;
olx.style.RegularShapeOptions.prototype.stroke; olx.style.RegularShapeOptions.prototype.stroke;
/**
* Whether to rotate the text with the view. Default is `false`.
* @type {boolean|undefined}
* @api
*/
olx.style.TextOptions.prototype.rotateWithView;
/** /**
* Rotation in radians (positive rotation clockwise). Default is `0`. * Rotation in radians (positive rotation clockwise). Default is `0`.
* @type {number|undefined} * @type {number|undefined}
@@ -6899,7 +6932,7 @@ olx.style.RegularShapeOptions.prototype.atlasManager;
/** /**
* @typedef {{color: (ol.Color|string|undefined), * @typedef {{color: (ol.Color|ol.ColorLike|undefined),
* lineCap: (string|undefined), * lineCap: (string|undefined),
* lineJoin: (string|undefined), * lineJoin: (string|undefined),
* lineDash: (Array.<number>|undefined), * lineDash: (Array.<number>|undefined),
@@ -6910,9 +6943,10 @@ olx.style.StrokeOptions;
/** /**
* Color. See {@link ol.color} for possible formats. Default null; if null, * A color, gradient or pattern. See {@link ol.color}
* the Canvas/renderer default black will be used. * and {@link ol.colorlike} for possible formats. Default null;
* @type {ol.Color|string|undefined} * if null, the Canvas/renderer default black will be used.
* @type {ol.Color|ol.ColorLike|undefined}
* @api * @api
*/ */
olx.style.StrokeOptions.prototype.color; olx.style.StrokeOptions.prototype.color;
@@ -7016,6 +7050,14 @@ olx.style.TextOptions.prototype.offsetY;
olx.style.TextOptions.prototype.scale; olx.style.TextOptions.prototype.scale;
/**
* Whether to rotate the text with the view. Default is `false`.
* @type {boolean|undefined}
* @api
*/
olx.style.TextOptions.prototype.rotateWithView;
/** /**
* Rotation in radians (positive rotation clockwise). Default is `0`. * Rotation in radians (positive rotation clockwise). Default is `0`.
* @type {number|undefined} * @type {number|undefined}
+9 -9
View File
@@ -1,6 +1,6 @@
{ {
"name": "openlayers", "name": "openlayers",
"version": "3.18.0", "version": "3.19.0-beta.1",
"description": "Build tools and sources for developing OpenLayers based mapping applications", "description": "Build tools and sources for developing OpenLayers based mapping applications",
"keywords": [ "keywords": [
"map", "map",
@@ -35,14 +35,14 @@
"closure-util": "1.15.1", "closure-util": "1.15.1",
"derequire": "2.0.3", "derequire": "2.0.3",
"fs-extra": "0.30.0", "fs-extra": "0.30.0",
"glob": "7.0.6", "glob": "7.1.0",
"handlebars": "4.0.5", "handlebars": "4.0.5",
"jsdoc": "3.4.0", "jsdoc": "3.4.1",
"marked": "0.3.6", "marked": "0.3.6",
"metalsmith": "2.2.0", "metalsmith": "2.2.0",
"metalsmith-layouts": "1.6.5", "metalsmith-layouts": "1.6.5",
"nomnom": "1.8.1", "nomnom": "1.8.1",
"pbf": "2.0.1", "pbf": "3.0.1",
"pixelworks": "1.1.0", "pixelworks": "1.1.0",
"rbush": "2.0.1", "rbush": "2.0.1",
"temp": "0.8.3", "temp": "0.8.3",
@@ -50,12 +50,12 @@
"walk": "2.3.9" "walk": "2.3.9"
}, },
"devDependencies": { "devDependencies": {
"clean-css": "3.4.19", "clean-css": "3.4.20",
"coveralls": "2.11.12", "coveralls": "2.11.14",
"debounce": "^1.0.0", "debounce": "^1.0.0",
"eslint": "3.3.1", "eslint": "3.6.0",
"eslint-config-openlayers": "5.0.0", "eslint-config-openlayers": "5.0.0",
"eslint-plugin-openlayers-internal": "2.1.0", "eslint-plugin-openlayers-internal": "2.2.0",
"expect.js": "0.3.1", "expect.js": "0.3.1",
"gaze": "^1.0.0", "gaze": "^1.0.0",
"istanbul": "0.4.5", "istanbul": "0.4.5",
@@ -67,7 +67,7 @@
"proj4": "2.3.15", "proj4": "2.3.15",
"resemblejs": "2.2.1", "resemblejs": "2.2.1",
"serve-files": "1.0.0", "serve-files": "1.0.0",
"sinon": "1.17.5", "sinon": "1.17.6",
"slimerjs": "0.906.2" "slimerjs": "0.906.2"
}, },
"eslintConfig": { "eslintConfig": {
+7 -3
View File
@@ -9,8 +9,9 @@ const util = require('./util');
* if so, require the "namespace" (ol.foo) * if so, require the "namespace" (ol.foo)
* 2. check if a name looks like a class (ol.foo.Bar or ol.foo.XYZ) * 2. check if a name looks like a class (ol.foo.Bar or ol.foo.XYZ)
* if so, require the class (ol.foo.Bar) * if so, require the class (ol.foo.Bar)
* 3. otherwise, lop off the last part of a name and require the rest * 3. otherwise, unless it's an external dependency (ol.ext.*), lop off the last
* (e.g. ol.foo.bar would require ol.foo) * part of a name and require the rest (e.g. ol.foo.bar would require ol.foo,
* but ol.ext.foo would require ol.ext.foo)
*/ */
const CONST_RE = /^(ol(\.[a-z]\w*)*)\.[A-Z]+_([_A-Z])+$/; const CONST_RE = /^(ol(\.[a-z]\w*)*)\.[A-Z]+_([_A-Z])+$/;
@@ -76,7 +77,10 @@ exports.rule = {
} }
// otherwise, assume the object should be required // otherwise, assume the object should be required
const parts = name.split('.'); const parts = name.split('.');
parts.pop(); if (parts[1] !== 'ext') {
// unless it's an ol.ext.*
parts.pop();
}
const objectName = parts.join('.'); const objectName = parts.join('.');
if (!defined[objectName]) { if (!defined[objectName]) {
context.report(expression, `Missing goog.require('${objectName}')`); context.report(expression, `Missing goog.require('${objectName}')`);
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "eslint-plugin-openlayers-internal", "name": "eslint-plugin-openlayers-internal",
"version": "2.1.0", "version": "2.2.0",
"description": "Custom ESLint rules for the OpenLayers project", "description": "Custom ESLint rules for the OpenLayers project",
"main": "index.js", "main": "index.js",
"repository": { "repository": {
+1 -1
View File
@@ -15,7 +15,7 @@ exports.rule = {
if (util.isRequireExpression(expression)) { if (util.isRequireExpression(expression)) {
const parent = expression.parent; const parent = expression.parent;
if (parent.type !== 'ExpressionStatement') { if (parent.type !== 'ExpressionStatement') {
return context.report(expression, 'Expected goog.require() to in an expression statement'); return context.report(expression, 'Expected goog.require() to be in an expression statement');
} }
if (parent.parent.type !== 'Program') { if (parent.parent.type !== 'Program') {
+4 -34
View File
@@ -1,5 +1,7 @@
goog.provide('ol.array'); goog.provide('ol.array');
goog.require('ol');
/** /**
* Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1. * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1.
@@ -36,38 +38,6 @@ ol.array.binarySearch = function(haystack, needle, opt_comparator) {
return found ? low : ~low; return found ? low : ~low;
}; };
/**
* @param {Array.<number>} arr Array.
* @param {number} target Target.
* @return {number} Index.
*/
ol.array.binaryFindNearest = function(arr, target) {
var index = ol.array.binarySearch(arr, target,
/**
* @param {number} a A.
* @param {number} b B.
* @return {number} b minus a.
*/
function(a, b) {
return b - a;
});
if (index >= 0) {
return index;
} else if (index == -1) {
return 0;
} else if (index == -arr.length - 1) {
return arr.length - 1;
} else {
var left = -index - 2;
var right = -index - 1;
if (arr[left] - target < target - arr[right]) {
return left;
} else {
return right;
}
}
};
/** /**
* Compare function for array sort that is safe for numbers. * Compare function for array sort that is safe for numbers.
@@ -144,9 +114,9 @@ ol.array.linearFindNearest = function(arr, target, direction) {
* @param {number} end End index. * @param {number} end End index.
*/ */
ol.array.reverseSubArray = function(arr, begin, end) { ol.array.reverseSubArray = function(arr, begin, end) {
goog.DEBUG && console.assert(begin >= 0, ol.DEBUG && console.assert(begin >= 0,
'Array begin index should be equal to or greater than 0'); 'Array begin index should be equal to or greater than 0');
goog.DEBUG && console.assert(end < arr.length, ol.DEBUG && console.assert(end < arr.length,
'Array end index should be less than the array length'); 'Array end index should be less than the array length');
while (begin < end) { while (begin < end) {
var tmp = arr[begin]; var tmp = arr[begin];
-1
View File
@@ -1,6 +1,5 @@
goog.provide('ol.asserts'); goog.provide('ol.asserts');
goog.require('ol');
goog.require('ol.AssertionError'); goog.require('ol.AssertionError');
+10 -10
View File
@@ -10,14 +10,6 @@ goog.require('ol.events.Event');
goog.require('ol.Object'); goog.require('ol.Object');
/**
* @enum {string}
*/
ol.CollectionProperty = {
LENGTH: 'length'
};
/** /**
* @classdesc * @classdesc
* An expanded version of standard JS Array, adding convenience methods for * An expanded version of standard JS Array, adding convenience methods for
@@ -121,7 +113,7 @@ ol.Collection.prototype.item = function(index) {
* @api stable * @api stable
*/ */
ol.Collection.prototype.getLength = function() { ol.Collection.prototype.getLength = function() {
return /** @type {number} */ (this.get(ol.CollectionProperty.LENGTH)); return /** @type {number} */ (this.get(ol.Collection.Property.LENGTH));
}; };
@@ -227,7 +219,15 @@ ol.Collection.prototype.setAt = function(index, elem) {
* @private * @private
*/ */
ol.Collection.prototype.updateLength_ = function() { ol.Collection.prototype.updateLength_ = function() {
this.set(ol.CollectionProperty.LENGTH, this.array_.length); this.set(ol.Collection.Property.LENGTH, this.array_.length);
};
/**
* @enum {string}
*/
ol.Collection.Property = {
LENGTH: 'length'
}; };
+9 -22
View File
@@ -1,6 +1,5 @@
goog.provide('ol.color'); goog.provide('ol.color');
goog.require('ol');
goog.require('ol.asserts'); goog.require('ol.asserts');
goog.require('ol.math'); goog.require('ol.math');
@@ -11,7 +10,7 @@ goog.require('ol.math');
* @type {RegExp} * @type {RegExp}
* @private * @private
*/ */
ol.color.hexColorRe_ = /^#(?:[0-9a-f]{3}){1,2}$/i; ol.color.HEX_COLOR_RE_ = /^#(?:[0-9a-f]{3}){1,2}$/i;
/** /**
@@ -20,7 +19,7 @@ ol.color.hexColorRe_ = /^#(?:[0-9a-f]{3}){1,2}$/i;
* @type {RegExp} * @type {RegExp}
* @private * @private
*/ */
ol.color.rgbColorRe_ = ol.color.RGB_COLOR_RE_ =
/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i; /^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;
@@ -30,7 +29,7 @@ ol.color.rgbColorRe_ =
* @type {RegExp} * @type {RegExp}
* @private * @private
*/ */
ol.color.rgbaColorRe_ = ol.color.RGBA_COLOR_RE_ =
/^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i; /^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i;
@@ -40,7 +39,7 @@ ol.color.rgbaColorRe_ =
* @type {RegExp} * @type {RegExp}
* @private * @private
*/ */
ol.color.namedColorRe_ = ol.color.NAMED_COLOR_RE_ =
/^([a-z]*)$/i; /^([a-z]*)$/i;
@@ -83,7 +82,7 @@ ol.color.fromNamed = function(color) {
var el = document.createElement('div'); var el = document.createElement('div');
el.style.color = color; el.style.color = color;
document.body.appendChild(el); document.body.appendChild(el);
var rgb = window.getComputedStyle(el).color; var rgb = getComputedStyle(el).color;
document.body.removeChild(el); document.body.removeChild(el);
return rgb; return rgb;
}; };
@@ -154,11 +153,11 @@ ol.color.fromString = (
ol.color.fromStringInternal_ = function(s) { ol.color.fromStringInternal_ = function(s) {
var r, g, b, a, color, match; var r, g, b, a, color, match;
if (ol.color.namedColorRe_.exec(s)) { if (ol.color.NAMED_COLOR_RE_.exec(s)) {
s = ol.color.fromNamed(s); s = ol.color.fromNamed(s);
} }
if (ol.color.hexColorRe_.exec(s)) { // hex if (ol.color.HEX_COLOR_RE_.exec(s)) { // hex
var n = s.length - 1; // number of hex digits var n = s.length - 1; // number of hex digits
ol.asserts.assert(n == 3 || n == 6, 54); // Hex color should have 3 or 6 digits ol.asserts.assert(n == 3 || n == 6, 54); // Hex color should have 3 or 6 digits
var d = n == 3 ? 1 : 2; // number of digits per channel var d = n == 3 ? 1 : 2; // number of digits per channel
@@ -172,13 +171,13 @@ ol.color.fromStringInternal_ = function(s) {
} }
a = 1; a = 1;
color = [r, g, b, a]; color = [r, g, b, a];
} else if ((match = ol.color.rgbaColorRe_.exec(s))) { // rgba() } else if ((match = ol.color.RGBA_COLOR_RE_.exec(s))) { // rgba()
r = Number(match[1]); r = Number(match[1]);
g = Number(match[2]); g = Number(match[2]);
b = Number(match[3]); b = Number(match[3]);
a = Number(match[4]); a = Number(match[4]);
color = ol.color.normalize([r, g, b, a]); color = ol.color.normalize([r, g, b, a]);
} else if ((match = ol.color.rgbColorRe_.exec(s))) { // rgb() } else if ((match = ol.color.RGB_COLOR_RE_.exec(s))) { // rgb()
r = Number(match[1]); r = Number(match[1]);
g = Number(match[2]); g = Number(match[2]);
b = Number(match[3]); b = Number(match[3]);
@@ -190,18 +189,6 @@ ol.color.fromStringInternal_ = function(s) {
}; };
/**
* @param {ol.Color} color Color.
* @return {boolean} Is valid.
*/
ol.color.isValid = function(color) {
return 0 <= color[0] && color[0] < 256 &&
0 <= color[1] && color[1] < 256 &&
0 <= color[2] && color[2] < 256 &&
0 <= color[3] && color[3] <= 1;
};
/** /**
* @param {ol.Color} color Color. * @param {ol.Color} color Color.
* @param {ol.Color=} opt_color Color. * @param {ol.Color=} opt_color Color.
+2 -2
View File
@@ -2,7 +2,7 @@ goog.provide('ol.control.Control');
goog.require('ol.events'); goog.require('ol.events');
goog.require('ol'); goog.require('ol');
goog.require('ol.MapEventType'); goog.require('ol.MapEvent');
goog.require('ol.Object'); goog.require('ol.Object');
goog.require('ol.dom'); goog.require('ol.dom');
@@ -118,7 +118,7 @@ ol.control.Control.prototype.setMap = function(map) {
target.appendChild(this.element); target.appendChild(this.element);
if (this.render !== ol.nullFunction) { if (this.render !== ol.nullFunction) {
this.listenerKeys.push(ol.events.listen(map, this.listenerKeys.push(ol.events.listen(map,
ol.MapEventType.POSTRENDER, this.render, this)); ol.MapEvent.Type.POSTRENDER, this.render, this));
} }
map.render(); map.render();
} }
+4 -4
View File
@@ -1,11 +1,11 @@
goog.provide('ol.control.FullScreen'); goog.provide('ol.control.FullScreen');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol'); goog.require('ol');
goog.require('ol.control.Control'); goog.require('ol.control.Control');
goog.require('ol.dom');
goog.require('ol.css'); goog.require('ol.css');
goog.require('ol.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
/** /**
@@ -160,7 +160,7 @@ ol.control.FullScreen.prototype.handleFullScreenChange_ = function() {
ol.control.FullScreen.prototype.setMap = function(map) { ol.control.FullScreen.prototype.setMap = function(map) {
ol.control.Control.prototype.setMap.call(this, map); ol.control.Control.prototype.setMap.call(this, map);
if (map) { if (map) {
this.listenerKeys.push(ol.events.listen(ol.global.document, this.listenerKeys.push(ol.events.listen(document,
ol.control.FullScreen.getChangeType_(), ol.control.FullScreen.getChangeType_(),
this.handleFullScreenChange_, this) this.handleFullScreenChange_, this)
); );
+14 -14
View File
@@ -10,15 +10,6 @@ goog.require('ol.control.Control');
goog.require('ol.proj'); goog.require('ol.proj');
/**
* @enum {string}
*/
ol.control.MousePositionProperty = {
PROJECTION: 'projection',
COORDINATE_FORMAT: 'coordinateFormat'
};
/** /**
* @classdesc * @classdesc
* A control to show the 2D coordinates of the mouse cursor. By default, these * A control to show the 2D coordinates of the mouse cursor. By default, these
@@ -49,7 +40,7 @@ ol.control.MousePosition = function(opt_options) {
}); });
ol.events.listen(this, ol.events.listen(this,
ol.Object.getChangeEventType(ol.control.MousePositionProperty.PROJECTION), ol.Object.getChangeEventType(ol.control.MousePosition.Property.PROJECTION),
this.handleProjectionChanged_, this); this.handleProjectionChanged_, this);
if (options.coordinateFormat) { if (options.coordinateFormat) {
@@ -131,7 +122,7 @@ ol.control.MousePosition.prototype.handleProjectionChanged_ = function() {
*/ */
ol.control.MousePosition.prototype.getCoordinateFormat = function() { ol.control.MousePosition.prototype.getCoordinateFormat = function() {
return /** @type {ol.CoordinateFormatType|undefined} */ ( return /** @type {ol.CoordinateFormatType|undefined} */ (
this.get(ol.control.MousePositionProperty.COORDINATE_FORMAT)); this.get(ol.control.MousePosition.Property.COORDINATE_FORMAT));
}; };
@@ -144,7 +135,7 @@ ol.control.MousePosition.prototype.getCoordinateFormat = function() {
*/ */
ol.control.MousePosition.prototype.getProjection = function() { ol.control.MousePosition.prototype.getProjection = function() {
return /** @type {ol.proj.Projection|undefined} */ ( return /** @type {ol.proj.Projection|undefined} */ (
this.get(ol.control.MousePositionProperty.PROJECTION)); this.get(ol.control.MousePosition.Property.PROJECTION));
}; };
@@ -195,7 +186,7 @@ ol.control.MousePosition.prototype.setMap = function(map) {
* @api stable * @api stable
*/ */
ol.control.MousePosition.prototype.setCoordinateFormat = function(format) { ol.control.MousePosition.prototype.setCoordinateFormat = function(format) {
this.set(ol.control.MousePositionProperty.COORDINATE_FORMAT, format); this.set(ol.control.MousePosition.Property.COORDINATE_FORMAT, format);
}; };
@@ -207,7 +198,7 @@ ol.control.MousePosition.prototype.setCoordinateFormat = function(format) {
* @api stable * @api stable
*/ */
ol.control.MousePosition.prototype.setProjection = function(projection) { ol.control.MousePosition.prototype.setProjection = function(projection) {
this.set(ol.control.MousePositionProperty.PROJECTION, projection); this.set(ol.control.MousePosition.Property.PROJECTION, projection);
}; };
@@ -244,3 +235,12 @@ ol.control.MousePosition.prototype.updateHTML_ = function(pixel) {
this.renderedHTML_ = html; this.renderedHTML_ = html;
} }
}; };
/**
* @enum {string}
*/
ol.control.MousePosition.Property = {
PROJECTION: 'projection',
COORDINATE_FORMAT: 'coordinateFormat'
};
+4 -5
View File
@@ -3,11 +3,10 @@ goog.provide('ol.control.OverviewMap');
goog.require('ol'); goog.require('ol');
goog.require('ol.Collection'); goog.require('ol.Collection');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.MapEventType'); goog.require('ol.MapEvent');
goog.require('ol.Object'); goog.require('ol.Object');
goog.require('ol.ObjectEventType'); goog.require('ol.ObjectEventType');
goog.require('ol.Overlay'); goog.require('ol.Overlay');
goog.require('ol.OverlayPositioning');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.control.Control'); goog.require('ol.control.Control');
goog.require('ol.coordinate'); goog.require('ol.coordinate');
@@ -123,7 +122,7 @@ ol.control.OverviewMap = function(opt_options) {
*/ */
this.boxOverlay_ = new ol.Overlay({ this.boxOverlay_ = new ol.Overlay({
position: [0, 0], position: [0, 0],
positioning: ol.OverlayPositioning.BOTTOM_LEFT, positioning: ol.Overlay.Positioning.BOTTOM_LEFT,
element: box element: box
}); });
this.ovmap_.addOverlay(this.boxOverlay_); this.ovmap_.addOverlay(this.boxOverlay_);
@@ -193,7 +192,7 @@ ol.control.OverviewMap.prototype.setMap = function(map) {
* @private * @private
*/ */
ol.control.OverviewMap.prototype.handleMapPropertyChange_ = function(event) { ol.control.OverviewMap.prototype.handleMapPropertyChange_ = function(event) {
if (event.key === ol.MapProperty.VIEW) { if (event.key === ol.Map.Property.VIEW) {
var oldView = /** @type {ol.View} */ (event.oldValue); var oldView = /** @type {ol.View} */ (event.oldValue);
if (oldView) { if (oldView) {
this.unbindView_(oldView); this.unbindView_(oldView);
@@ -446,7 +445,7 @@ ol.control.OverviewMap.prototype.handleToggle_ = function() {
if (!this.collapsed_ && !ovmap.isRendered()) { if (!this.collapsed_ && !ovmap.isRendered()) {
ovmap.updateSize(); ovmap.updateSize();
this.resetExtent_(); this.resetExtent_();
ol.events.listenOnce(ovmap, ol.MapEventType.POSTRENDER, ol.events.listenOnce(ovmap, ol.MapEvent.Type.POSTRENDER,
function(event) { function(event) {
this.updateBox_(); this.updateBox_();
}, },
+2 -1
View File
@@ -12,6 +12,7 @@ goog.require('ol.events');
goog.require('ol.events.Event'); goog.require('ol.events.Event');
goog.require('ol.events.EventType'); goog.require('ol.events.EventType');
goog.require('ol.math'); goog.require('ol.math');
goog.require('ol.pointer.EventType');
goog.require('ol.pointer.PointerEventHandler'); goog.require('ol.pointer.PointerEventHandler');
@@ -186,7 +187,7 @@ ol.control.ZoomSlider.prototype.initSlider_ = function() {
}; };
var thumb = container.firstElementChild; var thumb = container.firstElementChild;
var computedStyle = ol.global.getComputedStyle(thumb); var computedStyle = getComputedStyle(thumb);
var thumbWidth = thumb.offsetWidth + var thumbWidth = thumb.offsetWidth +
parseFloat(computedStyle['marginRight']) + parseFloat(computedStyle['marginRight']) +
parseFloat(computedStyle['marginLeft']); parseFloat(computedStyle['marginLeft']);
-25
View File
@@ -319,28 +319,3 @@ ol.coordinate.toStringHDMS = function(coordinate, opt_fractionDigits) {
ol.coordinate.toStringXY = function(coordinate, opt_fractionDigits) { ol.coordinate.toStringXY = function(coordinate, opt_fractionDigits) {
return ol.coordinate.format(coordinate, '{x}, {y}', opt_fractionDigits); return ol.coordinate.format(coordinate, '{x}, {y}', opt_fractionDigits);
}; };
/**
* Create an ol.Coordinate from an Array and take into account axis order.
*
* Examples:
*
* var northCoord = ol.coordinate.fromProjectedArray([1, 2], 'n');
* // northCoord is now [2, 1]
*
* var eastCoord = ol.coordinate.fromProjectedArray([1, 2], 'e');
* // eastCoord is now [1, 2]
*
* @param {Array} array The array with coordinates.
* @param {string} axis the axis info.
* @return {ol.Coordinate} The coordinate created.
*/
ol.coordinate.fromProjectedArray = function(array, axis) {
var firstAxis = axis.charAt(0);
if (firstAxis === 'n' || firstAxis === 's') {
return [array[1], array[0]];
} else {
return array;
}
};
+25 -25
View File
@@ -7,18 +7,6 @@ goog.require('ol.has');
goog.require('ol.math'); goog.require('ol.math');
/**
* @enum {string}
*/
ol.DeviceOrientationProperty = {
ALPHA: 'alpha',
BETA: 'beta',
GAMMA: 'gamma',
HEADING: 'heading',
TRACKING: 'tracking'
};
/** /**
* @classdesc * @classdesc
* The ol.DeviceOrientation class provides access to information from * The ol.DeviceOrientation class provides access to information from
@@ -87,7 +75,7 @@ ol.DeviceOrientation = function(opt_options) {
this.listenerKey_ = null; this.listenerKey_ = null;
ol.events.listen(this, ol.events.listen(this,
ol.Object.getChangeEventType(ol.DeviceOrientationProperty.TRACKING), ol.Object.getChangeEventType(ol.DeviceOrientation.Property.TRACKING),
this.handleTrackingChanged_, this); this.handleTrackingChanged_, this);
this.setTracking(options.tracking !== undefined ? options.tracking : false); this.setTracking(options.tracking !== undefined ? options.tracking : false);
@@ -113,22 +101,22 @@ ol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) {
var event = /** @type {DeviceOrientationEvent} */ (originalEvent); var event = /** @type {DeviceOrientationEvent} */ (originalEvent);
if (event.alpha !== null) { if (event.alpha !== null) {
var alpha = ol.math.toRadians(event.alpha); var alpha = ol.math.toRadians(event.alpha);
this.set(ol.DeviceOrientationProperty.ALPHA, alpha); this.set(ol.DeviceOrientation.Property.ALPHA, alpha);
// event.absolute is undefined in iOS. // event.absolute is undefined in iOS.
if (typeof event.absolute === 'boolean' && event.absolute) { if (typeof event.absolute === 'boolean' && event.absolute) {
this.set(ol.DeviceOrientationProperty.HEADING, alpha); this.set(ol.DeviceOrientation.Property.HEADING, alpha);
} else if (typeof event.webkitCompassHeading === 'number' && } else if (typeof event.webkitCompassHeading === 'number' &&
event.webkitCompassAccuracy != -1) { event.webkitCompassAccuracy != -1) {
var heading = ol.math.toRadians(event.webkitCompassHeading); var heading = ol.math.toRadians(event.webkitCompassHeading);
this.set(ol.DeviceOrientationProperty.HEADING, heading); this.set(ol.DeviceOrientation.Property.HEADING, heading);
} }
} }
if (event.beta !== null) { if (event.beta !== null) {
this.set(ol.DeviceOrientationProperty.BETA, this.set(ol.DeviceOrientation.Property.BETA,
ol.math.toRadians(event.beta)); ol.math.toRadians(event.beta));
} }
if (event.gamma !== null) { if (event.gamma !== null) {
this.set(ol.DeviceOrientationProperty.GAMMA, this.set(ol.DeviceOrientation.Property.GAMMA,
ol.math.toRadians(event.gamma)); ol.math.toRadians(event.gamma));
} }
this.changed(); this.changed();
@@ -144,7 +132,7 @@ ol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) {
*/ */
ol.DeviceOrientation.prototype.getAlpha = function() { ol.DeviceOrientation.prototype.getAlpha = function() {
return /** @type {number|undefined} */ ( return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientationProperty.ALPHA)); this.get(ol.DeviceOrientation.Property.ALPHA));
}; };
@@ -157,7 +145,7 @@ ol.DeviceOrientation.prototype.getAlpha = function() {
*/ */
ol.DeviceOrientation.prototype.getBeta = function() { ol.DeviceOrientation.prototype.getBeta = function() {
return /** @type {number|undefined} */ ( return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientationProperty.BETA)); this.get(ol.DeviceOrientation.Property.BETA));
}; };
@@ -170,7 +158,7 @@ ol.DeviceOrientation.prototype.getBeta = function() {
*/ */
ol.DeviceOrientation.prototype.getGamma = function() { ol.DeviceOrientation.prototype.getGamma = function() {
return /** @type {number|undefined} */ ( return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientationProperty.GAMMA)); this.get(ol.DeviceOrientation.Property.GAMMA));
}; };
@@ -183,7 +171,7 @@ ol.DeviceOrientation.prototype.getGamma = function() {
*/ */
ol.DeviceOrientation.prototype.getHeading = function() { ol.DeviceOrientation.prototype.getHeading = function() {
return /** @type {number|undefined} */ ( return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientationProperty.HEADING)); this.get(ol.DeviceOrientation.Property.HEADING));
}; };
@@ -195,7 +183,7 @@ ol.DeviceOrientation.prototype.getHeading = function() {
*/ */
ol.DeviceOrientation.prototype.getTracking = function() { ol.DeviceOrientation.prototype.getTracking = function() {
return /** @type {boolean} */ ( return /** @type {boolean} */ (
this.get(ol.DeviceOrientationProperty.TRACKING)); this.get(ol.DeviceOrientation.Property.TRACKING));
}; };
@@ -206,7 +194,7 @@ ol.DeviceOrientation.prototype.handleTrackingChanged_ = function() {
if (ol.has.DEVICE_ORIENTATION) { if (ol.has.DEVICE_ORIENTATION) {
var tracking = this.getTracking(); var tracking = this.getTracking();
if (tracking && !this.listenerKey_) { if (tracking && !this.listenerKey_) {
this.listenerKey_ = ol.events.listen(ol.global, 'deviceorientation', this.listenerKey_ = ol.events.listen(window, 'deviceorientation',
this.orientationChange_, this); this.orientationChange_, this);
} else if (!tracking && this.listenerKey_ !== null) { } else if (!tracking && this.listenerKey_ !== null) {
ol.events.unlistenByKey(this.listenerKey_); ol.events.unlistenByKey(this.listenerKey_);
@@ -224,5 +212,17 @@ ol.DeviceOrientation.prototype.handleTrackingChanged_ = function() {
* @api * @api
*/ */
ol.DeviceOrientation.prototype.setTracking = function(tracking) { ol.DeviceOrientation.prototype.setTracking = function(tracking) {
this.set(ol.DeviceOrientationProperty.TRACKING, tracking); this.set(ol.DeviceOrientation.Property.TRACKING, tracking);
};
/**
* @enum {string}
*/
ol.DeviceOrientation.Property = {
ALPHA: 'alpha',
BETA: 'beta',
GAMMA: 'gamma',
HEADING: 'heading',
TRACKING: 'tracking'
}; };
+2 -152
View File
@@ -1,16 +1,5 @@
goog.provide('ol.dom'); goog.provide('ol.dom');
goog.require('goog.userAgent');
goog.require('ol');
goog.require('ol.vec.Mat4');
/**
* @type {Array.<number>}
* @private
*/
ol.dom.tmpMat4_ = ol.vec.Mat4.create();
/** /**
* Create an html canvas element and returns its 2d context. * Create an html canvas element and returns its 2d context.
@@ -30,145 +19,6 @@ ol.dom.createCanvasContext2D = function(opt_width, opt_height) {
}; };
/**
* Detect 2d transform.
* Adapted from http://stackoverflow.com/q/5661671/130442
* http://caniuse.com/#feat=transforms2d
* @return {boolean}
*/
ol.dom.canUseCssTransform = (function() {
var canUseCssTransform;
return function() {
if (canUseCssTransform === undefined) {
var el = document.createElement('P'),
has2d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate(1px,1px)';
has2d = ol.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
}
document.body.removeChild(el);
canUseCssTransform = (has2d && has2d !== 'none');
}
return canUseCssTransform;
};
}());
/**
* Detect 3d transform.
* Adapted from http://stackoverflow.com/q/5661671/130442
* http://caniuse.com/#feat=transforms3d
* @return {boolean}
*/
ol.dom.canUseCssTransform3D = (function() {
var canUseCssTransform3D;
return function() {
if (canUseCssTransform3D === undefined) {
var el = document.createElement('P'),
has3d,
transforms = {
'webkitTransform': '-webkit-transform',
'OTransform': '-o-transform',
'msTransform': '-ms-transform',
'MozTransform': '-moz-transform',
'transform': 'transform'
};
document.body.appendChild(el);
for (var t in transforms) {
if (t in el.style) {
el.style[t] = 'translate3d(1px,1px,1px)';
has3d = ol.global.getComputedStyle(el).getPropertyValue(
transforms[t]);
}
}
document.body.removeChild(el);
canUseCssTransform3D = (has3d && has3d !== 'none');
}
return canUseCssTransform3D;
};
}());
/**
* @param {Element} element Element.
* @param {string} value Value.
*/
ol.dom.setTransform = function(element, value) {
var style = element.style;
style.WebkitTransform = value;
style.MozTransform = value;
style.OTransform = value;
style.msTransform = value;
style.transform = value;
// IE 9+ seems to assume transform-origin: 100% 100%; for some unknown reason
if (goog.userAgent.IE && goog.userAgent.isVersionOrHigher('9.0')) {
element.style.transformOrigin = '0 0';
}
};
/**
* @param {!Element} element Element.
* @param {ol.Transform} transform Matrix.
* @param {number=} opt_precision Precision.
*/
ol.dom.transformElement2D = function(element, transform, opt_precision) {
// using matrix() causes gaps in Chrome and Firefox on Mac OS X, so prefer
// matrix3d()
var i;
if (ol.dom.canUseCssTransform3D()) {
var value3D;
var transform3D = ol.vec.Mat4.fromTransform(ol.dom.tmpMat4_, transform);
if (opt_precision !== undefined) {
/** @type {Array.<string>} */
var strings3D = new Array(16);
for (i = 0; i < 16; ++i) {
strings3D[i] = transform3D[i].toFixed(opt_precision);
}
value3D = strings3D.join(',');
} else {
value3D = transform3D.join(',');
}
ol.dom.setTransform(element, 'matrix3d(' + value3D + ')');
} else if (ol.dom.canUseCssTransform()) {
/** @type {string} */
var value2D;
if (opt_precision !== undefined) {
/** @type {Array.<string>} */
var strings2D = new Array(6);
for (i = 0; i < 6; ++i) {
strings2D[i] = transform[i].toFixed(opt_precision);
}
value2D = strings2D.join(',');
} else {
value2D = transform.join(',');
}
ol.dom.setTransform(element, 'matrix(' + value2D + ')');
} else {
element.style.left = Math.round(transform[4]) + 'px';
element.style.top = Math.round(transform[5]) + 'px';
// TODO: Add scaling here. This isn't quite as simple as multiplying
// width/height, because that only changes the container size, not the
// content size.
}
};
/** /**
* Get the current computed width for the given element including margin, * Get the current computed width for the given element including margin,
* padding and border. * padding and border.
@@ -178,7 +28,7 @@ ol.dom.transformElement2D = function(element, transform, opt_precision) {
*/ */
ol.dom.outerWidth = function(element) { ol.dom.outerWidth = function(element) {
var width = element.offsetWidth; var width = element.offsetWidth;
var style = element.currentStyle || ol.global.getComputedStyle(element); var style = element.currentStyle || getComputedStyle(element);
width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10); width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);
return width; return width;
@@ -194,7 +44,7 @@ ol.dom.outerWidth = function(element) {
*/ */
ol.dom.outerHeight = function(element) { ol.dom.outerHeight = function(element) {
var height = element.offsetHeight; var height = element.offsetHeight;
var style = element.currentStyle || ol.global.getComputedStyle(element); var style = element.currentStyle || getComputedStyle(element);
height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10); height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);
return height; return height;
+3 -2
View File
@@ -1,8 +1,9 @@
goog.provide('ol.events.condition'); goog.provide('ol.events.condition');
goog.require('ol.MapBrowserEvent.EventType');
goog.require('ol.asserts'); goog.require('ol.asserts');
goog.require('ol.functions'); goog.require('ol.functions');
goog.require('ol.MapBrowserEvent.EventType'); goog.require('ol.has');
/** /**
@@ -74,7 +75,7 @@ ol.events.condition.click = function(mapBrowserEvent) {
ol.events.condition.mouseActionButton = function(mapBrowserEvent) { ol.events.condition.mouseActionButton = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent; var originalEvent = mapBrowserEvent.originalEvent;
return originalEvent.button == 0 && return originalEvent.button == 0 &&
!(goog.userAgent.WEBKIT && ol.has.MAC && originalEvent.ctrlKey); !(ol.has.WEBKIT && ol.has.MAC && originalEvent.ctrlKey);
}; };
+1 -1
View File
@@ -144,7 +144,7 @@ ol.events.EventTarget.prototype.removeEventListener = function(type, listener) {
var listeners = this.listeners_[type]; var listeners = this.listeners_[type];
if (listeners) { if (listeners) {
var index = listeners.indexOf(listener); var index = listeners.indexOf(listener);
goog.DEBUG && console.assert(index != -1, 'listener not found'); ol.DEBUG && console.assert(index != -1, 'listener not found');
if (type in this.pendingRemovals_) { if (type in this.pendingRemovals_) {
// make listener a no-op, and remove later in #dispatchEvent() // make listener a no-op, and remove later in #dispatchEvent()
listeners[index] = ol.nullFunction; listeners[index] = ol.nullFunction;
+3 -2
View File
@@ -2,6 +2,7 @@ goog.provide('ol.extent');
goog.provide('ol.extent.Corner'); goog.provide('ol.extent.Corner');
goog.provide('ol.extent.Relationship'); goog.provide('ol.extent.Relationship');
goog.require('ol');
goog.require('ol.asserts'); goog.require('ol.asserts');
@@ -55,8 +56,8 @@ ol.extent.boundingExtent = function(coordinates) {
* @return {ol.Extent} Extent. * @return {ol.Extent} Extent.
*/ */
ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) { ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) {
goog.DEBUG && console.assert(xs.length > 0, 'xs length should be larger than 0'); ol.DEBUG && console.assert(xs.length > 0, 'xs length should be larger than 0');
goog.DEBUG && console.assert(ys.length > 0, 'ys length should be larger than 0'); ol.DEBUG && console.assert(ys.length > 0, 'ys length should be larger than 0');
var minX = Math.min.apply(null, xs); var minX = Math.min.apply(null, xs);
var minY = Math.min.apply(null, ys); var minY = Math.min.apply(null, ys);
var maxX = Math.max.apply(null, xs); var maxX = Math.max.apply(null, xs);
+1
View File
@@ -1,5 +1,6 @@
goog.provide('ol.featureloader'); goog.provide('ol.featureloader');
goog.require('ol');
goog.require('ol.Tile'); goog.require('ol.Tile');
goog.require('ol.format.FormatType'); goog.require('ol.format.FormatType');
goog.require('ol.xml'); goog.require('ol.xml');
+10 -10
View File
@@ -144,8 +144,8 @@ ol.format.EsriJSON.convertRings_ = function(rings, layout) {
* @return {ol.geom.Geometry} Point. * @return {ol.geom.Geometry} Point.
*/ */
ol.format.EsriJSON.readPointGeometry_ = function(object) { ol.format.EsriJSON.readPointGeometry_ = function(object) {
goog.DEBUG && console.assert(typeof object.x === 'number', 'object.x should be number'); ol.DEBUG && console.assert(typeof object.x === 'number', 'object.x should be number');
goog.DEBUG && console.assert(typeof object.y === 'number', 'object.y should be number'); ol.DEBUG && console.assert(typeof object.y === 'number', 'object.y should be number');
var point; var point;
if (object.m !== undefined && object.z !== undefined) { if (object.m !== undefined && object.z !== undefined) {
point = new ol.geom.Point([object.x, object.y, object.z, object.m], point = new ol.geom.Point([object.x, object.y, object.z, object.m],
@@ -169,9 +169,9 @@ ol.format.EsriJSON.readPointGeometry_ = function(object) {
* @return {ol.geom.Geometry} LineString. * @return {ol.geom.Geometry} LineString.
*/ */
ol.format.EsriJSON.readLineStringGeometry_ = function(object) { ol.format.EsriJSON.readLineStringGeometry_ = function(object) {
goog.DEBUG && console.assert(Array.isArray(object.paths), ol.DEBUG && console.assert(Array.isArray(object.paths),
'object.paths should be an array'); 'object.paths should be an array');
goog.DEBUG && console.assert(object.paths.length === 1, ol.DEBUG && console.assert(object.paths.length === 1,
'object.paths array length should be 1'); 'object.paths array length should be 1');
var layout = ol.format.EsriJSON.getGeometryLayout_(object); var layout = ol.format.EsriJSON.getGeometryLayout_(object);
return new ol.geom.LineString(object.paths[0], layout); return new ol.geom.LineString(object.paths[0], layout);
@@ -184,9 +184,9 @@ ol.format.EsriJSON.readLineStringGeometry_ = function(object) {
* @return {ol.geom.Geometry} MultiLineString. * @return {ol.geom.Geometry} MultiLineString.
*/ */
ol.format.EsriJSON.readMultiLineStringGeometry_ = function(object) { ol.format.EsriJSON.readMultiLineStringGeometry_ = function(object) {
goog.DEBUG && console.assert(Array.isArray(object.paths), ol.DEBUG && console.assert(Array.isArray(object.paths),
'object.paths should be an array'); 'object.paths should be an array');
goog.DEBUG && console.assert(object.paths.length > 1, ol.DEBUG && console.assert(object.paths.length > 1,
'object.paths array length should be more than 1'); 'object.paths array length should be more than 1');
var layout = ol.format.EsriJSON.getGeometryLayout_(object); var layout = ol.format.EsriJSON.getGeometryLayout_(object);
return new ol.geom.MultiLineString(object.paths, layout); return new ol.geom.MultiLineString(object.paths, layout);
@@ -228,7 +228,7 @@ ol.format.EsriJSON.readMultiPointGeometry_ = function(object) {
* @return {ol.geom.Geometry} MultiPolygon. * @return {ol.geom.Geometry} MultiPolygon.
*/ */
ol.format.EsriJSON.readMultiPolygonGeometry_ = function(object) { ol.format.EsriJSON.readMultiPolygonGeometry_ = function(object) {
goog.DEBUG && console.assert(object.rings.length > 1, ol.DEBUG && console.assert(object.rings.length > 1,
'object.rings should have length larger than 1'); 'object.rings should have length larger than 1');
var layout = ol.format.EsriJSON.getGeometryLayout_(object); var layout = ol.format.EsriJSON.getGeometryLayout_(object);
return new ol.geom.MultiPolygon( return new ol.geom.MultiPolygon(
@@ -243,7 +243,7 @@ ol.format.EsriJSON.readMultiPolygonGeometry_ = function(object) {
* @return {ol.geom.Geometry} Polygon. * @return {ol.geom.Geometry} Polygon.
*/ */
ol.format.EsriJSON.readPolygonGeometry_ = function(object) { ol.format.EsriJSON.readPolygonGeometry_ = function(object) {
goog.DEBUG && console.assert(object.rings); ol.DEBUG && console.assert(object.rings);
var layout = ol.format.EsriJSON.getGeometryLayout_(object); var layout = ol.format.EsriJSON.getGeometryLayout_(object);
return new ol.geom.Polygon(object.rings, layout); return new ol.geom.Polygon(object.rings, layout);
}; };
@@ -469,7 +469,7 @@ ol.format.EsriJSON.prototype.readFeatures;
ol.format.EsriJSON.prototype.readFeatureFromObject = function( ol.format.EsriJSON.prototype.readFeatureFromObject = function(
object, opt_options) { object, opt_options) {
var esriJSONFeature = /** @type {EsriJSONFeature} */ (object); var esriJSONFeature = /** @type {EsriJSONFeature} */ (object);
goog.DEBUG && console.assert(esriJSONFeature.geometry || ol.DEBUG && console.assert(esriJSONFeature.geometry ||
esriJSONFeature.attributes, esriJSONFeature.attributes,
'geometry or attributes should be defined'); 'geometry or attributes should be defined');
var geometry = ol.format.EsriJSON.readGeometry_(esriJSONFeature.geometry, var geometry = ol.format.EsriJSON.readGeometry_(esriJSONFeature.geometry,
@@ -481,7 +481,7 @@ ol.format.EsriJSON.prototype.readFeatureFromObject = function(
feature.setGeometry(geometry); feature.setGeometry(geometry);
if (opt_options && opt_options.idField && if (opt_options && opt_options.idField &&
esriJSONFeature.attributes[opt_options.idField]) { esriJSONFeature.attributes[opt_options.idField]) {
goog.DEBUG && console.assert( ol.DEBUG && console.assert(
typeof esriJSONFeature.attributes[opt_options.idField] === 'number', typeof esriJSONFeature.attributes[opt_options.idField] === 'number',
'objectIdFieldName value should be a number'); 'objectIdFieldName value should be a number');
feature.setId(/** @type {number} */( feature.setId(/** @type {number} */(

Some files were not shown because too many files have changed in this diff Show More