Commit Graph
100 Commits
Author SHA1 Message Date
ahocevar 8117b1650b Merge pull request #504 from ahocevar/shuffle-jsdoc
Shuffling jsdoc files, as suggested by @elemoine
2013-04-08 04:16:49 -07:00
ahocevar 0a540578a2 Moving ol.jsdoc and layer.jsdoc 2013-04-08 13:09:05 +02:00
ahocevar 949a4a59fa Shuffling jsdoc files, as suggested by @elemoine 2013-04-08 11:16:08 +02:00
ahocevar c832a47575 Documentation for exported object literals
This adds the infrastructure that we need for documenting
exported object literals. This is best done by using *.jsdoc
files, which are parsed by JSDoc but not the Closure Compiler.
In addition to adding the documentation of the objects literal
properties, the respective namespaces must also be annotated.

Restricting the API docs to the exported API will be added as a
separate pull request.
2013-04-07 18:00:10 +02:00
ahocevar d61b70f696 Merge pull request #444 from ahocevar/jsdoc
Enabling Markdown and other JSDoc improvements. r=@marcjansen,@Turbo87
2013-04-05 09:41:27 -07:00
ahocevar 6c5377eebe Creating a resources folder for use by examples and API docs 2013-04-04 15:18:15 +02:00
ahocevar b4ce430bfb Making social links work 2013-04-04 14:25:24 +02:00
ahocevar 9f2ff48444 Use bootstrap layout and css from examples
I'm sure this can be made much prettier still, but at least we
have a common theme with the examples now.
2013-04-04 11:53:12 +02:00
ahocevar e042c5701a Enabling Markdown and other JSDoc improvements
This change enables GitHub flavored markdown for APIdoc
comments. The code example in map.js shows how to use markdown
for code snippets. doc/index.md is now included again as start
page for the docs. Everything in the doc/tutorials directory
will also be added to the docs as tutorial. As an example, I
moved the ol3.md file with the architecture to the tutorials
directory.

Currently properties and methods annotated with @inheritDoc
or @override won't be documented at all. This is a known issue,
so I added a custom JSDoc plugin with a hack to avoid this.
2013-04-04 11:53:12 +02:00
ahocevar 560f645384 Merge pull request #420 from ahocevar/icon-defer
Don't create tile if rendering needs to be deferred. r=@bartvde
2013-03-25 02:04:50 -07:00
ahocevar 28f29e9d40 Don't create tile if rendering needs to be deferred
Rendering vector tiles with mixed geometry types does not work
as expected, because the tile is created without the geometries
that need another rendering pass because of missing icons. This
was discovered by @bartvde when working on the KML parser, where
mixed geometry types are common.

This change fixes the issue by breaking out from rendering
entirely when renderFeaturesByGeometryType returns a deferred
state. In addition, there was a related bug because icons are
added to the cache regardless of its loaded state. This is also
fixed now.
2013-03-23 11:34:38 +01:00
ahocevar 9e1b37ada3 Merge pull request #415 from ahocevar/jsdoc-pegged
Use JSDoc master again. r=@elemoine
2013-03-22 03:14:13 -07:00
ahocevar 77efd352ad Use JSDoc master again
... so we're able to always give the JSDoc project instant
feedback on how it works with code that uses the Closure
library.
2013-03-22 10:50:15 +01:00
ahocevar 5736765cb7 Merge pull request #414 from hegemonic/master
Remove descriptions from JSDoc/Closure Compiler type tags
2013-03-21 15:32:35 -07:00
ahocevar baa5500843 Merge pull request #402 from ahocevar/more-context
More convenient url functions for WMS. r=@elemoine,@twpayne
2013-03-20 06:22:36 -07:00
ahocevar 5719160155 Less context
This change removes all changes that were anticipated here for
WMS GetFeatureInfo handling, including the IWMS interface and
the goog.provide for 'ol.tilegrid'. I'll create a separate pull
request for WMS GetFeatureInfo eventually, taking into account
the suggestions from the discussion in #402.
2013-03-20 13:41:36 +01:00
ahocevar 57fdd78a19 Fixing requires 2013-03-20 10:55:58 +01:00
ahocevar 46ca98e484 More context for url functions
With this change, url functions are called in the scope of the
source they are configured for. This allows us to simplify the
url function generation for WMS, using a more generic
createFromParamsFunction factory, and the source's new params
member.

Note that there is also a new url member for WMS sources. This
is the WMS base url (the first one in case there is an array of
urls for faster tile access). This can be used for accessing
other WMS services (especially GetFeatureInfo).
2013-03-20 10:45:54 +01:00
ahocevar 114d4c6f92 Merge pull request #388 from ahocevar/dblclick
Do not recenter map and zoom on repeated clicks on +/-. r=@elemoine
2013-03-18 11:03:26 -07:00
ahocevar f765982654 Do not recenter map and zoom on repeated clicks on +/-
Multiple fast clicks get interpreted as DBLCLICK by the browser,
so it makes sense to stop propagation of DBLCLICK events when
they happen on elements on the overlay container. This is also
a good change because DBLCLICK might have a meaning on other map
overlays as well.
2013-03-18 09:19:10 +01:00
ahocevar 31e59d3a8b Merge pull request #373 from ahocevar/origin
Fixing origin for default tile grid. r=@twpayne,@elemoine
2013-03-14 11:47:06 -07:00
ahocevar e9d86fdfdc Fixing origin for default tile grid
We count tiles from bottom to top, so we want the origin in the
bottom left corner, not the top left corner.
2013-03-14 18:27:18 +01:00
ahocevar 6d8d21b2d5 Merge pull request #360 from ahocevar/demo_dot_opengeo_dot_org
Using a server that is not down. r=@elemoine
2013-03-13 02:01:38 -07:00
ahocevar 14d9ff3b81 Using a server that is not down
fix #353
2013-03-13 09:59:25 +01:00
ahocevar 76d1a0c30e Merge pull request #218 from openlayers/vector
Vector work. p=@tschaub,@ahocevar; r=@twpayne,@marcjansen,@bartvde
2013-03-12 09:26:46 -07:00
ahocevar 84154d7bb2 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-03-12 13:27:41 +01:00
ahocevar acd4f50f15 Making the linter happy 2013-03-12 10:23:38 +01:00
ahocevar eeecd424bf Moving vector rendering to ol.renderer.canvas.VectorRenderer 2013-03-12 10:05:47 +01:00
ahocevar bb8755eb68 Recovering from bad merge 2013-03-12 08:48:22 +01:00
ahocevar 15375df7ab Line was too long after previous change 2013-03-12 08:41:41 +01:00
ahocevar fad036aa53 Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/objectliterals.exports
2013-03-12 08:39:16 +01:00
ahocevar b20a2bae94 Moving RTreeNode_ into ol.structs package 2013-03-12 08:35:57 +01:00
ahocevar f5b53740e6 Define map at the top 2013-03-12 08:28:24 +01:00
ahocevar 47e5b0475b Since #274 we don't need to create an ol.Collection explicitly 2013-03-12 08:24:31 +01:00
ahocevar a66f26f839 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-03-11 15:21:01 +01:00
ahocevar 06de786b98 Adding information about jsdoc3 dependency 2013-03-08 19:19:14 +01:00
ahocevar b971fc1aae Bringing back the style-rules example
Features are now created programmatically as
GeoJSONFeatureCollection.
2013-03-08 16:26:18 +01:00
ahocevar 389b8d14d7 Support GeoJSON as parsed object
With this change, we can programmatically create
GeoJSONFeatureCollection objects programmatically, without
reading a GeoJSON file.
2013-03-08 16:25:23 +01:00
ahocevar 5af71a488a No need to continue rendering when we need to defer 2013-03-07 18:13:22 +01:00
ahocevar f4a16e7f57 Collect features before rendering to the sketch canvas
This avoids features being rendered multiple times when they
cross tile borders. Currently this makes the style-rules.html
example extremely slow. Fix for that to come in my next commit.
2013-03-07 16:57:22 +01:00
ahocevar f0039ee460 Additional index dimension for RTree; use RTree again
The RTree can easily maintain an additional index dimension,
by passing a type with each added item. Now instead of
maintaining an RTree for each geometry type, we have a single
RTree with a type filter. With this change, using the RTree
finally speeds up rendering as expected.
2013-03-07 14:36:09 +01:00
ahocevar 100c8a1cf4 Adding gutter when requesting features for a tile
By doing so, we avoid features being cut off when the symbolizer
causes it to be rendered across tile borders.
2013-03-06 21:06:21 +01:00
ahocevar 2af82abcda Adding missing export 2013-03-06 21:03:57 +01:00
ahocevar 2147674e2f Adding exports for icon and feature 2013-03-06 12:49:06 +01:00
ahocevar 345bb55f98 Respect width and height from symbolizer 2013-03-06 12:29:20 +01:00
ahocevar 6ee754abb6 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-03-06 11:20:40 +01:00
ahocevar 95f3fe535a No projection configuration needed on the layer 2013-03-06 02:20:11 +01:00
ahocevar 2ee19f699a Moving VERSION into params 2013-03-06 02:20:10 +01:00
ahocevar c1f3a6cc54 WMS GetMap request parameters shall be params
To avoid surprises, we configure everything that is a WMS GetMap
request parameter in the params object, and not as direct
configuration option. This affects the VERSION and TRANSPARENT
params.
2013-03-06 02:20:09 +01:00
ahocevar a912d48b59 Do not use tiledWMSOptions in closure function
See #269.
2013-03-06 02:20:09 +01:00
ahocevar ab19d255c7 Rendering icons from external graphic urls 2013-03-06 01:57:08 +01:00
ahocevar d8b6d17105 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-03-05 15:48:57 +01:00
ahocevar df4f2c4c0a No projection configuration needed on the layer 2013-03-05 15:25:47 +01:00
ahocevar 8fd25749c0 Merge pull request #276 from ahocevar/wms-params
WMS GetMap request parameters shall be params. r=@elemoine
2013-03-05 02:13:37 -08:00
ahocevar 19f8692672 Moving VERSION into params 2013-03-05 11:11:41 +01:00
ahocevar 4bb521db65 WMS GetMap request parameters shall be params
To avoid surprises, we configure everything that is a WMS GetMap
request parameter in the params object, and not as direct
configuration option. This affects the VERSION and TRANSPARENT
params.
2013-03-05 10:54:33 +01:00
ahocevar 2676050d54 Do not use tiledWMSOptions in closure function
See #269.
2013-03-05 10:50:46 +01:00
ahocevar 3803275a1e Merge pull request #269 from ahocevar/wms-extent
Fixing extent check for undefined extents. r=@elemoine
2013-03-05 00:54:12 -08:00
ahocevar 19aeb04141 Fixing extent check for undefined extents.
Thanks @marcjansen for spotting this. To make the epsg-4326
example work, I also had to change the WMS version to 1.1.1.
2013-03-05 09:47:52 +01:00
ahocevar 3526244e0c Merge pull request #268 from ahocevar/wms-improvements
Support tile sources without configured projection. r=@twpayne
2013-03-04 16:48:09 -08:00
ahocevar 23c09abd3a Calling getTileSize with z argument
Thanks for catching this @twpayne.
2013-03-05 01:47:28 +01:00
ahocevar 66b790294d Merge branch 'master' of github.com:openlayers/ol3 into wms-improvements
Conflicts:
	src/ol/source/tiledwmssource.js
	test/spec/ol/tileurlfunction.test.js
2013-03-05 00:55:52 +01:00
ahocevar 586f393492 Support tile sources without configured projection
This change adds a lot of flexibility to working with tile
layers: Sources where the server projection or tile grid do not
matter can now be constructed without specifying a projection or
tile grid.

The tileUrlFunction/imageUrlFunction now also creates updated
URLs when the params of the layer change, so things like
mergeNewParams in ol2 will be possible.

A nice side effect of this whole change is that there is no more
duplicated code between tiled and single image WMS layers.

While I was at it, I also fixed a WMS 1.1.1 axis order issue
and incorrect STYLES params (STYLES=& instead of STYLES&).
2013-03-05 00:46:58 +01:00
ahocevar f1120287c3 Features can now have symbolizers
If specified, feature symbolizers take precedence over rule
based styling.
2013-03-03 18:55:52 +01:00
ahocevar 44ca6c9ff6 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-03-03 18:37:02 +01:00
ahocevar d4ecf53801 Adding example for rule based styling
For the first time in the history of OpenLayers, we can render
features with multiple symbolizers now, which is also shown in
this new example.
2013-03-03 17:00:20 +01:00
ahocevar 5535a26d4a Adding unit tests for rule based styling 2013-03-03 15:25:20 +01:00
ahocevar 63c048edb2 Use the actual value, not just the index in the array. 2013-03-03 15:22:52 +01:00
ahocevar db52ff926e Return an empty array for features without geometry
This ensures that the static applyDefaultStyle() method works
exactly the same way as the instance's apply() method.
2013-03-03 15:22:33 +01:00
ahocevar 9d1f737bce ol.Filter is now a (base) class, not an interface any more
ol.Filter can now also be used to provide a simple filter that
just evaluates a user provided filter function against a
feature.
2013-03-03 14:38:04 +01:00
ahocevar bdfa2cc88c Fixing return type to make Closure compiler happy 2013-03-02 17:44:15 +01:00
ahocevar f4a4522eb4 Giving vector layers the style they deserve
Now vector layers can have a style. ol.Style instances have an
apply method to get the symbolizer literals for a feature. If the
layer does not have a style defined, there is also a static
applyDefaultStyle function on ol.Style to get the default
symbolizer literals for a feature. The vector layer also got a
groupFeaturesBySymbolizerLiteral method, which returns an array
with features grouped by symbolizer, as needed by the canvas
renderer.
2013-03-02 17:38:01 +01:00
ahocevar fcd5804d2d Symbolizer and SymbolizerLiteral as base class, not interface 2013-03-02 14:08:52 +01:00
ahocevar da7820121f Renaming the 'evaluate' method to 'applies' 2013-03-02 12:50:53 +01:00
ahocevar f6c93d85b0 Making linter happy 2013-02-19 14:12:38 +01:00
ahocevar f15c2951d0 Adding RTree tests 2013-02-19 14:07:47 +01:00
ahocevar 266111e5f1 Adding goog.provide and goog.requires 2013-02-15 23:46:32 +01:00
ahocevar d2a22016e2 Adding extent filter tests 2013-02-15 23:43:10 +01:00
ahocevar 77b8688eae Regrouping tests 2013-02-15 23:42:22 +01:00
ahocevar 59fe714fa6 Making the linter happy 2013-02-15 17:44:09 +01:00
ahocevar 8c03abdaa2 Adding ol.source.Vector unit tests 2013-02-15 16:25:47 +01:00
ahocevar 8cc65756bc Only attempt fast lane for AND filters 2013-02-15 16:25:29 +01:00
ahocevar 6b43435262 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-02-13 12:30:16 +01:00
ahocevar e155f870cd Fixing RTree, and using it for retrieving geometries 2013-02-13 12:29:14 +01:00
ahocevar 4e971b6041 Faster extent + geometry type queries
By maintaining separate R-Trees for each geometry type, we cover
the most critical query from the canvas renderer at higher
speeds. Using the filter's own evaluate method, we can now also
serve arbitrary queries, but they won't be fast.

Still needs unit tests.
2013-02-06 16:42:55 +01:00
ahocevar 619803cdeb More goog.requires fixes 2013-02-06 16:36:42 +01:00
ahocevar a13e6bdfda Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-02-06 16:27:45 +01:00
ahocevar 61e4452c83 Adding missing and removing unused goog.requires 2013-02-06 16:26:24 +01:00
ahocevar 089b7013c2 Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/ol/renderer/canvas/canvasrenderer.js
	test/ol.html
2013-02-05 17:28:36 +01:00
ahocevar 386b97cf9a Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/ol/renderer/canvas/canvasrenderer.js
	test/ol.html
2013-02-05 17:17:09 +01:00
ahocevar dafa48da2e Using spatial index and combined filters
This should significantly speed up feature access. Needs unit
tests.
2013-02-04 22:51:58 +01:00
ahocevar c58f0afcc3 New R-Tree struct for spatial indexing.
This needs unit tests.
2013-02-04 22:50:59 +01:00
ahocevar 428793cd7c New filters for extent and logical filtering
These need unit tests.
2013-02-04 22:50:21 +01:00
ahocevar 43dd9ca68c Don't use unshift 2013-02-02 12:29:08 +01:00
ahocevar 9a0f509a94 Use objects instead of arrays for geometry type cache
Also trying to reference features directly here instead of
storing feature ids in the index. We'll see if this is good when
we have an index for tile coords as well and want to filter
with multiple filters, accessing multiple indices.
2013-01-30 18:03:27 +01:00
ahocevar e61c26830e Manage tile cache
This change implements a LRU policy for tile cachint, and keeps
128 tiles in the cache by default.
2013-01-30 17:09:43 +01:00
ahocevar 1ecbc36a39 Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-01-30 15:54:24 +01:00
ahocevar 65b3bb70a1 Some optimizations
* Tiles are now cut out of the sketch renderer in a separate
  pass. This ensures that point features at tile borders appear
  at both sides of the border. However, if such features get
  added in a later tileRange rendering pass, tiles from a
  previous rendering pass will still not have that feature.
* The tile canvas is only created once, and cloneNode(false) is
  used to get a canvas for a new tile.
2013-01-25 16:46:12 +01:00
ahocevar b0a7badc8f Started on proper date line wrapping
What we want in the end is vector tiles repeated just as raster
tiles. This change only avoids repeated tiles with the same
content being rendered and stored in the cache.
2013-01-24 17:29:21 +01:00
ahocevar fe605ceebb Better, but still not all the way there 2013-01-24 16:21:30 +01:00