Commit Graph
100 Commits
Author SHA1 Message Date
ahocevar e8ab4f9f0c Removing canvas renderer stub for VectorLayer2
Setting the renderer of the ten-thousand-points example to
WebGL should remove the need for this stub. This is basically
the same approach we took for all vector examples in master,
where we set the renderer to Canvas.
2013-06-10 11:22:32 +02:00
ahocevar 5560829695 Merge pull request #755 from ahocevar/newline
Fixing linter error
2013-05-31 19:07:46 -07:00
ahocevar b746116a20 Fixing linter error 2013-05-31 20:07:04 -06:00
ahocevar 4d5149a35f Merge pull request #754 from ahocevar/geom-doc
Exposing ol.geom.GeometryType
2013-05-31 14:05:22 -07:00
ahocevar 56ac30de91 Exposing ol.geom.GeometryType
This is necessary for using ol.filter.Geometry.
2013-05-31 15:04:55 -06:00
ahocevar 5a3ac559be Merge pull request #733 from ahocevar/fid
Store the feature's commonly used id. r=@fredj,@bartvde
2013-05-24 06:15:00 -07:00
ahocevar 111b127bf7 Merge pull request #2 from fredj/fid
Store the KML Placemark identifier
2013-05-24 06:14:29 -07:00
ahocevar 8c0f1f979a Store the feature's commonly used id
To not clobber the feature's attributes, this is a separate
member property.
2013-05-23 11:16:17 -05:00
ahocevar d1beaff8e4 Merge pull request #731 from ahocevar/rtree-api-tests
RTree API improvements and more tests. r=@twpayne
2013-05-23 08:28:56 -07:00
ahocevar 10e3a16f40 RTree API improvements and more tests
This change reverts the RTree API back to the original one (i.e.
insert() instead of put(), search() instead of find()), and
creates a new searchReturningObject() method that returns an
object keyed by UIDs.

It also adds missing tests for type restricted search and
searchReturningObject().
2013-05-22 18:25:40 -05:00
ahocevar 513115ea3b Merge pull request #730 from ahocevar/fix-rtree-tests
Fixing bug in tests
2013-05-22 11:42:22 -07:00
ahocevar 597405c288 Fixing bug in tests
That's what you get from copying and pasting and forgetting to
modify the pasted lines to suit your needs.
2013-05-22 13:41:29 -05:00
ahocevar 783e6d33d5 Merge pull request #723 from ahocevar/add-features
Export addFeatures. r=@tschaub
2013-05-21 20:47:08 -07:00
ahocevar 32d669ccc8 Export addFeatures
This needs discussion, but it's useful for now to be able to
have applications with programmatically created features.
2013-05-21 22:44:28 -05:00
ahocevar 485245fbfd Merge pull request #719 from ahocevar/fast-rtree
More sophisticated RTree implementation. r=@tschaub
2013-05-21 13:01:16 -07:00
ahocevar a2927a0dd9 Addressing @tschaub's review comments 2013-05-21 15:00:50 -05:00
ahocevar 0f4a5c09af Porting tests from http://github.com/imbcmdth/RTree/
Also fixes some issues that were revealed by the new tests.
2013-05-20 17:47:04 +02:00
ahocevar 97d48277b5 Making docs more clear 2013-05-20 16:20:41 +02:00
ahocevar 2b410cf2d0 More performance and size optimizations
Not using Math.max and Math.min increases performance, and by
using ol.extent functions instead of RTree's rectangle
structures and calculations we can get rid of several functions.
2013-05-20 16:20:21 +02:00
ahocevar 9dd4dc3730 Better optimization for advanced compilation mode 2013-05-20 08:50:15 +02:00
ahocevar bf510b570a Making RTree work in advanced compilation mode 2013-05-19 23:59:21 +02:00
ahocevar 958ee7af51 Use strings, like with other indices 2013-05-19 11:16:24 +02:00
ahocevar 2ff2e85fbb Only query RTree if requested geometryType is used 2013-05-19 11:16:02 +02:00
ahocevar 79e4ee2717 More sophisticated RTree implementation
This new implementation is based on
http://github.com/imbcmdth/RTree/, with only a few modifications
to add the optional type and provide the API of the previous
implementation.

There is still room for optimization, but this is such an
improvement over the previous RTree already that it's worth
bringing it in now.
2013-05-19 01:47:21 +02:00
ahocevar 02ba8a86e6 Merge pull request #715 from ahocevar/rtree-performance
Making RTree's find more efficient. r=@bartvde
2013-05-17 04:06:20 -07:00
ahocevar ecea771801 Making RTree's find more efficient
By doing the type check before the intersection check, we can
save he intersection check for cases where we don't care about
type or have the specified type in a node.
2013-05-17 12:54:06 +02:00
ahocevar 9342ebdc98 Merge pull request #713 from ahocevar/kml-responsetext
Do not rely on responseXML, also use responseText. r=@bartvde
2013-05-16 12:49:51 -07:00
ahocevar 5d7cdd2646 Use goog.isString() instad of typeof check 2013-05-16 21:20:34 +02:00
ahocevar 22c4508c27 Don't rely on responseXML, also use responseText
On servers that report an incorrect content type for XML
documents, responseXML will be empty. In these cases we need to
use responseText instead. This change also prevents readNode
calls with empty data.
2013-05-16 21:11:32 +02:00
ahocevar e50c314c33 Merge pull request #711 from ahocevar/kml-options
KML options not applied when library built separately from application. r=@bartvde
2013-05-16 07:04:42 -07:00
ahocevar 3e6cdf8901 trackAttributes is optional 2013-05-16 15:26:54 +02:00
ahocevar cde4ef435c Adding another option 2013-05-16 15:14:38 +02:00
ahocevar 1929403cda Do not extend the instance with options 2013-05-16 14:37:40 +02:00
ahocevar c245794e56 Sorting properties 2013-05-16 14:37:27 +02:00
ahocevar 7ed51f97aa Merge pull request #710 from ahocevar/hit-detection
Accurate hit detection. r=@bartvde
2013-05-16 02:10:50 -07:00
ahocevar 8084e20e64 Fixing typo 2013-05-16 10:45:25 +02:00
ahocevar 7a800068ed Fixing typedef 2013-05-16 10:44:22 +02:00
ahocevar 824397e6ba Do not change ol.extent.containsCoordinate 2013-05-16 10:42:28 +02:00
ahocevar 2d5c0df7cd More verbose variable names 2013-05-16 10:14:56 +02:00
ahocevar 4e7ffc2711 Store symbol sizes by tile
The reason for this change is that symbolSizes and maxSymbolSize
on the instance will be wrong as soon as the resolution changes
and cached tiles are used. It turned out that the approach used
now has several advantages: smaller symbolSizes objects, no need
to merge symbolSizes objects, and cache management for free (no
risk of memory leaks). Note that the symbolSizes and
maxSymbolSize for each tile are not strictly tile specific -
they represent the rendering pass that created the tile. This
has no negative side effects, and it has the advantage that
there is not a single additional loop needed to create these
structures.
2013-05-16 09:57:26 +02:00
ahocevar 037e44e084 Accurate hit detection
With this change, hit detection for lines and points gets very
accurate, because the vector renderer instance keeps track of
line widths and point symbol sizes. After doing a bbox query in
the RTree, returned lines and points are evaluated against the
thresholds of their line width or symbol size. The KML example
with its different symbolizers now has getFeatureInfo too to
show this in action.
2013-05-15 23:44:22 +02:00
ahocevar 72fce33956 Merge pull request #703 from ahocevar/getfeatureinfo-async
Asynchronous API for map#getFeatureInfo. r=@elemoine
2013-05-10 02:50:11 -07:00
ahocevar 53b85c99ae map#getFeatureInfo does not return anything
Thanks @elemoine for catching this.
2013-05-09 22:32:40 +02:00
ahocevar 7b256c3ec6 Asynchronous API for map#getFeatureInfo
This change allows us to use feature info services on the
server. It will also be useful for the GetFeature control to
get results from a WFS.
2013-05-09 22:26:55 +02:00
ahocevar 96c3a86314 Merge pull request #692 from ahocevar/pnpoly
Point-in-polygon improvements. r=@bartvde
2013-05-08 05:11:16 -07:00
ahocevar 019fc86ac5 Entertaining linter and compiler 2013-05-07 14:20:09 +02:00
ahocevar 666a010e3b Point-in-polygon improvements
As suggested by @tschaub in #674, geom.pointInPoly is not needed
if we have geom.LinearRing#containsCoordinate. This pull request
also adds tests and documentation on the limitations of the
containsCoordinate method.

I think for now it is ok to keep geometry/topology functions as
simple as possible in ol3. If we decide to not rely on third
party libraries like jsts for topology operations, we can always
refine what we have and e.g. port topology operations over from
ol2.
2013-05-07 10:49:51 +02:00
ahocevar 8fb8a718c3 Merge pull request #674 from ahocevar/getfeatureinfo
Getting feature information for vector layers. r=@twpayne,@fredj
2013-04-30 06:12:47 -07:00
ahocevar 00777de581 Do not check for listeners, as suggested by @fredj 2013-04-30 14:45:47 +02:00
ahocevar d2c81db06a Info box instead of tooltip as suggested by @fredj 2013-04-30 14:15:39 +02:00
ahocevar 58c8b07ab5 Get hit candidates from RTree, then refine result
Now we get exact hits also for lines and polygons.
2013-04-30 13:34:12 +02:00
ahocevar cc1b70c74b Giving the map a getFeatureInfoForPixel method
This method is an entry point for getting feature information.
Renderers can use a hit canvas or defer to a layer (source) to
get matching features for a pixel.

For now this is only implemented for vector layers, and it uses
a bbox query because we cannot refine the result because of
missing geometry intersection functions yet.
2013-04-30 13:32:16 +02:00
ahocevar f681a99ce0 Merge pull request #638 from ahocevar/kml-options
KML rendering in advanced compilation mode. r=@bartvde
2013-04-23 00:09:26 -07:00
ahocevar 8515e30ad8 Making the linter happy
... although jsdoc files are none of the linter's business.
2013-04-22 22:47:13 +02:00
ahocevar c16b941909 Exporting KML parser options
This is necessary because application developers need to be able
to configure the KML parser.
2013-04-22 22:37:20 +02:00
ahocevar aee6b8333b Merge pull request #545 from ahocevar/no-container
Docs align better with examples when not using a container
2013-04-14 00:20:39 -07:00
ahocevar f9281ac619 Docs align better with examples when not using a container 2013-04-14 09:19:40 +02:00
ahocevar 605ee491c4 Merge pull request #544 from ahocevar/no-timestamp
Removing the timestamp
2013-04-13 09:24:11 -07:00
ahocevar 6440ce5ea0 Removing the timestamp
When auto-generating the website using grunt in the
openlayers.github.io repo, we do not need to publish new docs
every time grunt is run, just because the timestamp is updated.
2013-04-13 18:23:31 +02:00
ahocevar 4a1f13ad0a Merge pull request #543 from ahocevar/jsdoc-typo
container-fluid is a class, not an id
2013-04-12 11:56:51 -07:00
ahocevar bbc20f505b container-fluid is a class, not an id 2013-04-12 20:55:57 +02:00
ahocevar 37ca407e50 Merge pull request #529 from ahocevar/global
Don't use window and document
2013-04-10 13:56:05 -07:00
ahocevar a437bea61f Use no browser globals at all 2013-04-10 16:53:45 +02:00
ahocevar dc1d7a1aba Don't use window and document
With this change, our JavaScript can also be executed by
non-brower engines.
2013-04-10 15:48:17 +02:00
ahocevar ae5d1cee1e Merge pull request #527 from ahocevar/jsdoc-filtered
Only document the exported API, not every symbol. r=@elemoint
2013-04-10 06:28:25 -07:00
ahocevar 12cd3672bc Remove "Inherited from" for non-API parents 2013-04-10 15:06:12 +02:00
ahocevar 71c32d3554 Don't use the undocumented property before it is set
This actually avoids addition of params of symbols that are not
part of the API.
2013-04-10 13:59:32 +02:00
ahocevar 7a50295c49 Making @elemoine and GitHub happy
Reminder to self: everyone wants a new line at the end of a
file.
2013-04-10 13:18:22 +02:00
ahocevar 1e0e30a9ed Use a public return type for a public function 2013-04-10 11:34:03 +02:00
ahocevar 8acfa08766 Making the linter happy
Although *.jsdoc files are none of the linter's business...
2013-04-10 11:24:27 +02:00
ahocevar 9cb85ea9a9 Adding the projection namespace 2013-04-10 11:18:23 +02:00
ahocevar 423ba5c0e4 A few lines explaining what the exports.js plugin does 2013-04-10 11:04:39 +02:00
ahocevar 6f94ec6fe7 Adding params of API symbols to the API
This makes the API docs complete. What still needs to be
documented is API events, but this deserves a separate pull
request.
2013-04-10 10:57:36 +02:00
ahocevar 551a5f06ff Nicer way to fix @inheritDoc 2013-04-10 01:45:21 +02:00
ahocevar 2fd185c966 Only document the exported API, not every symbol
There is more work to be done, because this filters out more
than desired, and we don't have events documented yet.
2013-04-10 01:44:40 +02:00
ahocevar 38b1a59574 Merge pull request #511 from ahocevar/examples-data
Copying data folder to hosted examples directory. r=@elemoine
2013-04-09 05:07:31 -07:00
ahocevar 97f7eb3db3 Re-adding accidently removed line
This brings back the previous way to copy the data directory,
as suggested by @elemoine.
2013-04-09 13:22:04 +02:00
ahocevar cdb90a79ee Merge pull request #512 from ahocevar/export-getpixel
Export the pixel location of the MapBrowserEvent. r=@fredj,@twpayne
2013-04-09 04:16:09 -07:00
ahocevar 964ae5b58b Export the pixel location of the MapBrowserEvent
This is useful for getting the pixel coordinate relative to the
map viewport, which is used e.g. for WMS GetFeatureInfo.
2013-04-09 11:08:04 +02:00
ahocevar 696fc8c4f7 Copying data folder to hosted examples directory
We need to copy all of the examples directory, because we need
the data subdirectory.
2013-04-09 10:52:21 +02:00
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