Commit Graph

33 Commits

Author SHA1 Message Date
ahocevar
caefacac35 Serve WMS tiles for sources without specified extent
With this change, WMS sources do not need an extent configured.
The result is that the WMS will be queried for tiles for any
extent.
2013-06-17 15:26:23 +02:00
Tom Payne
559e85bc76 Port ol.source.TiledWMS to new extents 2013-04-19 10:03:34 +02:00
Tom Payne
a537632199 Be more consistent with source options 2013-04-07 11:44:58 +02:00
Tom Payne
4be8c991f7 Add missing Closure Library requires 2013-04-06 14:28:12 +02:00
Éric Lemoine
e128bab625 Do not pass tile grid to getTile and tileUrlFunc
getTile and the tileUrlFunc are functions of the source, so they do need to be passed the tile grid. The tile source knows its tile grid, and can get the projection's tile grid if it doesn't have a tile grid.
2013-04-02 11:12:43 +02: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
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
Bruno Binet
5eaf4baaa4 Try to expand single url for TiledWMS source 2013-03-13 16:52:54 +01:00
Bruno Binet
41408c0909 Extent cannot be undefined here but it can be null
so we now use !goog.isNull(extent) instead of goog.isDef(extent)
2013-03-07 10:54:06 +01:00
Bruno Binet
48c84aaf69 Do not wrap dateline if projection.isGlobal() is false 2013-03-07 02:07:00 +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
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
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
Tom Payne
fb668a7fc6 Add opaque flag to ol.source.TileSource 2013-03-04 21:07:17 +01:00
Bruno Binet
2816e3256c Add support for multiple tileSizes in the tilegrid.
This is needed by WMTS.
2013-03-03 20:43:46 +01:00
Tom Payne
fcc620af7d Separate ol.projection module from ol.Projection class 2013-03-03 13:09:13 +01:00
Tom Payne
66e5b1d736 Cope with axis orientation for tiled WMS sources 2013-03-03 12:22:24 +01:00
Tom Payne
fabcb313f1 Satisfy JSLint
JSLint complains about functions being declared in blocks.
2013-02-21 15:13:33 +01:00
Tom Payne
e6eb401e36 Add missing goog.requires 2013-01-30 23:47:13 +01:00
Tom Payne
b6f856f962 Remove unused goog.requires 2013-01-30 22:48:03 +01:00
Tom Payne
386bb636bb Add missing dependencies on goog.array 2013-01-21 14:20:11 +01:00
ahocevar
87ce763ccb Use validity extent to generate default resolutions
Previously, the TiledWMS source generated a resolutions array
derived from the world extent in meters, to match the default
Web Mercator resolutions of the map. This wouldn't work for
projections with distance units different than meters. It is
better to commit to a default resolutions array where zoom level
0 is the validity extent of the projection (not the Web Mercator
world extent!) at a 256 pixel tile size.
2013-01-14 16:10:55 +01:00
Tom Payne
97d83666a6 Factor out ImageTile and ImageTileSource 2013-01-11 01:18:57 +01:00
Éric Lemoine
dd014a3b79 Avoid unneeded parameter concatenations (thanks @twpayne, refs #85) 2012-11-04 19:31:20 +01:00
Éric Lemoine
529c3e8b6a Add ol.TileUrlFunction.createBboxParam 2012-11-03 22:55:54 +01:00
ahocevar
eb4a8683e2 Projection handling improvements
* The Map's private createProjection_ method is now a public
  method of the Projection. It is also used by TiledWMSSource
  to calculate the appropriate projection from the user
  configuration.
* ol.Projection.addProjection now adds the transformation for
  the source == target case. This makes it easy for the user
  to create custom projection maps without including proj4js and
  without adding a custom transformation, as long as the
  userProjection equals the projection.
* The TiledWMSSource now uses the same default resolutions as
  the map (i.e. the OSM resolutions)
* The modulo calculation for wrapping extents now works for all
  grid configurations, by not calculating the number of columns
  based on an assumption about the way the zoom levels relate to
  resolutions.
* The wms-custom-proj example now shows how to properly
  configure a custom resolution, i.e. by using the validity
  extent of the projection as its extent.
2012-10-31 13:17:58 +01:00
ahocevar
e157d17ab7 Addressing review comments regarding typeDef 2012-10-29 09:44:25 +01:00
ahocevar
e5308fec40 No extent magic
Setting the extent on a tile source now only means that tiles
won't be drawn outside that extent. Now the only way to specify
the origin of the tile grid is to provide a custom tileGrid. By
default, the grid origin is the top left corner of the
projection's extent.
2012-10-27 17:28:08 +02:00
ahocevar
b872b5a74f Cross origin handling to make example work in Firefox
The WMS used in the example does not send CORS headers (I think
not many WMS services do). It seems that the WebGL renderer
needs script access to the image data, so the example only works
with the DOM renderer in Firefox.
2012-10-27 09:16:09 +02:00
ahocevar
433b12c39a Using the projection's extent for resolutions math by default
This ensures that maps with WMS layers with different extents
do not scale the tiles differently for each layer when the
default tileGrid is used. Note that it is always possible to
configure WMS sources with a custom tileGrid.
2012-10-26 22:51:30 +02:00
ahocevar
084506cdb5 Adding tiled WMS source
As shown in the example, this adds support for tiled WMS layers.
2012-10-26 21:36:30 +02:00