diff --git a/master/apidoc/global.html b/master/apidoc/global.html index 00ce1e8aaf..034906e2fc 100644 --- a/master/apidoc/global.html +++ b/master/apidoc/global.html @@ -298,7 +298,7 @@
Source:
-
+
@@ -377,7 +377,7 @@
Source:
-
+
@@ -419,15 +419,15 @@
diff --git a/master/apidoc/index.html b/master/apidoc/index.html index 3fb1c959c8..e47578aba0 100644 --- a/master/apidoc/index.html +++ b/master/apidoc/index.html @@ -48,15 +48,15 @@
diff --git a/master/apidoc/ol.AnchoredElement.html b/master/apidoc/ol.AnchoredElement.html index f2a3228c26..588d311e5d 100644 --- a/master/apidoc/ol.AnchoredElement.html +++ b/master/apidoc/ol.AnchoredElement.html @@ -381,7 +381,7 @@ -string= +string @@ -412,7 +412,7 @@ -boolean= +boolean @@ -2335,15 +2335,15 @@
diff --git a/master/apidoc/ol.Attribution.html b/master/apidoc/ol.Attribution.html index 78b5b7472d..b4706c6d51 100644 --- a/master/apidoc/ol.Attribution.html +++ b/master/apidoc/ol.Attribution.html @@ -114,7 +114,7 @@ -Object.<string, Array.<ol.TileRange>>= +Object.<string, Array.<ol.TileRange>> @@ -426,15 +426,15 @@
diff --git a/master/apidoc/ol.Collection.html b/master/apidoc/ol.Collection.html index f363375756..3d6cb70c08 100644 --- a/master/apidoc/ol.Collection.html +++ b/master/apidoc/ol.Collection.html @@ -85,7 +85,7 @@ -Array= +Array @@ -390,7 +390,7 @@ -string= +string @@ -421,7 +421,7 @@ -boolean= +boolean @@ -742,7 +742,7 @@ -Object= +Object @@ -2612,15 +2612,15 @@
diff --git a/master/apidoc/ol.CollectionEvent.html b/master/apidoc/ol.CollectionEvent.html index 590e39e826..3c99e36d70 100644 --- a/master/apidoc/ol.CollectionEvent.html +++ b/master/apidoc/ol.CollectionEvent.html @@ -114,7 +114,7 @@ -*= +* @@ -145,7 +145,7 @@ -Object= +Object @@ -299,15 +299,15 @@
diff --git a/master/apidoc/ol.Color.html b/master/apidoc/ol.Color.html index 68cc893eba..309ecc5c8e 100644 --- a/master/apidoc/ol.Color.html +++ b/master/apidoc/ol.Color.html @@ -496,7 +496,7 @@ -number= +number @@ -754,15 +754,15 @@
diff --git a/master/apidoc/ol.Constraints.html b/master/apidoc/ol.Constraints.html index 1961411736..a46486f1fb 100644 --- a/master/apidoc/ol.Constraints.html +++ b/master/apidoc/ol.Constraints.html @@ -292,15 +292,15 @@
diff --git a/master/apidoc/ol.Coordinate.html b/master/apidoc/ol.Coordinate.html index a5b636254c..3c6bc81c28 100644 --- a/master/apidoc/ol.Coordinate.html +++ b/master/apidoc/ol.Coordinate.html @@ -293,7 +293,7 @@ -number= +number @@ -752,7 +752,7 @@ -number= +number @@ -858,15 +858,15 @@
diff --git a/master/apidoc/ol.CoverageArea.html b/master/apidoc/ol.CoverageArea.html deleted file mode 100644 index ad1c890a2e..0000000000 --- a/master/apidoc/ol.CoverageArea.html +++ /dev/null @@ -1,591 +0,0 @@ - - - - - OpenLayers: Class: ol.CoverageArea - - - - - - - - - - -
- -

Class: ol.CoverageArea

- - - - - -
- -
-

- ol.CoverageArea -

- -
- -
-
- - - - -
-

new CoverageArea

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
extent - - -ol.Extent - - - - Extent.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 11
- - - - - - - -
- - - - - - - - - -
- - -
- - - - - - - - - - - - -

Members

- -
- -
-

extent :ol.Extent

- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 16
- - - - - - - -
- - - -
- - - -
-

intersectsExtentAndResolution

- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 35
- - - - - - - -
- - - -
- - - -
-

intersectsExtentAndZ

- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 43
- - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-

intersectsExtent

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
extent - - -ol.Extent - - - - Extent.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 25
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Intersects. -
- - - -
-
- Type -
-
- -boolean - - -
-
- - - - -
- - - -
-

transform

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
transformFn - - -ol.TransformFunction - - - - Transform.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 50
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Transformed coverage area. -
- - - -
-
- Type -
-
- -ol.CoverageArea - - -
-
- - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- - - - - - diff --git a/master/apidoc/ol.Ellipsoid.html b/master/apidoc/ol.Ellipsoid.html index 8742e399ce..4eda8eebda 100644 --- a/master/apidoc/ol.Ellipsoid.html +++ b/master/apidoc/ol.Ellipsoid.html @@ -433,7 +433,7 @@ -number= +number @@ -464,7 +464,7 @@ -number= +number @@ -665,7 +665,7 @@ -number= +number @@ -696,7 +696,7 @@ -number= +number @@ -897,7 +897,7 @@ -number= +number @@ -928,7 +928,7 @@ -number= +number @@ -1129,7 +1129,7 @@ -number= +number @@ -1160,7 +1160,7 @@ -number= +number @@ -1266,15 +1266,15 @@
diff --git a/master/apidoc/ol.Extent.html b/master/apidoc/ol.Extent.html index 34303d9104..8ab53a9781 100644 --- a/master/apidoc/ol.Extent.html +++ b/master/apidoc/ol.Extent.html @@ -571,7 +571,205 @@ projection.
-!ol.Extent +ol.Extent + + +
+ + + + + + + + + +
+

<static> getForView2DAndSize

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
rotation + + +number + + + + Rotation.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • extent.js, line 55
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Extent. +
+ + + +
+
+ Type +
+
+ +ol.Extent
@@ -674,7 +872,7 @@ of the extent.
Source:
-
  • extent.js, line 55
+
  • extent.js, line 84
@@ -808,7 +1006,7 @@ extent.
Source:
-
  • extent.js, line 68
+
  • extent.js, line 97
@@ -1135,7 +1333,7 @@ extent.
Source:
-
  • extent.js, line 77
+
  • extent.js, line 106
@@ -1216,7 +1414,7 @@ extent.
Source:
-
  • extent.js, line 85
+
  • extent.js, line 114
@@ -1555,7 +1753,7 @@ extent.
Source:
-
  • extent.js, line 93
+
  • extent.js, line 122
@@ -1636,7 +1834,7 @@ extent.
Source:
-
  • extent.js, line 101
+
  • extent.js, line 130
@@ -2317,7 +2515,7 @@ extent.
Source:
-
  • extent.js, line 110
+
  • extent.js, line 139
@@ -2375,15 +2573,15 @@ extent.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:32 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:34 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Geolocation.html b/master/apidoc/ol.Geolocation.html index 6d70f355e2..91a6b50d4d 100644 --- a/master/apidoc/ol.Geolocation.html +++ b/master/apidoc/ol.Geolocation.html @@ -378,7 +378,7 @@ -string= +string @@ -409,7 +409,7 @@ -boolean= +boolean @@ -2405,15 +2405,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:32 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:34 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Image.html b/master/apidoc/ol.Image.html index 06d960ece5..65cfe69c87 100644 --- a/master/apidoc/ol.Image.html +++ b/master/apidoc/ol.Image.html @@ -172,7 +172,7 @@ -?string +string @@ -613,7 +613,7 @@ -Object= +Object @@ -950,15 +950,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:32 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:35 GMT+0100 (CET)
diff --git a/master/apidoc/ol.ImageTile.html b/master/apidoc/ol.ImageTile.html index 1738f94105..8ef7dd0f6a 100644 --- a/master/apidoc/ol.ImageTile.html +++ b/master/apidoc/ol.ImageTile.html @@ -172,7 +172,7 @@ -?string +string @@ -666,15 +666,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:32 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:35 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Kinetic.html b/master/apidoc/ol.Kinetic.html index e0409a9324..327adf0518 100644 --- a/master/apidoc/ol.Kinetic.html +++ b/master/apidoc/ol.Kinetic.html @@ -789,15 +789,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:35 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:40 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Map.html b/master/apidoc/ol.Map.html index 3cb7869779..b1c24b123d 100644 --- a/master/apidoc/ol.Map.html +++ b/master/apidoc/ol.Map.html @@ -406,7 +406,7 @@
Source:
-
  • map.js, line 860
+
  • map.js, line 844
@@ -876,7 +876,7 @@ -string= +string @@ -907,7 +907,7 @@ -boolean= +boolean @@ -2574,7 +2574,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent. -string= +string @@ -3670,7 +3670,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 774
+
  • map.js, line 758
@@ -3777,7 +3777,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 786
+
  • map.js, line 770
@@ -3996,7 +3996,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 798
+
  • map.js, line 782
@@ -4103,7 +4103,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 810
+
  • map.js, line 794
@@ -4346,7 +4346,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 822
+
  • map.js, line 806
@@ -4444,7 +4444,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent. -T= +T @@ -4492,7 +4492,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
  • map.js, line 835
+
  • map.js, line 819
@@ -4528,15 +4528,15 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:37 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:42 GMT+0100 (CET)
diff --git a/master/apidoc/ol.MapBrowserEvent.html b/master/apidoc/ol.MapBrowserEvent.html index e65c2793bc..4639f7d8d1 100644 --- a/master/apidoc/ol.MapBrowserEvent.html +++ b/master/apidoc/ol.MapBrowserEvent.html @@ -172,7 +172,7 @@ -?ol.FrameState= +ol.FrameState @@ -875,7 +875,7 @@ FIXME: replace with goog.events.EventType enum once we use
-

frameState :?ol.FrameState

+

frameState :ol.FrameState

@@ -1311,15 +1311,15 @@ FIXME: replace with goog.events.EventType enum once we use
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:37 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:43 GMT+0100 (CET)
diff --git a/master/apidoc/ol.MapBrowserEventHandler.html b/master/apidoc/ol.MapBrowserEventHandler.html index 265e851933..24f9695d9e 100644 --- a/master/apidoc/ol.MapBrowserEventHandler.html +++ b/master/apidoc/ol.MapBrowserEventHandler.html @@ -246,15 +246,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:38 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:43 GMT+0100 (CET)
diff --git a/master/apidoc/ol.MapEvent.html b/master/apidoc/ol.MapEvent.html index 9a34668f06..1ef487e054 100644 --- a/master/apidoc/ol.MapEvent.html +++ b/master/apidoc/ol.MapEvent.html @@ -143,7 +143,7 @@ -?ol.FrameState= +ol.FrameState @@ -284,7 +284,7 @@
-

frameState :?ol.FrameState

+

frameState :ol.FrameState

@@ -458,15 +458,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:38 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:44 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Object.html b/master/apidoc/ol.Object.html index 81839b3aed..75918c4263 100644 --- a/master/apidoc/ol.Object.html +++ b/master/apidoc/ol.Object.html @@ -85,7 +85,7 @@ -Object.<string, *>= +Object.<string, *> @@ -1154,7 +1154,7 @@ -string= +string @@ -1185,7 +1185,7 @@ -boolean= +boolean @@ -1997,15 +1997,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:38 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:44 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Pixel.html b/master/apidoc/ol.Pixel.html index 88bd6d1ce2..b9eb62eafe 100644 --- a/master/apidoc/ol.Pixel.html +++ b/master/apidoc/ol.Pixel.html @@ -202,15 +202,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:51 GMT+0100 (CET)
diff --git a/master/apidoc/ol.PixelBounds.html b/master/apidoc/ol.PixelBounds.html index 89fec75667..17aa0a9935 100644 --- a/master/apidoc/ol.PixelBounds.html +++ b/master/apidoc/ol.PixelBounds.html @@ -1516,15 +1516,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:52 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Proj4jsProjection.html b/master/apidoc/ol.Proj4jsProjection.html deleted file mode 100644 index f7eed9e95a..0000000000 --- a/master/apidoc/ol.Proj4jsProjection.html +++ /dev/null @@ -1,561 +0,0 @@ - - - - - OpenLayers: Class: ol.Proj4jsProjection - - - - - - - - - - -
- -

Class: ol.Proj4jsProjection

- - - - - -
- -
-

- ol.Proj4jsProjection -

- -
- -
-
- - - - -
-

new Proj4jsProjection

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
code - - -string - - - - Code.
proj4jsProj - - -Proj4js.Proj - - - - Proj4js projection.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • projection.js, line 94
- - - - - - - -
- - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - - - -

Methods

- -
- -
-

getCode

- - -
-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • projection.js, line 66
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Code. -
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

getExtent

- - -
-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • projection.js, line 74
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Extent. -
- - - -
-
- Type -
-
- -ol.Extent - - -
-
- - - - -
- - - -
-

getProj4jsProj

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • projection.js, line 113
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Proj4js projection. -
- - - -
-
- Type -
-
- -Proj4js.Proj - - -
-
- - - - -
- - - -
-

getUnits

- - -
-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • projection.js, line 82
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Units. -
- - - -
-
- Type -
-
- -ol.ProjectionUnits - - -
-
- - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3 on Wed Feb 20 2013 10:37:55 GMT+0100 (CET) -
- - - - diff --git a/master/apidoc/ol.Projection.html b/master/apidoc/ol.Projection.html index 970cf57e8c..b2a1eede30 100644 --- a/master/apidoc/ol.Projection.html +++ b/master/apidoc/ol.Projection.html @@ -901,15 +901,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:42 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:52 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Rectangle.html b/master/apidoc/ol.Rectangle.html index fd557c18fc..4b9bad8534 100644 --- a/master/apidoc/ol.Rectangle.html +++ b/master/apidoc/ol.Rectangle.html @@ -1440,15 +1440,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:43 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:54 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Size.html b/master/apidoc/ol.Size.html index 253ca9b3ab..df3f145783 100644 --- a/master/apidoc/ol.Size.html +++ b/master/apidoc/ol.Size.html @@ -335,15 +335,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:50 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:04 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Sphere.html b/master/apidoc/ol.Sphere.html index 0d7feb2c0e..3ad57ef5a1 100644 --- a/master/apidoc/ol.Sphere.html +++ b/master/apidoc/ol.Sphere.html @@ -1679,15 +1679,15 @@ latitude.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:53 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:08 GMT+0100 (CET)
diff --git a/master/apidoc/ol.Tile.html b/master/apidoc/ol.Tile.html index 7ebed340b8..66dc5955dd 100644 --- a/master/apidoc/ol.Tile.html +++ b/master/apidoc/ol.Tile.html @@ -619,15 +619,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:53 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:08 GMT+0100 (CET)
diff --git a/master/apidoc/ol.TileCache.html b/master/apidoc/ol.TileCache.html index 879e048d69..24ca7b8f23 100644 --- a/master/apidoc/ol.TileCache.html +++ b/master/apidoc/ol.TileCache.html @@ -85,7 +85,7 @@ -number= +number @@ -160,7 +160,7 @@

Extends

@@ -713,7 +713,7 @@ -Object= +Object @@ -1587,15 +1587,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:53 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:08 GMT+0100 (CET)
diff --git a/master/apidoc/ol.TileCoord.html b/master/apidoc/ol.TileCoord.html index 2b53c43400..f1de395e2e 100644 --- a/master/apidoc/ol.TileCoord.html +++ b/master/apidoc/ol.TileCoord.html @@ -781,15 +781,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:54 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:09 GMT+0100 (CET)
diff --git a/master/apidoc/ol.TileCoverageArea.html b/master/apidoc/ol.TileCoverageArea.html deleted file mode 100644 index 4cf4415c58..0000000000 --- a/master/apidoc/ol.TileCoverageArea.html +++ /dev/null @@ -1,702 +0,0 @@ - - - - - OpenLayers: Class: ol.TileCoverageArea - - - - - - - - - - -
- -

Class: ol.TileCoverageArea

- - - - - -
- -
-

- ol.TileCoverageArea -

- -
- -
-
- - - - -
-

new TileCoverageArea

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
tileGrid - - -ol.tilegrid.TileGrid - - - - Tile grid.
extent - - -ol.Extent - - - - Extent.
minZ - - -number - - - - Minimum Z.
maxZ - - -number - - - - Maximum Z.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • tilecoveragearea.js, line 17
- - - - - - - -
- - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - -

Members

- -
- -
-

extent :ol.Extent

- - -
-
- - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 16
- - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-

intersectsExtent

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
extent - - -ol.Extent - - - - Extent.
- - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • coveragearea.js, line 25
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Intersects. -
- - - -
-
- Type -
-
- -boolean - - -
-
- - - - -
- - - -
-

intersectsExtentAndResolution

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • tilecoveragearea.js, line 46
- - - - - - - -
- - - - - - - - - -
- - - -
-

intersectsExtentAndZ

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • tilecoveragearea.js, line 56
- - - - - - - -
- - - - - - - - - -
- - - -
-

transform

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
transformFn - - -ol.TransformFunction - - - - Transform.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • tilecoveragearea.js, line 65
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Transformed tile coverage area. -
- - - -
-
- Type -
-
- -ol.TileCoverageArea - - -
-
- - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3 on Wed Nov 14 2012 21:15:24 GMT+0100 (CET) -
- - - - diff --git a/master/apidoc/ol.TileQueue.html b/master/apidoc/ol.TileQueue.html index b28512e794..dbba082dcc 100644 --- a/master/apidoc/ol.TileQueue.html +++ b/master/apidoc/ol.TileQueue.html @@ -537,15 +537,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:54 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:10 GMT+0100 (CET)
diff --git a/master/apidoc/ol.TileRange.html b/master/apidoc/ol.TileRange.html index faa2892f20..14d396fb5b 100644 --- a/master/apidoc/ol.TileRange.html +++ b/master/apidoc/ol.TileRange.html @@ -547,7 +547,7 @@ by its min/max tile coordinates and is inclusive of coordinates.
-!ol.TileRange +ol.TileRange
@@ -1878,15 +1878,15 @@ by its min/max tile coordinates and is inclusive of coordinates.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:54 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:10 GMT+0100 (CET)
diff --git a/master/apidoc/ol.View.html b/master/apidoc/ol.View.html index b22084d6d3..dda7ec3443 100644 --- a/master/apidoc/ol.View.html +++ b/master/apidoc/ol.View.html @@ -424,7 +424,7 @@ -string= +string @@ -455,7 +455,7 @@ -boolean= +boolean @@ -1518,15 +1518,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:55 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:10 GMT+0100 (CET)
diff --git a/master/apidoc/ol.View2D.html b/master/apidoc/ol.View2D.html index 095fc04244..245b2e4694 100644 --- a/master/apidoc/ol.View2D.html +++ b/master/apidoc/ol.View2D.html @@ -85,7 +85,7 @@ -ol.View2DOptions= +ol.View2DOptions @@ -436,7 +436,7 @@ -string= +string @@ -467,7 +467,7 @@ -boolean= +boolean @@ -2000,7 +2000,7 @@ -number= +number @@ -2178,7 +2178,7 @@ -ol.Coordinate= +ol.Coordinate @@ -2209,7 +2209,7 @@ -number= +number @@ -2387,7 +2387,7 @@ -ol.Coordinate= +ol.Coordinate @@ -2418,7 +2418,7 @@ -number= +number @@ -3598,7 +3598,7 @@ -ol.Coordinate= +ol.Coordinate @@ -3629,7 +3629,7 @@ -number= +number @@ -3804,7 +3804,7 @@ -ol.Coordinate= +ol.Coordinate @@ -3835,7 +3835,7 @@ -number= +number @@ -4013,7 +4013,7 @@ -ol.Coordinate= +ol.Coordinate @@ -4044,7 +4044,7 @@ -number= +number @@ -4128,15 +4128,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:55 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:47:10 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.Attribution.html b/master/apidoc/ol.control.Attribution.html index c90ebd0855..13ed365398 100644 --- a/master/apidoc/ol.control.Attribution.html +++ b/master/apidoc/ol.control.Attribution.html @@ -85,7 +85,7 @@ -ol.control.AttributionOptions= +ol.control.AttributionOptions @@ -431,7 +431,7 @@ -?Object.<string, Object.<string, ol.TileRange>> +Object.<string, Object.<string, ol.TileRange>> @@ -733,15 +733,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:30 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:31 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.Control.html b/master/apidoc/ol.control.Control.html index 7ee1eb585f..cc1046c452 100644 --- a/master/apidoc/ol.control.Control.html +++ b/master/apidoc/ol.control.Control.html @@ -491,15 +491,15 @@ to the map here.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:30 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:32 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.DragBox.html b/master/apidoc/ol.control.DragBox.html index d6bfe3ce8e..0509d4c381 100644 --- a/master/apidoc/ol.control.DragBox.html +++ b/master/apidoc/ol.control.DragBox.html @@ -447,15 +447,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:30 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:32 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.MousePosition.html b/master/apidoc/ol.control.MousePosition.html index 6ea339819c..5e1cc6b3b3 100644 --- a/master/apidoc/ol.control.MousePosition.html +++ b/master/apidoc/ol.control.MousePosition.html @@ -85,7 +85,7 @@ -ol.control.MousePositionOptions= +ol.control.MousePositionOptions @@ -778,15 +778,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:31 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:32 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.ScaleLine.html b/master/apidoc/ol.control.ScaleLine.html index c099f8f2f3..39057d224a 100644 --- a/master/apidoc/ol.control.ScaleLine.html +++ b/master/apidoc/ol.control.ScaleLine.html @@ -85,7 +85,7 @@ -ol.control.ScaleLineOptions= +ol.control.ScaleLineOptions @@ -610,15 +610,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:31 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:33 GMT+0100 (CET)
diff --git a/master/apidoc/ol.control.Zoom.html b/master/apidoc/ol.control.Zoom.html index 667f6a2822..419511ce19 100644 --- a/master/apidoc/ol.control.Zoom.html +++ b/master/apidoc/ol.control.Zoom.html @@ -85,7 +85,7 @@ -ol.control.ZoomOptions= +ol.control.ZoomOptions @@ -516,15 +516,15 @@ to the map here.
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:31 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:33 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.DblClickZoom.html b/master/apidoc/ol.interaction.DblClickZoom.html index a846b48575..be4e9e89f4 100644 --- a/master/apidoc/ol.interaction.DblClickZoom.html +++ b/master/apidoc/ol.interaction.DblClickZoom.html @@ -242,15 +242,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:33 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:36 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.Drag.html b/master/apidoc/ol.interaction.Drag.html index a8af2ac8c8..b10cc5c2a3 100644 --- a/master/apidoc/ol.interaction.Drag.html +++ b/master/apidoc/ol.interaction.Drag.html @@ -658,15 +658,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:33 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:36 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.DragPan.html b/master/apidoc/ol.interaction.DragPan.html index ffa36d7247..39b3b7af41 100644 --- a/master/apidoc/ol.interaction.DragPan.html +++ b/master/apidoc/ol.interaction.DragPan.html @@ -114,7 +114,7 @@ -ol.Kinetic= +ol.Kinetic @@ -832,15 +832,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:33 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:36 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.DragRotate.html b/master/apidoc/ol.interaction.DragRotate.html index d830cb892a..447a65b323 100644 --- a/master/apidoc/ol.interaction.DragRotate.html +++ b/master/apidoc/ol.interaction.DragRotate.html @@ -785,15 +785,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:33 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:36 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.DragRotateAndZoom.html b/master/apidoc/ol.interaction.DragRotateAndZoom.html index 258b3c1e9f..0a86994c0a 100644 --- a/master/apidoc/ol.interaction.DragRotateAndZoom.html +++ b/master/apidoc/ol.interaction.DragRotateAndZoom.html @@ -777,15 +777,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:33 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:37 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.DragZoom.html b/master/apidoc/ol.interaction.DragZoom.html index 3610319827..bd051b3ffd 100644 --- a/master/apidoc/ol.interaction.DragZoom.html +++ b/master/apidoc/ol.interaction.DragZoom.html @@ -777,15 +777,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:37 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.Interaction.html b/master/apidoc/ol.interaction.Interaction.html index 66c9555356..4bf43e77c2 100644 --- a/master/apidoc/ol.interaction.Interaction.html +++ b/master/apidoc/ol.interaction.Interaction.html @@ -175,15 +175,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:37 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.Keyboard.html b/master/apidoc/ol.interaction.Keyboard.html index 38c5f8c13a..36e9475c5b 100644 --- a/master/apidoc/ol.interaction.Keyboard.html +++ b/master/apidoc/ol.interaction.Keyboard.html @@ -324,15 +324,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:38 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.KeyboardPan.html b/master/apidoc/ol.interaction.KeyboardPan.html index de8cdb5fbc..634f6e72a2 100644 --- a/master/apidoc/ol.interaction.KeyboardPan.html +++ b/master/apidoc/ol.interaction.KeyboardPan.html @@ -85,7 +85,7 @@ -ol.interaction.KeyboardPanOptions= +ol.interaction.KeyboardPanOptions @@ -252,15 +252,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:38 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.KeyboardZoom.html b/master/apidoc/ol.interaction.KeyboardZoom.html index 88a80e1494..204e337cfb 100644 --- a/master/apidoc/ol.interaction.KeyboardZoom.html +++ b/master/apidoc/ol.interaction.KeyboardZoom.html @@ -85,7 +85,7 @@ -ol.interaction.KeyboardZoomOptions= +ol.interaction.KeyboardZoomOptions @@ -252,15 +252,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:38 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.MouseWheelZoom.html b/master/apidoc/ol.interaction.MouseWheelZoom.html index a505decd12..b35d9c0f07 100644 --- a/master/apidoc/ol.interaction.MouseWheelZoom.html +++ b/master/apidoc/ol.interaction.MouseWheelZoom.html @@ -194,15 +194,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:34 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:38 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.Touch.html b/master/apidoc/ol.interaction.Touch.html index 3b290e8d06..30f037e75f 100644 --- a/master/apidoc/ol.interaction.Touch.html +++ b/master/apidoc/ol.interaction.Touch.html @@ -511,15 +511,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:35 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:38 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.TouchPan.html b/master/apidoc/ol.interaction.TouchPan.html index 5ebffe37a7..8cdbaf58c0 100644 --- a/master/apidoc/ol.interaction.TouchPan.html +++ b/master/apidoc/ol.interaction.TouchPan.html @@ -85,7 +85,7 @@ -ol.Kinetic= +ol.Kinetic @@ -535,15 +535,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:35 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:39 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.TouchRotate.html b/master/apidoc/ol.interaction.TouchRotate.html index b3429e857c..25d44c2af9 100644 --- a/master/apidoc/ol.interaction.TouchRotate.html +++ b/master/apidoc/ol.interaction.TouchRotate.html @@ -89,7 +89,7 @@ -number= +number @@ -494,15 +494,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:35 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:39 GMT+0100 (CET)
diff --git a/master/apidoc/ol.interaction.TouchRotateAndZoom.html b/master/apidoc/ol.interaction.TouchRotateAndZoom.html deleted file mode 100644 index a6e2cfa844..0000000000 --- a/master/apidoc/ol.interaction.TouchRotateAndZoom.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - OpenLayers: Class: ol.interaction.TouchRotateAndZoom - - - - - - - - - - -
- -

Class: ol.interaction.TouchRotateAndZoom

- - - - - -
- -
-

- ol.interaction.TouchRotateAndZoom -

- -
- -
-
- - - - -
-

new TouchRotateAndZoom

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • touchrotateandzoominteraction.js, line 16
- - - - - - - -
- - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - -

Members

- -
- -
-

targetTouches :Array.<Object>

- - -
-
- - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • touchinteraction.js, line 35
- - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-

handleMapBrowserEvent

- - -
-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- - - - - - - - - - - - - -
Source:
-
  • touchinteraction.js, line 105
- - - - - - - -
- - - - - - - - - -
- - - -
-

handleTouchEnd

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • touchrotateandzoominteraction.js, line 118
- - - - - - - -
- - - - - - - - - -
- - - -
-

handleTouchMove

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • touchrotateandzoominteraction.js, line 57
- - - - - - - -
- - - - - - - - - -
- - - -
-

handleTouchStart

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • touchrotateandzoominteraction.js, line 136
- - - - - - - -
- - - - - - - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3 on Sun Mar 03 2013 20:45:27 GMT+0100 (CET) -
- - - - diff --git a/master/apidoc/ol.interaction.TouchZoom.html b/master/apidoc/ol.interaction.TouchZoom.html index e462914064..ed689c0a06 100644 --- a/master/apidoc/ol.interaction.TouchZoom.html +++ b/master/apidoc/ol.interaction.TouchZoom.html @@ -431,15 +431,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:35 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:39 GMT+0100 (CET)
diff --git a/master/apidoc/ol.layer.ImageLayer.html b/master/apidoc/ol.layer.ImageLayer.html index 7121eba884..d282936c4f 100644 --- a/master/apidoc/ol.layer.ImageLayer.html +++ b/master/apidoc/ol.layer.ImageLayer.html @@ -380,7 +380,7 @@ -string= +string @@ -411,7 +411,7 @@ -boolean= +boolean @@ -2827,15 +2827,15 @@ permitted).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:36 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:40 GMT+0100 (CET)
diff --git a/master/apidoc/ol.layer.Layer.html b/master/apidoc/ol.layer.Layer.html index 2cdc30aad6..429ddfce31 100644 --- a/master/apidoc/ol.layer.Layer.html +++ b/master/apidoc/ol.layer.Layer.html @@ -380,7 +380,7 @@ -string= +string @@ -411,7 +411,7 @@ -boolean= +boolean @@ -2671,15 +2671,15 @@ permitted).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:36 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:41 GMT+0100 (CET)
diff --git a/master/apidoc/ol.layer.TileLayer.html b/master/apidoc/ol.layer.TileLayer.html index 1ac6092cc1..d437d18bd6 100644 --- a/master/apidoc/ol.layer.TileLayer.html +++ b/master/apidoc/ol.layer.TileLayer.html @@ -380,7 +380,7 @@ -string= +string @@ -411,7 +411,7 @@ -boolean= +boolean @@ -2827,15 +2827,15 @@ permitted).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:36 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:42 GMT+0100 (CET)
diff --git a/master/apidoc/ol.overlay.Overlay.html b/master/apidoc/ol.overlay.Overlay.html deleted file mode 100644 index bfcb4aff3a..0000000000 --- a/master/apidoc/ol.overlay.Overlay.html +++ /dev/null @@ -1,787 +0,0 @@ - - - - - OpenLayers: Class: ol.overlay.Overlay - - - - - - - - - - -
- -

Class: ol.overlay.Overlay

- - - - - -
- -
-

- ol.overlay.Overlay -

- -
- -
-
- - - - -
-

new Overlay

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
overlayOptions - - -ol.overlay.OverlayOptions - - - - Overlay options.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 13
- - - - - - - -
- - - - - - - - - -
- - -
- - - - - - - - - - - - - - -

Methods

- -
- -
-

getElement

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 93
- - - - - - - -
- - - - - - - -
Returns:
- - -
- The DOM element for the overlay. -
- - - -
-
- Type -
-
- -Element - - -
-
- - - - -
- - - -
-

getMap

- - -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 128
- - - - - - - -
- - - - - - - -
Returns:
- - -
- Map. -
- - - -
-
- Type -
-
- -ol.Map - - -
-
- - - - -
- - - -
-

setCoordinate

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
coordinate - - -ol.Coordinate - - - - Coordinate for the overlay's position on - the map.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 67
- - - - - - - -
- - - - - - - - - -
- - - -
-

setElement

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
element - - -Element - - - - The DOM element for the overlay.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 76
- - - - - - - -
- - - - - - - - - -
- - - -
-

setMap

- - -
-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
map - - -ol.Map - - - - Map.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 101
- - - - - - - -
- - - - - - - - - -
- - - -
-

setPositioning

- - -
-
- - -
- Set the CSS properties to use for x- and y-positioning of the element. If -not set, the default is {@code ['left', 'bottom']}. -
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
positioning - - -Array.<string> - - - - The positioning.
- - - -
- - - - - - - - - - - - - - - - - - - -
Source:
-
  • overlay.js, line 138
- - - - - - - -
- - - - - - - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- -
- Documentation generated by JSDoc 3 on Wed Nov 14 2012 21:15:15 GMT+0100 (CET) -
- - - - diff --git a/master/apidoc/ol.parser.XML.html b/master/apidoc/ol.parser.XML.html index 48f3e46d64..6a3b2a3395 100644 --- a/master/apidoc/ol.parser.XML.html +++ b/master/apidoc/ol.parser.XML.html @@ -281,7 +281,7 @@
-?Element +Element
@@ -968,15 +968,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:51 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.ExceptionReport.html b/master/apidoc/ol.parser.ogc.ExceptionReport.html index a5fc875423..c1f8e06218 100644 --- a/master/apidoc/ol.parser.ogc.ExceptionReport.html +++ b/master/apidoc/ol.parser.ogc.ExceptionReport.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1136,15 +1136,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:38 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:45 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.OWSCommon_v1.html b/master/apidoc/ol.parser.ogc.OWSCommon_v1.html index 40463f69ac..25caf7634e 100644 --- a/master/apidoc/ol.parser.ogc.OWSCommon_v1.html +++ b/master/apidoc/ol.parser.ogc.OWSCommon_v1.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -999,15 +999,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:38 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:45 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html b/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html index 17557bf081..c9601dd0b4 100644 --- a/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html +++ b/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -999,15 +999,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:39 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:45 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.Versioned.html b/master/apidoc/ol.parser.ogc.Versioned.html index a14bec751d..ca59e1806c 100644 --- a/master/apidoc/ol.parser.ogc.Versioned.html +++ b/master/apidoc/ol.parser.ogc.Versioned.html @@ -368,7 +368,7 @@ -Object= +Object @@ -539,7 +539,7 @@ -Object= +Object @@ -711,7 +711,7 @@ -Object= +Object @@ -820,15 +820,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:39 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:45 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities.html b/master/apidoc/ol.parser.ogc.WMSCapabilities.html index 423d4e902e..deee3b26c5 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities.html @@ -85,7 +85,7 @@ -Object= +Object @@ -389,7 +389,7 @@ -Object= +Object @@ -565,7 +565,7 @@ -Object= +Object @@ -742,7 +742,7 @@ -Object= +Object @@ -856,15 +856,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:39 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:46 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html index e12b9fb66e..8617eb412f 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1134,15 +1134,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:39 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:46 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_0_0.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_0_0.html index 1e194097c3..3bde977491 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_0_0.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_0_0.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:39 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:46 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html index 30e9a4d7b5..a71794cedb 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:40 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:47 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html index 8aca013751..a7aa326ecd 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:40 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:47 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html index 5ccd95d9fc..b7796abacd 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:40 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:48 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC.html index 775c070841..0d4087d94a 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:40 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:48 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html index bec214a4c9..3c4e5ac270 100644 --- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html +++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1139,15 +1139,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:49 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMTSCapabilities.html b/master/apidoc/ol.parser.ogc.WMTSCapabilities.html index 68586048ae..51fdf8f4d4 100644 --- a/master/apidoc/ol.parser.ogc.WMTSCapabilities.html +++ b/master/apidoc/ol.parser.ogc.WMTSCapabilities.html @@ -85,7 +85,7 @@ -Object= +Object @@ -389,7 +389,7 @@ -Object= +Object @@ -565,7 +565,7 @@ -Object= +Object @@ -742,7 +742,7 @@ -Object= +Object @@ -856,15 +856,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:49 GMT+0100 (CET)
diff --git a/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html b/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html index e50c3c3b12..0eab97ba5f 100644 --- a/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html +++ b/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html @@ -292,7 +292,7 @@
-?Element +Element
@@ -1134,15 +1134,15 @@ provided).
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:41 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:50 GMT+0100 (CET)
diff --git a/master/apidoc/ol.projection.EPSG3857.html b/master/apidoc/ol.projection.EPSG3857.html index f70504db3a..75354194e8 100644 --- a/master/apidoc/ol.projection.EPSG3857.html +++ b/master/apidoc/ol.projection.EPSG3857.html @@ -1264,7 +1264,7 @@ -Array.<number>= +Array.<number> @@ -1295,7 +1295,7 @@ -number= +number @@ -1467,7 +1467,7 @@ -Array.<number>= +Array.<number> @@ -1498,7 +1498,7 @@ -number= +number @@ -1604,15 +1604,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:42 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:53 GMT+0100 (CET)
diff --git a/master/apidoc/ol.projection.EPSG4326.html b/master/apidoc/ol.projection.EPSG4326.html index 99c6f89218..74697c4db9 100644 --- a/master/apidoc/ol.projection.EPSG4326.html +++ b/master/apidoc/ol.projection.EPSG4326.html @@ -114,7 +114,7 @@ -string= +string @@ -1099,15 +1099,15 @@
- Documentation generated by JSDoc 3 on Mon Mar 11 2013 13:34:42 GMT+0100 (CET) + Documentation generated by JSDoc 3 on Mon Mar 11 2013 16:46:53 GMT+0100 (CET)
diff --git a/master/apidoc/ol.renderer.Layer.html b/master/apidoc/ol.renderer.Layer.html index d745cce223..ee1a3210f0 100644 --- a/master/apidoc/ol.renderer.Layer.html +++ b/master/apidoc/ol.renderer.Layer.html @@ -146,7 +146,7 @@
Source:
-
  • layerrenderer.js, line 27
+
  • layerrenderer.js, line 28
@@ -271,7 +271,7 @@
Source:
-
  • layerrenderer.js, line 115
+
  • layerrenderer.js, line 116
@@ -317,7 +317,7 @@
Source:
-
  • layerrenderer.js, line 121
+
  • layerrenderer.js, line 122
@@ -363,7 +363,7 @@
Source:
-
  • layerrenderer.js, line 127
+
  • layerrenderer.js, line 128
@@ -409,7 +409,7 @@
Source:
-
  • layerrenderer.js, line 162
+
  • layerrenderer.js, line 163
@@ -455,7 +455,7 @@
Source:
-
  • layerrenderer.js, line 47
+
  • layerrenderer.js, line 48
@@ -501,7 +501,7 @@
Source:
-
  • layerrenderer.js, line 206
+
  • layerrenderer.js, line 207
@@ -679,7 +679,7 @@ -string= +string @@ -710,7 +710,7 @@ -boolean= +boolean @@ -940,7 +940,7 @@
Source:
-
  • layerrenderer.js, line 295
+
  • layerrenderer.js, line 296
@@ -1021,7 +1021,7 @@
Source:
-
  • layerrenderer.js, line 83
+
  • layerrenderer.js, line 84
@@ -1304,7 +1304,7 @@
Source:
-
  • layerrenderer.js, line 91
+
  • layerrenderer.js, line 92
@@ -1385,7 +1385,7 @@
Source:
-
  • layerrenderer.js, line 99
+
  • layerrenderer.js, line 100
@@ -1466,7 +1466,7 @@
Source:
-
  • layerrenderer.js, line 107
+
  • layerrenderer.js, line 108
@@ -1599,7 +1599,7 @@
Source:
-
  • layerrenderer.js, line 135
+
  • layerrenderer.js, line 136
@@ -1658,7 +1658,7 @@
Source:
-
  • layerrenderer.js, line 146
+
  • layerrenderer.js, line 147
@@ -1717,7 +1717,7 @@
Source:
-
  • layerrenderer.js, line 154
+
  • layerrenderer.js, line 155
@@ -1776,7 +1776,7 @@
Source:
-
  • layerrenderer.js, line 168
+
  • layerrenderer.js, line 169
@@ -1887,7 +1887,7 @@
Source:
-
  • layerrenderer.js, line 192
+
  • layerrenderer.js, line 193
@@ -2129,7 +2129,7 @@
Source:
-
  • layerrenderer.js, line 214
+
  • layerrenderer.js, line 215
@@ -2394,6 +2394,181 @@ +
+ + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -2687,7 +2862,7 @@
Source:
-
+
@@ -2863,7 +3038,7 @@
Source:
-
+
@@ -3016,7 +3191,7 @@
Source:
-
+
@@ -3052,15 +3227,15 @@
diff --git a/master/apidoc/ol.renderer.Map.html b/master/apidoc/ol.renderer.Map.html index c7f195450e..98d351c638 100644 --- a/master/apidoc/ol.renderer.Map.html +++ b/master/apidoc/ol.renderer.Map.html @@ -1756,15 +1756,15 @@
diff --git a/master/apidoc/ol.renderer.canvas.ImageLayer.html b/master/apidoc/ol.renderer.canvas.ImageLayer.html index 46d164e2b7..2591a356f6 100644 --- a/master/apidoc/ol.renderer.canvas.ImageLayer.html +++ b/master/apidoc/ol.renderer.canvas.ImageLayer.html @@ -276,7 +276,7 @@
Source:
-
+
@@ -327,7 +327,7 @@
Source:
-
+
@@ -378,7 +378,7 @@
Source:
-
+
@@ -429,7 +429,7 @@
Source:
-
+
@@ -480,7 +480,7 @@
Source:
-
+
@@ -658,7 +658,7 @@ -string= +string @@ -689,7 +689,7 @@ -boolean= +boolean @@ -924,7 +924,7 @@
Source:
-
+
@@ -1010,7 +1010,7 @@
Source:
-
+
@@ -1438,7 +1438,7 @@
Source:
-
+
@@ -1524,7 +1524,7 @@
Source:
-
+
@@ -1610,7 +1610,7 @@
Source:
-
+
@@ -1807,7 +1807,7 @@
Source:
-
+
@@ -1871,7 +1871,7 @@
Source:
-
+
@@ -1935,7 +1935,7 @@
Source:
-
+
@@ -1999,7 +1999,7 @@
Source:
-
+
@@ -2115,7 +2115,7 @@
Source:
-
+
@@ -2421,7 +2421,7 @@
Source:
-
+
@@ -2686,6 +2686,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -2984,7 +3164,7 @@
Source:
-
+
@@ -3165,7 +3345,7 @@
Source:
-
+
@@ -3323,7 +3503,7 @@
Source:
-
+
@@ -3359,15 +3539,15 @@
diff --git a/master/apidoc/ol.renderer.canvas.Layer.html b/master/apidoc/ol.renderer.canvas.Layer.html index c2ae069d63..f340fcf9d7 100644 --- a/master/apidoc/ol.renderer.canvas.Layer.html +++ b/master/apidoc/ol.renderer.canvas.Layer.html @@ -368,7 +368,7 @@
Source:
-
+
@@ -419,7 +419,7 @@
Source:
-
+
@@ -470,7 +470,7 @@
Source:
-
+
@@ -521,7 +521,7 @@
Source:
-
+
@@ -572,7 +572,7 @@
Source:
-
+
@@ -623,7 +623,7 @@
Source:
-
+
@@ -801,7 +801,7 @@ -string= +string @@ -832,7 +832,7 @@ -boolean= +boolean @@ -1067,7 +1067,7 @@
Source:
-
+
@@ -1153,7 +1153,7 @@
Source:
-
+
@@ -1441,7 +1441,7 @@
Source:
-
+
@@ -1527,7 +1527,7 @@
Source:
-
+
@@ -1613,7 +1613,7 @@
Source:
-
+
@@ -1751,7 +1751,7 @@
Source:
-
+
@@ -1815,7 +1815,7 @@
Source:
-
+
@@ -1879,7 +1879,7 @@
Source:
-
+
@@ -1943,7 +1943,7 @@
Source:
-
+
@@ -2059,7 +2059,7 @@
Source:
-
+
@@ -2306,7 +2306,7 @@
Source:
-
+
@@ -2571,6 +2571,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -2869,7 +3049,7 @@
Source:
-
+
@@ -3050,7 +3230,7 @@
Source:
-
+
@@ -3208,7 +3388,7 @@
Source:
-
+
@@ -3244,15 +3424,15 @@
diff --git a/master/apidoc/ol.renderer.canvas.Map.html b/master/apidoc/ol.renderer.canvas.Map.html index 96bb911b96..6f24b8660d 100644 --- a/master/apidoc/ol.renderer.canvas.Map.html +++ b/master/apidoc/ol.renderer.canvas.Map.html @@ -1778,15 +1778,15 @@
diff --git a/master/apidoc/ol.renderer.canvas.TileLayer.html b/master/apidoc/ol.renderer.canvas.TileLayer.html index f69a45e0ff..ea662c6e7f 100644 --- a/master/apidoc/ol.renderer.canvas.TileLayer.html +++ b/master/apidoc/ol.renderer.canvas.TileLayer.html @@ -146,7 +146,7 @@
Source:
-
+
@@ -276,7 +276,7 @@
Source:
-
+
@@ -327,7 +327,7 @@
Source:
-
+
@@ -378,7 +378,7 @@
Source:
-
+
@@ -429,7 +429,7 @@
Source:
-
+
@@ -480,7 +480,7 @@
Source:
-
+
@@ -658,7 +658,7 @@ -string= +string @@ -689,7 +689,7 @@ -boolean= +boolean @@ -924,7 +924,7 @@
Source:
-
+
@@ -1010,7 +1010,7 @@
Source:
-
+
@@ -1203,7 +1203,7 @@
Source:
-
+
@@ -1357,7 +1357,7 @@
Source:
-
+
@@ -1443,7 +1443,7 @@
Source:
-
+
@@ -1529,7 +1529,7 @@
Source:
-
+
@@ -1610,7 +1610,7 @@
Source:
-
+
@@ -1691,7 +1691,7 @@
Source:
-
+
@@ -1807,7 +1807,7 @@
Source:
-
+
@@ -1871,7 +1871,7 @@
Source:
-
+
@@ -1935,7 +1935,7 @@
Source:
-
+
@@ -1999,7 +1999,7 @@
Source:
-
+
@@ -2115,7 +2115,7 @@
Source:
-
+
@@ -2286,7 +2286,7 @@
Source:
-
+
@@ -2421,7 +2421,7 @@
Source:
-
+
@@ -2686,6 +2686,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -2984,7 +3164,7 @@
Source:
-
+
@@ -3165,7 +3345,7 @@
Source:
-
+
@@ -3323,7 +3503,7 @@
Source:
-
+
@@ -3359,15 +3539,15 @@
diff --git a/master/apidoc/ol.renderer.dom.ImageLayer.html b/master/apidoc/ol.renderer.dom.ImageLayer.html index 634d3adab4..d8fb402e13 100644 --- a/master/apidoc/ol.renderer.dom.ImageLayer.html +++ b/master/apidoc/ol.renderer.dom.ImageLayer.html @@ -276,7 +276,7 @@
Source:
-
+
@@ -327,7 +327,7 @@
Source:
-
+
@@ -378,7 +378,7 @@
Source:
-
+
@@ -429,7 +429,7 @@
Source:
-
+
@@ -480,7 +480,7 @@
Source:
-
+
@@ -548,7 +548,7 @@
-

<protected> target :!Element

+

<protected> target :Element

@@ -709,7 +709,7 @@ -string= +string @@ -740,7 +740,7 @@ -boolean= +boolean @@ -975,7 +975,7 @@
Source:
-
+
@@ -1061,7 +1061,7 @@
Source:
-
+
@@ -1494,7 +1494,7 @@
Source:
-
+
@@ -1580,7 +1580,7 @@
Source:
-
+
@@ -1666,7 +1666,7 @@
Source:
-
+
@@ -1783,7 +1783,7 @@
-!Element +Element
@@ -1890,7 +1890,7 @@
Source:
-
+
@@ -1954,7 +1954,7 @@
Source:
-
+
@@ -2018,7 +2018,7 @@
Source:
-
+
@@ -2082,7 +2082,7 @@
Source:
-
+
@@ -2198,7 +2198,7 @@
Source:
-
+
@@ -2504,7 +2504,7 @@
Source:
-
+
@@ -2876,6 +2876,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -3174,7 +3354,7 @@
Source:
-
+
@@ -3355,7 +3535,7 @@
Source:
-
+
@@ -3513,7 +3693,7 @@
Source:
-
+
@@ -3549,15 +3729,15 @@
diff --git a/master/apidoc/ol.renderer.dom.Layer.html b/master/apidoc/ol.renderer.dom.Layer.html index ac419defcd..ad17ab944a 100644 --- a/master/apidoc/ol.renderer.dom.Layer.html +++ b/master/apidoc/ol.renderer.dom.Layer.html @@ -129,7 +129,7 @@ -!Element +Element @@ -299,7 +299,7 @@
Source:
-
+
@@ -350,7 +350,7 @@
Source:
-
+
@@ -401,7 +401,7 @@
Source:
-
+
@@ -452,7 +452,7 @@
Source:
-
+
@@ -503,7 +503,7 @@
Source:
-
+
@@ -554,7 +554,7 @@
Source:
-
+
@@ -622,7 +622,7 @@
-

<protected> target :!Element

+

<protected> target :Element

@@ -778,7 +778,7 @@ -string= +string @@ -809,7 +809,7 @@ -boolean= +boolean @@ -1044,7 +1044,7 @@
Source:
-
+
@@ -1130,7 +1130,7 @@
Source:
-
+
@@ -1477,7 +1477,7 @@
Source:
-
+
@@ -1563,7 +1563,7 @@
Source:
-
+
@@ -1649,7 +1649,7 @@
Source:
-
+
@@ -1761,7 +1761,7 @@
-!Element +Element
@@ -1868,7 +1868,7 @@
Source:
-
+
@@ -1932,7 +1932,7 @@
Source:
-
+
@@ -1996,7 +1996,7 @@
Source:
-
+
@@ -2060,7 +2060,7 @@
Source:
-
+
@@ -2176,7 +2176,7 @@
Source:
-
+
@@ -2423,7 +2423,7 @@
Source:
-
+
@@ -2688,6 +2688,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -2986,7 +3166,7 @@
Source:
-
+
@@ -3167,7 +3347,7 @@
Source:
-
+
@@ -3325,7 +3505,7 @@
Source:
-
+
@@ -3361,15 +3541,15 @@
diff --git a/master/apidoc/ol.renderer.dom.Map.html b/master/apidoc/ol.renderer.dom.Map.html index f4f61b6f73..488ac752c2 100644 --- a/master/apidoc/ol.renderer.dom.Map.html +++ b/master/apidoc/ol.renderer.dom.Map.html @@ -1717,15 +1717,15 @@
diff --git a/master/apidoc/ol.renderer.dom.TileLayer.html b/master/apidoc/ol.renderer.dom.TileLayer.html index e9ab3d02a7..8cd3a48ec3 100644 --- a/master/apidoc/ol.renderer.dom.TileLayer.html +++ b/master/apidoc/ol.renderer.dom.TileLayer.html @@ -276,7 +276,7 @@
Source:
-
+
@@ -327,7 +327,7 @@
Source:
-
+
@@ -378,7 +378,7 @@
Source:
-
+
@@ -429,7 +429,7 @@
Source:
-
+
@@ -480,7 +480,7 @@
Source:
-
+
@@ -548,7 +548,7 @@
-

<protected> target :!Element

+

<protected> target :Element

@@ -709,7 +709,7 @@ -string= +string @@ -740,7 +740,7 @@ -boolean= +boolean @@ -975,7 +975,7 @@
Source:
-
+
@@ -1061,7 +1061,7 @@
Source:
-
+
@@ -1413,7 +1413,7 @@
Source:
-
+
@@ -1499,7 +1499,7 @@
Source:
-
+
@@ -1585,7 +1585,7 @@
Source:
-
+
@@ -1702,7 +1702,7 @@
-!Element +Element
@@ -1890,7 +1890,7 @@
Source:
-
+
@@ -1954,7 +1954,7 @@
Source:
-
+
@@ -2018,7 +2018,7 @@
Source:
-
+
@@ -2082,7 +2082,7 @@
Source:
-
+
@@ -2198,7 +2198,7 @@
Source:
-
+
@@ -2504,7 +2504,7 @@
Source:
-
+
@@ -2769,6 +2769,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -3067,7 +3247,7 @@
Source:
-
+
@@ -3248,7 +3428,7 @@
Source:
-
+
@@ -3406,7 +3586,7 @@
Source:
-
+
@@ -3442,15 +3622,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.FragmentShader.html b/master/apidoc/ol.renderer.webgl.FragmentShader.html index ce43588f2f..292ec68678 100644 --- a/master/apidoc/ol.renderer.webgl.FragmentShader.html +++ b/master/apidoc/ol.renderer.webgl.FragmentShader.html @@ -383,15 +383,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.ImageLayer.html b/master/apidoc/ol.renderer.webgl.ImageLayer.html index f4b747a0d8..acb218016a 100644 --- a/master/apidoc/ol.renderer.webgl.ImageLayer.html +++ b/master/apidoc/ol.renderer.webgl.ImageLayer.html @@ -276,7 +276,7 @@
Source:
-
+
@@ -454,7 +454,7 @@ -string= +string @@ -485,7 +485,7 @@ -boolean= +boolean @@ -720,7 +720,7 @@
Source:
-
+
@@ -806,7 +806,7 @@
Source:
-
+
@@ -1094,7 +1094,7 @@
-!goog.vec.Mat4.Float32 +goog.vec.Mat4.Float32
@@ -1320,7 +1320,7 @@
Source:
-
+
@@ -1406,7 +1406,7 @@
Source:
-
+
@@ -1807,7 +1807,7 @@
Source:
-
+
@@ -2063,7 +2063,7 @@
Source:
-
+
@@ -2127,7 +2127,7 @@
Source:
-
+
@@ -2255,7 +2255,7 @@
Source:
-
+
@@ -2430,7 +2430,7 @@
Source:
-
+
@@ -2736,7 +2736,7 @@
Source:
-
+
@@ -3001,6 +3001,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -3299,7 +3479,7 @@
Source:
-
+
@@ -3480,7 +3660,7 @@
Source:
-
+
@@ -3638,7 +3818,7 @@
Source:
-
+
@@ -3674,15 +3854,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.Layer.html b/master/apidoc/ol.renderer.webgl.Layer.html index ff82654655..eeee112933 100644 --- a/master/apidoc/ol.renderer.webgl.Layer.html +++ b/master/apidoc/ol.renderer.webgl.Layer.html @@ -464,7 +464,7 @@
Source:
-
+
@@ -515,7 +515,7 @@
Source:
-
+
@@ -693,7 +693,7 @@ -string= +string @@ -724,7 +724,7 @@ -boolean= +boolean @@ -959,7 +959,7 @@
Source:
-
+
@@ -1045,7 +1045,7 @@
Source:
-
+
@@ -1269,7 +1269,7 @@
-!goog.vec.Mat4.Float32 +goog.vec.Mat4.Float32
@@ -1414,7 +1414,7 @@
Source:
-
+
@@ -1500,7 +1500,7 @@
Source:
-
+
@@ -1719,7 +1719,7 @@
Source:
-
+
@@ -1960,7 +1960,7 @@
Source:
-
+
@@ -2024,7 +2024,7 @@
Source:
-
+
@@ -2147,7 +2147,7 @@
Source:
-
+
@@ -2263,7 +2263,7 @@
Source:
-
+
@@ -2510,7 +2510,7 @@
Source:
-
+
@@ -2775,6 +2775,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -3073,7 +3253,7 @@
Source:
-
+
@@ -3254,7 +3434,7 @@
Source:
-
+
@@ -3412,7 +3592,7 @@
Source:
-
+
@@ -3448,15 +3628,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.Map.html b/master/apidoc/ol.renderer.webgl.Map.html index 2d0045244a..ff9d573215 100644 --- a/master/apidoc/ol.renderer.webgl.Map.html +++ b/master/apidoc/ol.renderer.webgl.Map.html @@ -2523,15 +2523,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.Shader.html b/master/apidoc/ol.renderer.webgl.Shader.html index d6e05f32e8..906fafe044 100644 --- a/master/apidoc/ol.renderer.webgl.Shader.html +++ b/master/apidoc/ol.renderer.webgl.Shader.html @@ -354,15 +354,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.TileLayer.html b/master/apidoc/ol.renderer.webgl.TileLayer.html index d3394a8f5b..dd4d390e7b 100644 --- a/master/apidoc/ol.renderer.webgl.TileLayer.html +++ b/master/apidoc/ol.renderer.webgl.TileLayer.html @@ -276,7 +276,7 @@
Source:
-
+
@@ -454,7 +454,7 @@ -string= +string @@ -485,7 +485,7 @@ -boolean= +boolean @@ -720,7 +720,7 @@
Source:
-
+
@@ -806,7 +806,7 @@
Source:
-
+
@@ -1094,7 +1094,7 @@
-!goog.vec.Mat4.Float32 +goog.vec.Mat4.Float32
@@ -1239,7 +1239,7 @@
Source:
-
+
@@ -1325,7 +1325,7 @@
Source:
-
+
@@ -1807,7 +1807,7 @@
Source:
-
+
@@ -2063,7 +2063,7 @@
Source:
-
+
@@ -2127,7 +2127,7 @@
Source:
-
+
@@ -2255,7 +2255,7 @@
Source:
-
+
@@ -2430,7 +2430,7 @@
Source:
-
+
@@ -2736,7 +2736,7 @@
Source:
-
+
@@ -3001,6 +3001,186 @@ + + + + +
+

<protected> snapCenterToPixel

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
center + + +ol.Coordinate + + + + Center.
resolution + + +number + + + + Resolution.
size + + +ol.Size + + + + Size.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • layerrenderer.js, line 312
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Snapped center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + +
@@ -3299,7 +3479,7 @@
Source:
-
+
@@ -3480,7 +3660,7 @@
Source:
-
+
@@ -3638,7 +3818,7 @@
Source:
-
+
@@ -3674,15 +3854,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.VertexShader.html b/master/apidoc/ol.renderer.webgl.VertexShader.html index 8314c35058..1e122fa271 100644 --- a/master/apidoc/ol.renderer.webgl.VertexShader.html +++ b/master/apidoc/ol.renderer.webgl.VertexShader.html @@ -383,15 +383,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html b/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html index bac3a9bbb0..a83ed9b66d 100644 --- a/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html +++ b/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html @@ -347,15 +347,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html b/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html index ce8503ad6c..2bc971ad51 100644 --- a/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html +++ b/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html @@ -340,15 +340,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html index bff85a080c..991b59f872 100644 --- a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html +++ b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html @@ -340,15 +340,15 @@
diff --git a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html index e00d21bd60..21426ce6bd 100644 --- a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html +++ b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html @@ -340,15 +340,15 @@
diff --git a/master/apidoc/ol.source.BingMaps.html b/master/apidoc/ol.source.BingMaps.html index 61b363771d..b7bf9c10cf 100644 --- a/master/apidoc/ol.source.BingMaps.html +++ b/master/apidoc/ol.source.BingMaps.html @@ -1868,15 +1868,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.DebugTileSource.html b/master/apidoc/ol.source.DebugTileSource.html index d0073c27f6..9e84977437 100644 --- a/master/apidoc/ol.source.DebugTileSource.html +++ b/master/apidoc/ol.source.DebugTileSource.html @@ -1784,15 +1784,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.ImageSource.html b/master/apidoc/ol.source.ImageSource.html index c402dda495..170866c7f7 100644 --- a/master/apidoc/ol.source.ImageSource.html +++ b/master/apidoc/ol.source.ImageSource.html @@ -1367,15 +1367,15 @@
diff --git a/master/apidoc/ol.source.ImageTileSource.html b/master/apidoc/ol.source.ImageTileSource.html index 9d20d9f8d1..f94ca40d8b 100644 --- a/master/apidoc/ol.source.ImageTileSource.html +++ b/master/apidoc/ol.source.ImageTileSource.html @@ -1834,15 +1834,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.MapQuestOSM.html b/master/apidoc/ol.source.MapQuestOSM.html index 00478e7801..b65de8ea6a 100644 --- a/master/apidoc/ol.source.MapQuestOSM.html +++ b/master/apidoc/ol.source.MapQuestOSM.html @@ -1811,15 +1811,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.MapQuestOpenAerial.html b/master/apidoc/ol.source.MapQuestOpenAerial.html index 1d899688b4..8b84ae6773 100644 --- a/master/apidoc/ol.source.MapQuestOpenAerial.html +++ b/master/apidoc/ol.source.MapQuestOpenAerial.html @@ -1811,15 +1811,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.OpenStreetMap.html b/master/apidoc/ol.source.OpenStreetMap.html index 67c2fb9ec9..e2bb6d1b3c 100644 --- a/master/apidoc/ol.source.OpenStreetMap.html +++ b/master/apidoc/ol.source.OpenStreetMap.html @@ -1811,15 +1811,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.SingleImageWMS.html b/master/apidoc/ol.source.SingleImageWMS.html index bcdb4afb95..79a33aa559 100644 --- a/master/apidoc/ol.source.SingleImageWMS.html +++ b/master/apidoc/ol.source.SingleImageWMS.html @@ -1394,15 +1394,15 @@
diff --git a/master/apidoc/ol.source.Source.html b/master/apidoc/ol.source.Source.html index 5a19d0003e..b7444358fa 100644 --- a/master/apidoc/ol.source.Source.html +++ b/master/apidoc/ol.source.Source.html @@ -902,15 +902,15 @@
diff --git a/master/apidoc/ol.source.Stamen.html b/master/apidoc/ol.source.Stamen.html index 849f7077c6..5cb5f332eb 100644 --- a/master/apidoc/ol.source.Stamen.html +++ b/master/apidoc/ol.source.Stamen.html @@ -1859,15 +1859,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.StaticImage.html b/master/apidoc/ol.source.StaticImage.html index 5cd2065a51..1f6a8d8e26 100644 --- a/master/apidoc/ol.source.StaticImage.html +++ b/master/apidoc/ol.source.StaticImage.html @@ -1526,15 +1526,15 @@
diff --git a/master/apidoc/ol.source.TileJSON.html b/master/apidoc/ol.source.TileJSON.html index 9381719196..9412abd69b 100644 --- a/master/apidoc/ol.source.TileJSON.html +++ b/master/apidoc/ol.source.TileJSON.html @@ -1820,15 +1820,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.TileSource.html b/master/apidoc/ol.source.TileSource.html index def80623cd..93a958c741 100644 --- a/master/apidoc/ol.source.TileSource.html +++ b/master/apidoc/ol.source.TileSource.html @@ -1710,15 +1710,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.TiledWMS.html b/master/apidoc/ol.source.TiledWMS.html index ed71cf3077..6de884e617 100644 --- a/master/apidoc/ol.source.TiledWMS.html +++ b/master/apidoc/ol.source.TiledWMS.html @@ -1859,15 +1859,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.WMTS.html b/master/apidoc/ol.source.WMTS.html new file mode 100644 index 0000000000..c94da8b54f --- /dev/null +++ b/master/apidoc/ol.source.WMTS.html @@ -0,0 +1,2156 @@ + + + + + OpenLayers: Class: ol.source.WMTS + + + + + + + + + + +
+ +

Class: ol.source.WMTS

+ + + + + +
+ +
+

+ ol.source.WMTS +

+ +
+ +
+
+ + + + +
+

new WMTS

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
wmtsOptions + + +ol.source.WMTSOptions + + + + WMTS options.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtssource.js, line 30
+ + + + + + + +
+ + + + + + + + + +
+ + +
+ + +

Extends

+ + + + + + + + + + + + + +

Members

+ +
+ +
+

isReady

+ + +
+
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 95
+ + + + + + + +
+ + + +
+ + + +
+

<protected> tileGrid :ol.tilegrid.TileGrid

+ + +
+
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 49
+ + + + + + + +
+ + + +
+ + + +
+

<protected> tileUrlFunction :ol.TileUrlFunctionType

+ + +
+
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • imagetilesource.js, line 49
+ + + + + + + +
+ + + +
+ +
+ + + +

Methods

+ +
+ +
+

<static> optionsFromCapabilities

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
wmtsCap + + +Object + + + + An object representing the capabilities document.
layer + + +string + + + + The layer identifier.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtssource.js, line 174
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ WMTS source options object. +
+ + + +
+
+ Type +
+
+ +ol.source.WMTSOptions + + +
+
+ + + + +
+ + + +
+

canExpireCache

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • imagetilesource.js, line 73
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

<protected> dispatchLoadEvent

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 57
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

expireCache

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • imagetilesource.js, line 81
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

findLoadedTiles

+ + +
+
+ + +
+ Look for loaded tiles over a given tile range and zoom level. Adds +properties to the provided lookup representing key/tile pairs for already +loaded tiles. +
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
loadedTilesByZ + + +Object.<number, Object.<string, ol.Tile>> + + + + A lookup of + loaded tiles by zoom level.
getTileIfLoaded + + +function(ol.TileCoord): ol.Tile + + + + A function that + returns the tile only if it is fully loaded.
z + + +number + + + + Zoom level.
tileRange + + +ol.TileRange + + + + Tile range.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 81
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ The tile range is fully covered with loaded tiles. +
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + +
+ + + +
+

getAttributions

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 65
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Attributions. +
+ + + +
+
+ Type +
+
+ +Array.<ol.Attribution> + + +
+
+ + + + +
+ + + +
+

getExtent

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 73
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Extent. +
+ + + +
+
+ Type +
+
+ +ol.Extent + + +
+
+ + + + +
+ + + +
+

getOpaque

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 111
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Opaque. +
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + +
+ + + +
+

getProjection

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 81
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Projection. +
+ + + +
+
+ Type +
+
+ +ol.Projection + + +
+
+ + + + +
+ + + +
+

getResolutions

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 119
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

getTile

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • imagetilesource.js, line 89
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

getTileGrid

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 136
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile grid. +
+ + + +
+
+ Type +
+
+ +ol.tilegrid.TileGrid + + +
+
+ + + + +
+ + + +
+

setAttributions

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
attributions + + +Array.<ol.Attribution> + + + + Attributions.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 101
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

setExtent

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
extent + + +ol.Extent + + + + Extent.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 109
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

setProjection

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
projection + + +ol.Projection + + + + Projetion.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • source.js, line 117
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

useLowResolutionTiles

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
extent + + +ol.Extent + + + + Extent.
tileGrid + + +ol.tilegrid.TileGrid + + + + Tile grid.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilesource.js, line 146
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

useTile

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • imagetilesource.js, line 112
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

<inner> createFromWMTSTemplate

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
template + + +string + + + + Template.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtssource.js, line 92
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile URL function. +
+ + + +
+
+ Type +
+
+ +ol.TileUrlFunctionType + + +
+
+ + + + +
+ +
+ + + + + +
+ +
+ + + + +
+ + + +
+ + + + + + diff --git a/master/apidoc/ol.source.XYZ.html b/master/apidoc/ol.source.XYZ.html index bfe381ffbd..f3098a4e03 100644 --- a/master/apidoc/ol.source.XYZ.html +++ b/master/apidoc/ol.source.XYZ.html @@ -1905,15 +1905,15 @@ loaded tiles.
diff --git a/master/apidoc/ol.tilegrid.TileGrid.html b/master/apidoc/ol.tilegrid.TileGrid.html index 9fe8191db2..113cc3ba25 100644 --- a/master/apidoc/ol.tilegrid.TileGrid.html +++ b/master/apidoc/ol.tilegrid.TileGrid.html @@ -268,7 +268,7 @@ -T= +T @@ -2254,15 +2254,15 @@ assigned the higher tile coordinate.
diff --git a/master/apidoc/ol.tilegrid.WMTS.html b/master/apidoc/ol.tilegrid.WMTS.html new file mode 100644 index 0000000000..89004cd1c8 --- /dev/null +++ b/master/apidoc/ol.tilegrid.WMTS.html @@ -0,0 +1,2691 @@ + + + + + OpenLayers: Class: ol.tilegrid.WMTS + + + + + + + + + + +
+ +

Class: ol.tilegrid.WMTS

+ + + + + +
+ +
+

+ ol.tilegrid.WMTS +

+ +
+ +
+
+ + + + +
+

new WMTS

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
wmtsOptions + + +ol.tilegrid.WMTSOptions + + + + WMTS options.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtstilegrid.js, line 14
+ + + + + + + +
+ + + + + + + + + +
+ + +
+ + +

Extends

+ + + + + + + + + + + + + + + +

Methods

+ +
+ +
+

<static> createFromCapabilitiesMatrixSet

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
matrixSet + + +Object + + + + An object representing a matrixSet in the + capabilities document.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtstilegrid.js, line 61
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ WMTS tileGrid instance. +
+ + + +
+
+ Type +
+
+ +ol.tilegrid.WMTS + + +
+
+ + + + +
+ + + +
+

forEachTileCoordParentTileRange

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
tileCoord + + +ol.TileCoord + + + + + + + + Tile coordinate.
callback + + +function(this: T, number, ol.TileRange): boolean + + + + + + + + Callback.
obj + + +T + + + + + + <optional>
+ + + +
(Optional) Object.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 102
+ + + + + + + +
+ + + + + + + + + +
+ + + +
+

getMatrixId

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
+ + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtstilegrid.js, line 42
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ MatrixId.. +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

getMatrixIds

+ + +
+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
Source:
+
  • wmtstilegrid.js, line 51
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ MatrixIds. +
+ + + +
+
+ Type +
+
+ +Array.<string> + + +
+
+ + + + +
+ + + +
+

getOrigin

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 120
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Origin. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + + +
+ + + +
+

getPixelBoundsForTileCoordAndResolution

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
tileCoord + + +ol.TileCoord + + + + Tile coordinate.
resolution + + +number + + + + Resolution.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 136
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Pixel bounds. +
+ + + +
+
+ Type +
+
+ +ol.PixelBounds + + +
+
+ + + + +
+ + + +
+

getResolution

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 155
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Resolution. +
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

getResolutions

+ + +
+
+ + + + + + + + + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 164
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Resolutions. +
+ + + +
+
+ Type +
+
+ +Array.<number> + + +
+
+ + + + +
+ + + +
+

getTileCoordCenter

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
tileCoord + + +ol.TileCoord + + + + Tile coordinate.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 216
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile center. +
+ + + +
+
+ Type +
+
+ +ol.Coordinate + + +
+
+ + + + +
+ + + +
+

getTileCoordExtent

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
tileCoord + + +ol.TileCoord + + + + Tile coordinate.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 230
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Extent. +
+ + + +
+
+ Type +
+
+ +ol.Extent + + +
+
+ + + + +
+ + + +
+

getTileCoordForCoordAndResolution

+ + +
+
+ + +
+ Get the tile coordinate for the given map coordinate and resolution. This +method considers that coordinates that intersect tile boundaries should be +assigned the higher tile coordinate. +
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
coordinate + + +ol.Coordinate + + + + Coordinate.
resolution + + +number + + + + Resolution.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 251
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile coordinate. +
+ + + +
+
+ Type +
+
+ +ol.TileCoord + + +
+
+ + + + +
+ + + +
+

getTileCoordForCoordAndZ

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
coordinate + + +ol.Coordinate + + + + Coordinate.
z + + +number + + + + Z.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 293
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile coordinate. +
+ + + +
+
+ Type +
+
+ +ol.TileCoord + + +
+
+ + + + +
+ + + +
+

getTileCoordResolution

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
tileCoord + + +ol.TileCoord + + + + Tile coordinate.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 304
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile resolution. +
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

getTileRangeExtent

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
tileRange + + +ol.TileRange + + + + Tile range.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 174
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Extent. +
+ + + +
+
+ Type +
+
+ +ol.Extent + + +
+
+ + + + +
+ + + +
+

getTileRangeForExtentAndResolution

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
extent + + +ol.Extent + + + + Extent.
resolution + + +number + + + + Resolution.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 191
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile range. +
+ + + +
+
+ Type +
+
+ +ol.TileRange + + +
+
+ + + + +
+ + + +
+

getTileRangeForExtentAndZ

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
extent + + +ol.Extent + + + + Extent.
z + + +number + + + + Z.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 206
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile range. +
+ + + +
+
+ Type +
+
+ +ol.TileRange + + +
+
+ + + + +
+ + + +
+

getTileSize

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
z + + +number + + + + Z.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 314
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Tile size. +
+ + + +
+
+ Type +
+
+ +ol.Size + + +
+
+ + + + +
+ + + +
+

getZForResolution

+ + +
+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
resolution + + +number + + + + Resolution.
+ + + +
+ + + + + + + +
Inherited From:
+
+ + + + + + + + + + + + + +
Source:
+
  • tilegrid.js, line 329
+ + + + + + + +
+ + + + + + + +
Returns:
+ + +
+ Z. +
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ +
+ + + + + +
+ +
+ + + + +
+ + + +
+ + + + + + diff --git a/master/apidoc/ol.tilegrid.XYZ.html b/master/apidoc/ol.tilegrid.XYZ.html index 3d692d0c1d..48056b5c2d 100644 --- a/master/apidoc/ol.tilegrid.XYZ.html +++ b/master/apidoc/ol.tilegrid.XYZ.html @@ -2214,15 +2214,15 @@ assigned the higher tile coordinate.
diff --git a/master/apidoc/styles/apidoc.css b/master/apidoc/styles/apidoc.css deleted file mode 100644 index 4190811f54..0000000000 --- a/master/apidoc/styles/apidoc.css +++ /dev/null @@ -1,266 +0,0 @@ -html { - overflow: auto; - background-color: #fff; -} - -body { - font: 14px "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans serif; - line-height: 130%; - color: #000; - background-color: #fff; -} - -a { - color: #444; -} - -a:visited { - color: #444; -} - -a:active { - color: #444; -} - -header { - display: block; - padding: 6px 4px; -} - -.class-description { - font-style: italic; - font-family: Palatino, 'Palatino Linotype', serif; - font-size: 130%; - line-height: 140%; - margin-bottom: 1em; - margin-top: 1em; -} - -#main { - float: left; - width: 100%; -} - -section { - display: block; - - background-color: #fff; - padding: 12px 24px; - border-bottom: 1px solid #ccc; - margin-right: 240px; -} - -.variation { - display: none; -} - -.optional:after { - content: "opt"; - font-size: 60%; - color: #aaa; - font-style: italic; - font-weight: lighter; -} - -nav { - display: block; - float: left; - margin-left: -230px; - margin-top: 28px; - width: 220px; - border-left: 1px solid #ccc; - padding-left: 9px; -} - -nav ul { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; - font-size: 100%; - line-height: 17px; - padding:0; - margin:0; - list-style-type:none; -} - -nav h2 a, nav h2 a:visited { - color: #A35A00; - text-decoration: none; -} - -nav h3 { - margin-top: 12px; -} - -nav li { - margin-top: 6px; -} - -nav a { - color: #5C5954; -} - -nav a:visited { - color: #5C5954; -} - -nav a:active { - color: #5C5954; -} - -footer { - display: block; - padding: 6px; - margin-top: 12px; - font-style: italic; - font-size: 90%; -} - -h1 { - font-size: 200%; - font-weight: bold; - letter-spacing: -0.01em; - margin: 6px 0 9px 0; -} - -h2 { - font-size: 170%; - font-weight: bold; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; -} - -h3 { - font-size: 150%; - font-weight: bold; - letter-spacing: -0.01em; - margin-top: 16px; - margin: 6px 0 3px 0; -} - -h4 { - font-size: 130%; - font-weight: bold; - letter-spacing: -0.01em; - margin-top: 16px; - margin: 18px 0 3px 0; - color: #A35A00; -} - -h5, .container-overview .subsection-title { - font-size: 120%; - font-weight: bold; - letter-spacing: -0.01em; - margin: 8px 0 3px -16px; -} - -h6 { - font-size: 100%; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; - font-style: italic; -} - -.protected { - display: none; -} - -dt.tag-source, dd.tag-source { - display: none; -} - -.ancestors { color: #999; } -.ancestors a { - color: #999 !important; - text-decoration: none; -} - -.important { - font-weight: bold; - color: #950B02; -} - -.yes-def { - text-indent: -1000px; -} - -.type-signature { - color: #aaa; -} - -.name, .signature { - font-family: Consolas, "Lucida Console", Monaco, monospace; -} - -.details { margin-top: 14px; } -.details dt { width:100px; float:left; border-left: 2px solid #DDD; padding-left: 10px; padding-top: 6px; } -.details dd { margin-left: 50px; } -.details ul { margin: 0; } -.details ul { list-style-type: none; } -.details li { margin-left: 30px; padding-top: 6px; } - -.description { - margin-bottom: 1em; - margin-left: -16px; - margin-top: 1em; -} - -.code-caption { - font-style: italic; - font-family: Palatino, 'Palatino Linotype', serif; - font-size: 107%; - margin: 0; -} - -.prettyprint { - border: 1px solid #ddd; - width: 80%; -} - -.prettyprint code { - font-family: Consolas, 'Lucida Console', Monaco, monospace; - font-size: 100%; - line-height: 18px; - display: block; - padding: 4px 12px; - margin: 0; - background-color: #fff; - color: #000; - border-left: 3px #ddd solid; -} - -.params, .props { - border-spacing: 0; - border: 0; - border-collapse: collapse; -} - -.params .name, .props .name, .name code { - color: #A35A00; - font-family: Consolas, 'Lucida Console', Monaco, monospace; - font-size: 100%; -} - -.params td, .params th, .props td, .props th { - border: 1px solid #ddd; - margin: 0px; - text-align: left; - vertical-align: top; - padding: 4px 6px; - display: table-cell; -} - -.params thead tr, .props thead tr { - background-color: #ddd; - font-weight: bold; -} - -.params .params thead tr, .props .props thead tr { - background-color: #fff; - font-weight: bold; -} - -.params th, .props th { border-right: 1px solid #aaa; } -.params thead .last, .props thead .last { border-right: 1px solid #ddd; } - -.disabled { - color: #454545; -} diff --git a/master/apidoc/44f1750883.html b/master/apidoc/user..html similarity index 93% rename from master/apidoc/44f1750883.html rename to master/apidoc/user..html index 07a97e6501..9d27975249 100644 --- a/master/apidoc/44f1750883.html +++ b/master/apidoc/user..html @@ -135,15 +135,15 @@ items from the cache is the responsibility of the user.
diff --git a/master/build/ol-deps.js b/master/build/ol-deps.js index bf64b71b3b..38b183ea43 100644 --- a/master/build/ol-deps.js +++ b/master/build/ol-deps.js @@ -83,13 +83,13 @@ goog.addDependency('../../../ol/ol/renderer/canvas/canvasimagelayerrenderer.js', goog.addDependency('../../../ol/ol/renderer/canvas/canvaslayerrenderer.js', ['ol.renderer.canvas.Layer'], ['ol.layer.Layer', 'ol.renderer.Layer']); goog.addDependency('../../../ol/ol/renderer/canvas/canvasmaprenderer.js', ['ol.renderer.canvas.Map'], ['goog.array', 'goog.dom', 'goog.style', 'goog.vec.Mat4', 'ol.Size', 'ol.layer.ImageLayer', 'ol.layer.TileLayer', 'ol.renderer.Map', 'ol.renderer.canvas.ImageLayer', 'ol.renderer.canvas.TileLayer']); goog.addDependency('../../../ol/ol/renderer/canvas/canvasrenderer.js', ['ol.renderer.canvas.SUPPORTED'], ['ol.canvas']); -goog.addDependency('../../../ol/ol/renderer/canvas/canvastilelayerrenderer.js', ['ol.renderer.canvas.TileLayer'], ['goog.array', 'goog.dom', 'goog.vec.Mat4', 'ol.Size', 'ol.Tile', 'ol.TileCoord', 'ol.TileState', 'ol.layer.TileLayer', 'ol.renderer.Map', 'ol.renderer.canvas.Layer']); +goog.addDependency('../../../ol/ol/renderer/canvas/canvastilelayerrenderer.js', ['ol.renderer.canvas.TileLayer'], ['goog.array', 'goog.dom', 'goog.vec.Mat4', 'ol.Extent', 'ol.Size', 'ol.Tile', 'ol.TileCoord', 'ol.TileState', 'ol.layer.TileLayer', 'ol.renderer.Map', 'ol.renderer.canvas.Layer']); goog.addDependency('../../../ol/ol/renderer/dom/domimagelayerrenderer.js', ['ol.renderer.dom.ImageLayer'], ['goog.dom', 'goog.vec.Mat4', 'ol.Image', 'ol.ImageState', 'ol.ViewHint', 'ol.dom', 'ol.layer.ImageLayer', 'ol.renderer.dom.Layer']); goog.addDependency('../../../ol/ol/renderer/dom/domlayerrenderer.js', ['ol.renderer.dom.Layer'], ['ol.layer.Layer', 'ol.renderer.Layer']); goog.addDependency('../../../ol/ol/renderer/dom/dommaprenderer.js', ['ol.renderer.dom.Map'], ['goog.array', 'goog.asserts', 'goog.dom', 'goog.dom.TagName', 'goog.style', 'ol.layer.ImageLayer', 'ol.layer.TileLayer', 'ol.renderer.Map', 'ol.renderer.dom.ImageLayer', 'ol.renderer.dom.TileLayer']); goog.addDependency('../../../ol/ol/renderer/dom/domrenderer.js', ['ol.renderer.dom.SUPPORTED'], []); goog.addDependency('../../../ol/ol/renderer/dom/domtilelayerrenderer.js', ['ol.renderer.dom.TileLayer'], ['goog.asserts', 'goog.dom', 'goog.style', 'goog.vec.Mat4', 'ol.Coordinate', 'ol.Extent', 'ol.Tile', 'ol.TileCoord', 'ol.TileState', 'ol.ViewHint', 'ol.dom', 'ol.layer.TileLayer', 'ol.renderer.dom.Layer', 'ol.tilegrid.TileGrid']); -goog.addDependency('../../../ol/ol/renderer/layerrenderer.js', ['ol.renderer.Layer'], ['goog.events', 'goog.events.EventType', 'ol.Attribution', 'ol.FrameState', 'ol.Image', 'ol.ImageState', 'ol.Object', 'ol.Tile', 'ol.TileCoord', 'ol.TileRange', 'ol.TileState', 'ol.layer.Layer', 'ol.layer.LayerProperty', 'ol.layer.LayerState', 'ol.source.TileSource']); +goog.addDependency('../../../ol/ol/renderer/layerrenderer.js', ['ol.renderer.Layer'], ['goog.events', 'goog.events.EventType', 'ol.Attribution', 'ol.Coordinate', 'ol.FrameState', 'ol.Image', 'ol.ImageState', 'ol.Object', 'ol.Tile', 'ol.TileCoord', 'ol.TileRange', 'ol.TileState', 'ol.layer.Layer', 'ol.layer.LayerProperty', 'ol.layer.LayerState', 'ol.source.TileSource']); goog.addDependency('../../../ol/ol/renderer/maprenderer.js', ['ol.renderer.Map'], ['goog.Disposable', 'goog.array', 'goog.asserts', 'goog.events', 'goog.functions', 'goog.vec.Mat4', 'ol.CollectionEvent', 'ol.CollectionEventType', 'ol.FrameState', 'ol.Object', 'ol.layer.Layer', 'ol.renderer.Layer']); goog.addDependency('../../../ol/ol/renderer/webgl/shader.js', ['ol.renderer.webgl.FragmentShader', 'ol.renderer.webgl.VertexShader'], ['goog.functions', 'goog.webgl']); goog.addDependency('../../../ol/ol/renderer/webgl/webglimagelayerrenderer.js', ['ol.renderer.webgl.ImageLayer'], ['goog.vec.Mat4', 'ol.Coordinate', 'ol.Extent', 'ol.Image', 'ol.ImageState', 'ol.ViewHint', 'ol.layer.ImageLayer', 'ol.renderer.webgl.Layer']); @@ -114,6 +114,7 @@ goog.addDependency('../../../ol/ol/source/tiledwmssource.js', ['ol.source.TiledW goog.addDependency('../../../ol/ol/source/tilejsonsource.js', ['ol.source.TileJSON', 'ol.tilejson'], ['goog.asserts', 'goog.net.jsloader', 'ol.Attribution', 'ol.Extent', 'ol.TileCoord', 'ol.TileRange', 'ol.TileUrlFunction', 'ol.projection', 'ol.source.ImageTileSource', 'ol.tilegrid.XYZ']); goog.addDependency('../../../ol/ol/source/tilesource.js', ['ol.source.TileSource', 'ol.source.TileSourceOptions'], ['goog.functions', 'ol.Attribution', 'ol.Extent', 'ol.Tile', 'ol.TileCoord', 'ol.TileRange', 'ol.source.Source', 'ol.tilegrid.TileGrid']); goog.addDependency('../../../ol/ol/source/wms.js', ['ol.source.wms'], []); +goog.addDependency('../../../ol/ol/source/wmtssource.js', ['ol.source.WMTS', 'ol.source.WMTSRequestEncoding'], ['ol.Attribution', 'ol.Extent', 'ol.Projection', 'ol.TileCoord', 'ol.TileUrlFunction', 'ol.TileUrlFunctionType', 'ol.projection', 'ol.source.ImageTileSource', 'ol.tilegrid.WMTS']); goog.addDependency('../../../ol/ol/source/xyzsource.js', ['ol.source.XYZ', 'ol.source.XYZOptions'], ['goog.math', 'ol.Attribution', 'ol.Extent', 'ol.Projection', 'ol.TileCoord', 'ol.TileUrlFunction', 'ol.TileUrlFunctionType', 'ol.projection', 'ol.source.ImageTileSource', 'ol.tilegrid.XYZ']); goog.addDependency('../../../ol/ol/sphere.js', ['ol.Sphere'], ['goog.math', 'ol.Coordinate']); goog.addDependency('../../../ol/ol/sphere/normal.js', ['ol.sphere.NORMAL'], ['ol.Sphere']); @@ -123,6 +124,7 @@ goog.addDependency('../../../ol/ol/tile.js', ['ol.Tile', 'ol.TileState'], ['goog goog.addDependency('../../../ol/ol/tilecache.js', ['ol.TileCache'], ['ol.Tile', 'ol.TileRange', 'ol.structs.LRUCache']); goog.addDependency('../../../ol/ol/tilecoord.js', ['ol.TileCoord'], ['goog.array', 'ol.Coordinate']); goog.addDependency('../../../ol/ol/tilegrid/tilegrid.js', ['ol.tilegrid.TileGrid'], ['goog.array', 'goog.asserts', 'ol.Coordinate', 'ol.Extent', 'ol.PixelBounds', 'ol.Projection', 'ol.Size', 'ol.TileCoord', 'ol.TileRange', 'ol.array']); +goog.addDependency('../../../ol/ol/tilegrid/wmtstilegrid.js', ['ol.tilegrid.WMTS'], ['ol.Size', 'ol.projection', 'ol.tilegrid.TileGrid']); goog.addDependency('../../../ol/ol/tilegrid/xyztilegrid.js', ['ol.tilegrid.XYZ'], ['ol.Coordinate', 'ol.Size', 'ol.TileRange', 'ol.projection', 'ol.projection.EPSG3857', 'ol.tilegrid.TileGrid']); goog.addDependency('../../../ol/ol/tilequeue.js', ['ol.TilePriorityFunction', 'ol.TileQueue'], ['goog.events', 'goog.events.EventType', 'ol.Coordinate', 'ol.Tile', 'ol.TileState']); goog.addDependency('../../../ol/ol/tilerange.js', ['ol.TileRange'], ['goog.asserts', 'ol.Rectangle', 'ol.TileCoord']); diff --git a/master/build/ol-simple.js b/master/build/ol-simple.js index f71b01b2d8..b4e09c3951 100644 --- a/master/build/ol-simple.js +++ b/master/build/ol-simple.js @@ -37,8 +37,8 @@ goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goo goog.string.contains=function(a,b){return-1!=a.indexOf(b)};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&(bb?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;cb?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c(d=goog.arr goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)};goog.array.toArray=function(a){var b=a.length;if(0=arguments.length?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b){for(var c=b||a,d={},e=0,f=0;f>1,l;l=c?b.call(e,a[i],i,a):b(d,a[i]);0>1,j;j=c?b.call(e,a[i],i,a):b(d,a[i]);0b?1:ac?(goog.array.insertAt(a,b,-(c+1)),!0):!1}; @@ -112,7 +112,7 @@ goog.userAgent.determineVersion_=function(){var a="",b;goog.userAgent.OPERA&&goo goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionCache_={};goog.userAgent.isVersion=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionCache_[a]||(goog.userAgent.isVersionCache_[a]=0<=goog.string.compareVersions(goog.userAgent.VERSION,a))}; goog.userAgent.isDocumentModeCache_={};goog.userAgent.isDocumentMode=function(a){return goog.userAgent.isDocumentModeCache_[a]||(goog.userAgent.isDocumentModeCache_[a]=goog.userAgent.IE&&!!document.documentMode&&document.documentMode>=a)};goog.debug.catchErrors=function(a,b,c){var c=c||goog.global,d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersion("535.3")&&(e=!e);c.onerror=function(b,c,h){d&&d(b,c,h);a({message:b,fileName:c,line:h});return e}};goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")}; goog.debug.deepExpose=function(a,b){var c=new goog.structs.Set,d=[],e=function(a,g){var h=g+" ";try{if(goog.isDef(a))if(goog.isNull(a))d.push("NULL");else if(goog.isString(a))d.push('"'+a.replace(/\n/g,"\n"+g)+'"');else if(goog.isFunction(a))d.push(String(a).replace(/\n/g,"\n"+g));else if(goog.isObject(a))if(c.contains(a))d.push("*** reference loop detected ***");else{c.add(a);d.push("{");for(var i in a)if(b||!goog.isFunction(a[i]))d.push("\n"),d.push(h),d.push(i+" = "),e(a[i],h);d.push("\n"+g+"}")}else d.push(a); -else d.push("undefined")}catch(l){d.push("*** "+l+" ***")}};e(a,"");return d.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c'+c.fileName+"\nLine: "+c.lineNumber+"\n\nBrowser stack:\n"+goog.string.htmlEscape(c.stack+"-> ")+"[end]\n\nJS stack traversal:\n"+goog.string.htmlEscape(goog.debug.getStacktrace(b)+"-> ")}catch(d){return"Exception trying to expose exception! You win, we lose. "+d}}; goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c,d,e=!1;try{c=a.lineNumber||a.line||"Not available"}catch(f){c="Not available",e=!0}try{d=a.fileName||a.filename||a.sourceURL||b}catch(g){d="Not available",e=!0}return e||!a.lineNumber||!a.fileName||!a.stack?{message:a.message,name:a.name,lineNumber:c,fileName:d,stack:a.stack||"Not available"}: a};goog.debug.enhanceError=function(a,b){var c="string"==typeof a?Error(a):a;c.stack||(c.stack=goog.debug.getStacktrace(arguments.callee.caller));if(b){for(var d=0;c["message"+d];)++d;c["message"+d]=String(b)}return c}; @@ -151,7 +151,7 @@ goog.dom.classes.remove=function(a,b){var c=goog.dom.classes.get(a),d=goog.array goog.dom.classes.swap=function(a,b,c){for(var d=goog.dom.classes.get(a),e=!1,f=0;fc*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)}; goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180=c&&(c=360+c);return c}; -goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){for(var c=c||function(a,b){return a==b},d=d||function(b){return a[b]},e=a.length,f=b.length,g=[],h=0;hg[h][i-1]?h--:i--;return l}; +goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){for(var c=c||function(a,b){return a==b},d=d||function(b){return a[b]},e=a.length,f=b.length,g=[],h=0;hg[h][i-1]?h--:i--;return j}; goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.standardDeviation=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments),b=goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1);return Math.sqrt(b)};goog.math.isInt=function(a){return isFinite(a)&&0==a%1}; goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.equals=function(a,b){return a==b?!0:!a||!b?!1:a.x==b.x&&a.y==b.y};goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}; goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:!a||!b?!1:a.width==b.width&&a.height==b.height};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)}; @@ -237,8 +237,8 @@ goog.events.fireListeners_=function(a,b,c,d,e){var f=1,b=goog.getUid(b);if(a[b]) goog.events.dispatchEvent=function(a,b){var c=b.type||b,d=goog.events.listenerTree_;if(!(c in d))return!0;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b,b=new goog.events.Event(c,a);goog.object.extend(b,e)}var e=1,f,d=d[c],c=!0 in d,g;if(c){f=[];for(g=a;g;g=g.getParentEventTarget())f.push(g);g=d[!0];g.remaining_=g.count_;for(var h=f.length-1;!b.propagationStopped_&&0<=h&&g.remaining_;h--)b.currentTarget=f[h],e&=goog.events.fireListeners_(g, f[h],b.type,!0,b)&&!1!=b.returnValue_}if(!1 in d)if(g=d[!1],g.remaining_=g.count_,c)for(h=0;!b.propagationStopped_&&ha.keyCode||void 0!=a.returnValue};goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c=a[2]?a[1]*a[2]:a[1]*(1-a[2]) goog.color.lighten=function(a,b){return goog.color.blend([255,255,255],a,b)};goog.color.highContrast=function(a,b){for(var c=[],d=0;d=a.minX&&this.minY<=a.maxY&&this.maxY>=a.minY}; -ol.Rectangle.prototype.normalize=function(a){return new ol.Coordinate((a.x-this.minX)/this.getWidth(),(a.y-this.minY)/this.getHeight())};ol.Rectangle.prototype.toString=function(){return"("+[this.minX,this.minY,this.maxX,this.maxY].join(", ")+")"};ol.Rectangle.prototype.scaleFromCenter=function(a){var b=this.getWidth()/2*(a-1),a=this.getHeight()/2*(a-1);this.minX-=b;this.minY-=a;this.maxX+=b;this.maxY+=a};ol.Extent=function(a,b,c,d){ol.Rectangle.call(this,a,b,c,d)};goog.inherits(ol.Extent,ol.Rectangle);ol.Extent.boundingExtent=function(a){var b=arguments[0],b=new ol.Extent(b.x,b.y,b.x,b.y),c;for(c=1;cf;++f)g=e[f],h=c[f],e[f]=a.x+g*b-h*d,c[f]=a.y+g*d+h*b;a=Math.min.apply(null,e);b=Math.min.apply(null,c);e=Math.max.apply(null,e);c=Math.max.apply(null,c);return new ol.Extent(a,b,e,c)};ol.Extent.prototype.containsCoordinate=function(a){return this.minX<=a.x&&a.x<=this.maxX&&this.minY<=a.y&&a.y<=this.maxY}; ol.Extent.prototype.containsExtent=function(a){return this.minX<=a.minX&&a.maxX<=this.maxX&&this.minY<=a.minY&&a.maxY<=this.maxY};ol.Extent.prototype.getBottomLeft=function(){return new ol.Coordinate(this.minX,this.minY)};ol.Extent.prototype.getBottomRight=function(){return new ol.Coordinate(this.maxX,this.minY)};ol.Extent.prototype.getTopLeft=function(){return new ol.Coordinate(this.minX,this.maxY)};ol.Extent.prototype.getTopRight=function(){return new ol.Coordinate(this.maxX,this.maxY)}; ol.Extent.prototype.transform=function(a){var b=[this.minX,this.minY,this.maxX,this.maxY],b=a(b,b,2);return new ol.Extent(Math.min(b[0],b[2]),Math.min(b[1],b[3]),Math.max(b[0],b[2]),Math.max(b[1],b[3]))};goog.vec={};goog.vec.Float32Array=function(a){this.length=a.length||a;for(var b=0;bgoog.vec.EPSILON?(b[2]=Math.atan2(a[2]*c,a[6]*c),b[1]=Math.atan2(d*c,a[10]),b[0]=Math.atan2(a[8]*c,-a[9]*c)):(b[0]=0,b[1]=Math.atan2(d*c,a[10]),b[2]=Math.atan2(a[1],a[0]));b[0]=(b[0]+2*Math.PI)%(2*Math.PI);b[2]=(b[2]+2*Math.PI)%(2*Math.PI);b[1]=(b[1]*c+2*Math.PI)%(2*Math.PI)*c;return b}; goog.vec.Mat4.translate=function(a,b,c,d){return goog.vec.Mat4.setColumnValues(a,3,a[0]*b+a[4]*c+a[8]*d+a[12],a[1]*b+a[5]*c+a[9]*d+a[13],a[2]*b+a[6]*c+a[10]*d+a[14],a[3]*b+a[7]*c+a[11]*d+a[15])};goog.vec.Mat4.scale=function(a,b,c,d){return goog.vec.Mat4.setFromValues(a,a[0]*b,a[1]*b,a[2]*b,a[3]*b,a[4]*c,a[5]*c,a[6]*c,a[7]*c,a[8]*d,a[9]*d,a[10]*d,a[11]*d,a[12],a[13],a[14],a[15])}; -goog.vec.Mat4.rotate=function(a,b,c,d,e){var f=a[0],g=a[1],h=a[2],i=a[3],l=a[4],j=a[5],k=a[6],m=a[7],n=a[8],p=a[9],q=a[10],r=a[11],s=a[12],t=a[13],x=a[14],u=a[15],v=Math.cos(b),w=Math.sin(b),y=1-v,b=c*c*y+v,A=c*d*y+e*w,B=c*e*y-d*w,C=c*d*y-e*w,D=d*d*y+v,E=d*e*y+c*w,F=c*e*y+d*w,c=d*e*y-c*w,e=e*e*y+v;return goog.vec.Mat4.setFromValues(a,f*b+l*A+n*B,g*b+j*A+p*B,h*b+k*A+q*B,i*b+m*A+r*B,f*C+l*D+n*E,g*C+j*D+p*E,h*C+k*D+q*E,i*C+m*D+r*E,f*F+l*c+n*e,g*F+j*c+p*e,h*F+k*c+q*e,i*F+m*c+r*e,s,t,x,u)}; -goog.vec.Mat4.rotateX=function(a,b){var c=a[4],d=a[5],e=a[6],f=a[7],g=a[8],h=a[9],i=a[10],l=a[11],j=Math.cos(b),k=Math.sin(b);a[4]=c*j+g*k;a[5]=d*j+h*k;a[6]=e*j+i*k;a[7]=f*j+l*k;a[8]=c*-k+g*j;a[9]=d*-k+h*j;a[10]=e*-k+i*j;a[11]=f*-k+l*j;return a};goog.vec.Mat4.rotateY=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[8],h=a[9],i=a[10],l=a[11],j=Math.cos(b),k=Math.sin(b);a[0]=c*j+g*-k;a[1]=d*j+h*-k;a[2]=e*j+i*-k;a[3]=f*j+l*-k;a[8]=c*k+g*j;a[9]=d*k+h*j;a[10]=e*k+i*j;a[11]=f*k+l*j;return a}; -goog.vec.Mat4.rotateZ=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],l=a[7],j=Math.cos(b),k=Math.sin(b);a[0]=c*j+g*k;a[1]=d*j+h*k;a[2]=e*j+i*k;a[3]=f*j+l*k;a[4]=c*-k+g*j;a[5]=d*-k+h*j;a[6]=e*-k+i*j;a[7]=f*-k+l*j;return a};goog.vec.Mat4.getTranslation=function(a,b){b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};goog.vec.Mat4.tmpVec3_=[goog.vec.Vec3.createFloat64(),goog.vec.Vec3.createFloat64()];goog.vec.Mat4.tmpVec4_=[goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64()]; +goog.vec.Mat4.rotate=function(a,b,c,d,e){var f=a[0],g=a[1],h=a[2],i=a[3],j=a[4],m=a[5],k=a[6],l=a[7],p=a[8],n=a[9],q=a[10],r=a[11],s=a[12],t=a[13],x=a[14],u=a[15],v=Math.cos(b),y=Math.sin(b),w=1-v,b=c*c*w+v,A=c*d*w+e*y,B=c*e*w-d*y,C=c*d*w-e*y,D=d*d*w+v,E=d*e*w+c*y,F=c*e*w+d*y,c=d*e*w-c*y,e=e*e*w+v;return goog.vec.Mat4.setFromValues(a,f*b+j*A+p*B,g*b+m*A+n*B,h*b+k*A+q*B,i*b+l*A+r*B,f*C+j*D+p*E,g*C+m*D+n*E,h*C+k*D+q*E,i*C+l*D+r*E,f*F+j*c+p*e,g*F+m*c+n*e,h*F+k*c+q*e,i*F+l*c+r*e,s,t,x,u)}; +goog.vec.Mat4.rotateX=function(a,b){var c=a[4],d=a[5],e=a[6],f=a[7],g=a[8],h=a[9],i=a[10],j=a[11],m=Math.cos(b),k=Math.sin(b);a[4]=c*m+g*k;a[5]=d*m+h*k;a[6]=e*m+i*k;a[7]=f*m+j*k;a[8]=c*-k+g*m;a[9]=d*-k+h*m;a[10]=e*-k+i*m;a[11]=f*-k+j*m;return a};goog.vec.Mat4.rotateY=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[8],h=a[9],i=a[10],j=a[11],m=Math.cos(b),k=Math.sin(b);a[0]=c*m+g*-k;a[1]=d*m+h*-k;a[2]=e*m+i*-k;a[3]=f*m+j*-k;a[8]=c*k+g*m;a[9]=d*k+h*m;a[10]=e*k+i*m;a[11]=f*k+j*m;return a}; +goog.vec.Mat4.rotateZ=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],j=a[7],m=Math.cos(b),k=Math.sin(b);a[0]=c*m+g*k;a[1]=d*m+h*k;a[2]=e*m+i*k;a[3]=f*m+j*k;a[4]=c*-k+g*m;a[5]=d*-k+h*m;a[6]=e*-k+i*m;a[7]=f*-k+j*m;return a};goog.vec.Mat4.getTranslation=function(a,b){b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};goog.vec.Mat4.tmpVec3_=[goog.vec.Vec3.createFloat64(),goog.vec.Vec3.createFloat64()];goog.vec.Mat4.tmpVec4_=[goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64()]; goog.vec.Mat4.tmpMat4_=[goog.vec.Mat4.createFloat64()];ol.QuadKeyCharCode={ZERO:48,ONE:49,TWO:50,THREE:51};ol.TileCoord=function(a,b,c){ol.Coordinate.call(this,b,c);this.z=a};goog.inherits(ol.TileCoord,ol.Coordinate);ol.TileCoord.createFromQuadKey=function(a){var b=a.length,c=0,d=0,e=1<>=1}return new ol.TileCoord(b,c,d)}; ol.TileCoord.createFromString=function(a){a=a.split("/");a=goog.array.map(a,function(a){return parseInt(a,10)});return new ol.TileCoord(a[0],a[1],a[2])};ol.TileCoord.prototype.hash=function(){return(this.x<>=1;return a.join("")}; ol.TileCoord.prototype.toString=function(){return[this.z,this.x,this.y].join("/")};ol.TileRange=function(a,b,c,d){this.minX=a;this.minY=b;this.maxX=c;this.maxY=d};goog.inherits(ol.TileRange,ol.Rectangle);ol.TileRange.boundingTileRange=function(a){var b=arguments[0],c=new ol.TileRange(b.x,b.y,b.x,b.y),d,e;for(d=1;da?ol.easing.inAndOut(2*a):1-ol.easing.inAndOut(2*(a-0.5))};ol.animation={};ol.animation.bounce=function(a){var b=a.resolution,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.upAndDown;return function(a,g){if(g.timed;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");o ol.renderer.dom.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,e=b.rotation,f=this.image_,g=this.getImageLayer().getImageSource(),h=a.viewHints;!h[ol.ViewHint.ANIMATING]&&!h[ol.ViewHint.INTERACTING]&&(b=g.getImage(a.extent,d,b.projection),goog.isNull(b)||(g=b.getState(),g==ol.ImageState.IDLE?(goog.events.listenOnce(b,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),b.load()):g==ol.ImageState.LOADED&&(f=b)));goog.isNull(f)||(g=f.getExtent(),h= f.getResolution(),b=goog.vec.Mat4.createNumber(),goog.vec.Mat4.makeIdentity(b),goog.vec.Mat4.translate(b,a.size.width/2,a.size.height/2,0),goog.vec.Mat4.rotateZ(b,e),goog.vec.Mat4.scale(b,h/d,h/d,1),goog.vec.Mat4.translate(b,(g.minX-c.x)/h,(c.y-g.maxY)/h,0),f!=this.image_&&(c=f.getImageElement(this),c.style.position="absolute",goog.dom.removeChildren(this.target),goog.dom.appendChild(this.target,c),this.image_=f),this.setTransform(b),this.updateAttributions(a.attributions,f.getAttributions()))}; ol.renderer.dom.ImageLayer.prototype.setTransform=function(a){goog.vec.Mat4.equals(a,this.transform_)||(ol.dom.transformElement2D(this.target,a,6),goog.vec.Mat4.setFromArray(this.transform_,a))};ol.renderer.dom.TileLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.className="ol-layer-tile";c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.renderedVisible_=!0;this.renderedOpacity_=1;this.tileLayerZs_={}};goog.inherits(ol.renderer.dom.TileLayer,ol.renderer.dom.Layer);ol.renderer.dom.TileLayer.prototype.getTileLayer=function(){return this.getLayer()}; -ol.renderer.dom.TileLayer.prototype.renderFrame=function(a,b){if(b.visible){var c=a.view2DState,d=c.projection,e=this.getTileLayer().getTileSource(),f=goog.getUid(e).toString(),g=e.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(d));var h=g.getZForResolution(c.resolution),i=g.getResolution(h),i=g.getTileRangeForExtentAndResolution(a.extent,i),l={};l[h]={};var j=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED},e,g,d),j=goog.bind(e.findLoadedTiles, -e,l,j),k,m,n,p,q;for(p=i.minX;p<=i.maxX;++p)for(q=i.minY;q<=i.maxY;++q){n=new ol.TileCoord(h,p,q);k=e.getTile(n,g,d);m=k.getState();if(m==ol.TileState.IDLE)this.updateWantedTiles(a.wantedTiles,e,n),m=g.getTileCoordCenter(n),a.tileQueue.enqueue(k,f,m);else if(m==ol.TileState.LOADING)this.listenToTileChange(k);else if(m==ol.TileState.LOADED){l[h][n.toString()]=k;continue}else if(m==ol.TileState.ERROR||m==ol.TileState.EMPTY)continue;g.forEachTileCoordParentTileRange(n,j)}k=goog.array.map(goog.object.getKeys(l), -Number);goog.array.sort(k);var d={},r;for(n=0;nj&&goog.dom.insertChildAt(this.target,f.target,0)}else!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING]&&f.removeTilesOutsideExtent(a.extent); -else goog.dom.removeNode(f.target),delete this.tileLayerZs_[j];b.opacity!=this.renderedOpacity_&&(goog.style.setOpacity(this.target,b.opacity),this.renderedOpacity_=b.opacity);b.visible&&!this.renderedVisible_&&(goog.style.showElement(this.target,!0),this.renderedVisible_=!0);this.updateUsedTiles(a.usedTiles,e,h,i);e.useLowResolutionTiles(h,a.extent,g);this.scheduleExpireCache(a,e)}else this.renderedVisible_&&(goog.style.showElement(this.target,!1),this.renderedVisible_=!1)}; -ol.renderer.dom.TileLayerZ_=function(a,b){this.target=goog.dom.createElement(goog.dom.TagName.DIV);this.target.style.position="absolute";this.tileGrid_=a;this.tileCoordOrigin_=b;this.origin_=a.getTileCoordExtent(b).getTopLeft();this.resolution_=a.getResolution(b.z);this.tiles_={};this.documentFragment_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()}; +ol.renderer.dom.TileLayer.prototype.renderFrame=function(a,b){if(b.visible){var c=a.view2DState,d=c.projection,e=this.getTileLayer().getTileSource(),f=goog.getUid(e).toString(),g=e.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(d));var h=g.getZForResolution(c.resolution),i=g.getResolution(h),j=c.center,m;i==c.resolution?(j=this.snapCenterToPixel(j,i,a.size),m=ol.Extent.getForView2DAndSize(j,i,c.rotation,a.size)):m=a.extent;var i=g.getTileRangeForExtentAndResolution(m,i),k={};k[h]={}; +var l=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED},e,g,d),l=goog.bind(e.findLoadedTiles,e,k,l),p,n,q,r,s;for(r=i.minX;r<=i.maxX;++r)for(s=i.minY;s<=i.maxY;++s){q=new ol.TileCoord(h,r,s);p=e.getTile(q,g,d);n=p.getState();if(n==ol.TileState.IDLE)this.updateWantedTiles(a.wantedTiles,e,q),n=g.getTileCoordCenter(q),a.tileQueue.enqueue(p,f,n);else if(n==ol.TileState.LOADING)this.listenToTileChange(p);else if(n==ol.TileState.LOADED){k[h][q.toString()]= +p;continue}else if(n==ol.TileState.ERROR||n==ol.TileState.EMPTY)continue;g.forEachTileCoordParentTileRange(q,l)}p=goog.array.map(goog.object.getKeys(k),Number);goog.array.sort(p);var d={},t;for(q=0;ql&&goog.dom.insertChildAt(this.target,f.target,0)}else!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING]&&f.removeTilesOutsideExtent(m);else goog.dom.removeNode(f.target),delete this.tileLayerZs_[l];b.opacity!=this.renderedOpacity_&&(goog.style.setOpacity(this.target,b.opacity),this.renderedOpacity_=b.opacity);b.visible&&!this.renderedVisible_&&(goog.style.showElement(this.target,!0),this.renderedVisible_=!0);this.updateUsedTiles(a.usedTiles,e,h,i);e.useLowResolutionTiles(h, +m,g);this.scheduleExpireCache(a,e)}else this.renderedVisible_&&(goog.style.showElement(this.target,!1),this.renderedVisible_=!1)};ol.renderer.dom.TileLayerZ_=function(a,b){this.target=goog.dom.createElement(goog.dom.TagName.DIV);this.target.style.position="absolute";this.tileGrid_=a;this.tileCoordOrigin_=b;this.origin_=a.getTileCoordExtent(b).getTopLeft();this.resolution_=a.getResolution(b.z);this.tiles_={};this.documentFragment_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()}; ol.renderer.dom.TileLayerZ_.prototype.addTile=function(a){var b=a.tileCoord;goog.asserts.assert(b.z==this.tileCoordOrigin_.z);var c=b.toString();if(!(c in this.tiles_)){var d=this.tileGrid_.getTileSize(b.z),e=a.getImage(this),f=e.style;f.position="absolute";f.left=(b.x-this.tileCoordOrigin_.x)*d.width+"px";f.top=(this.tileCoordOrigin_.y-b.y)*d.height+"px";goog.isNull(this.documentFragment_)&&(this.documentFragment_=document.createDocumentFragment());goog.dom.appendChild(this.documentFragment_,e); this.tiles_[c]=a}};ol.renderer.dom.TileLayerZ_.prototype.finalizeAddTiles=function(){goog.isNull(this.documentFragment_)||(goog.dom.appendChild(this.target,this.documentFragment_),this.documentFragment_=null)};ol.renderer.dom.TileLayerZ_.prototype.getOrigin=function(){return this.origin_};ol.renderer.dom.TileLayerZ_.prototype.getResolution=function(){return this.resolution_}; ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent=function(a){var b=this.tileGrid_.getTileRangeForExtentAndZ(a,this.tileCoordOrigin_.z),a=[],c,d;for(d in this.tiles_)c=this.tiles_[d],b.contains(c.tileCoord)||a.push(c);for(b=0;b=a.getCount()){for(var a=this.nodes_,d=0;d=b))return 1==b?goog.array.clear(a):(a[0]=a.pop(),this.moveDown_(0)),c.getValue()}; @@ -691,14 +692,14 @@ ol.renderer.webgl.TileLayer.prototype.bindFramebuffer_=function(a,b){var c=this. null);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);var e=c.createFramebuffer();c.bindFramebuffer(goog.webgl.FRAMEBUFFER,e);c.framebufferTexture2D(goog.webgl.FRAMEBUFFER,goog.webgl.COLOR_ATTACHMENT0,goog.webgl.TEXTURE_2D,d,0);this.texture_=d;this.framebuffer_=e;this.framebufferDimension_=b}else c.bindFramebuffer(goog.webgl.FRAMEBUFFER,this.framebuffer_)}; ol.renderer.webgl.TileLayer.prototype.disposeInternal=function(){var a=this.getMapRenderer().getGL();a.isContextLost()||(a.deleteBuffer(this.arrayBuffer_),a.deleteFramebuffer(this.framebuffer_),a.deleteTexture(this.texture_));ol.renderer.webgl.TileLayer.superClass_.disposeInternal.call(this)};ol.renderer.webgl.TileLayer.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix_};ol.renderer.webgl.TileLayer.prototype.getTexture=function(){return this.texture_}; ol.renderer.webgl.TileLayer.prototype.getProjectionMatrix=function(){return this.projectionMatrix_};ol.renderer.webgl.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost=function(){this.framebuffer_=this.texture_=this.arrayBuffer_=this.locations_=null;this.framebufferDimension_=void 0}; -ol.renderer.webgl.TileLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer(),c=b.getGL(),d=a.view2DState,e=d.projection,f=d.center,g=this.getTileLayer().getTileSource(),h=goog.getUid(g).toString(),i=g.getTileGrid();goog.isNull(i)&&(i=ol.tilegrid.getForProjection(e));var l=i.getZForResolution(d.resolution),j=i.getResolution(l),k=i.getTileRangeForExtentAndResolution(a.extent,j),m;if(!goog.isNull(this.renderedTileRange_)&&this.renderedTileRange_.equals(k))m=this.renderedFramebufferExtent_; -else{var n=k.getSize(),p=i.getTileSize(l),n=Math.max(n.width*p.width,n.height*p.height),n=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2))),q=new ol.Size(j*n,j*n),r=i.getOrigin(l),s=r.x+k.minX*p.width*j,j=r.y+k.minY*p.height*j;m=new ol.Extent(s,j,s+q.width,j+q.height);this.bindFramebuffer_(a,n);c.viewport(0,0,n,n);c.clearColor(0,0,0,0);c.clear(goog.webgl.COLOR_BUFFER_BIT);c.disable(goog.webgl.BLEND);j=b.getProgram(this.fragmentShader_,this.vertexShader_);c.useProgram(j);goog.isNull(this.locations_)&& -(this.locations_={aPosition:c.getAttribLocation(j,"aPosition"),aTexCoord:c.getAttribLocation(j,"aTexCoord"),uTileOffset:c.getUniformLocation(j,"uTileOffset"),uTexture:c.getUniformLocation(j,"uTexture")});goog.isNull(this.arrayBuffer_)?(j=c.createBuffer(),c.bindBuffer(goog.webgl.ARRAY_BUFFER,j),c.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=j):c.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);c.enableVertexAttribArray(this.locations_.aPosition); -c.vertexAttribPointer(this.locations_.aPosition,2,goog.webgl.FLOAT,!1,16,0);c.enableVertexAttribArray(this.locations_.aTexCoord);c.vertexAttribPointer(this.locations_.aTexCoord,2,goog.webgl.FLOAT,!1,16,8);c.uniform1i(this.locations_.uTexture,0);var t={};t[l]={};for(var j=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED&&b.isTileTextureLoaded(a)},g,i,e),p=goog.bind(g.findLoadedTiles,g,t,j),j=new goog.structs.PriorityQueue,x=!0,u,v,r=k.minX;r<= -k.maxX;++r)for(v=k.minY;v<=k.maxY;++v){s=new ol.TileCoord(l,r,v);n=g.getTile(s,i,e);u=n.getState();if(u==ol.TileState.IDLE)this.updateWantedTiles(a.wantedTiles,g,s),u=i.getTileCoordCenter(s),a.tileQueue.enqueue(n,h,u);else if(u==ol.TileState.LOADING)this.listenToTileChange(n);else if(u==ol.TileState.LOADED)if(b.isTileTextureLoaded(n)){t[l][s.toString()]=n;continue}else u=i.getTileCoordCenter(s),x=u.x-f.x,u=u.y-f.y,x=Math.sqrt(x*x+u*u),j.enqueue(x,n);else if(u==ol.TileState.ERROR||u==ol.TileState.EMPTY)continue; -x=!1;i.forEachTileCoordParentTileRange(s,p)}e=goog.array.map(goog.object.getKeys(t),Number);goog.array.sort(e);var w=goog.vec.Vec4.createFloat32();goog.array.forEach(e,function(a){goog.object.forEach(t[a],function(a){var d=i.getTileCoordExtent(a.tileCoord),e=2*d.getWidth()/q.width,f=2*d.getHeight()/q.height;goog.vec.Vec4.setFromValues(w,e,f,2*(d.minX-m.minX)/q.width-1,2*(d.minY-m.minY)/q.height-1);c.uniform4fv(this.locations_.uTileOffset,w);b.bindTileTexture(a,goog.webgl.LINEAR,goog.webgl.LINEAR); -c.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4)},this)},this);j.isEmpty()||a.postRenderFunctions.push(goog.partial(function(a,b){var c,d;for(c=0;!b.isEmpty()&&4>c;++c)d=b.remove(),a.bindTileTexture(d,goog.webgl.LINEAR,goog.webgl.LINEAR)},b,j));x?(this.renderedTileRange_=k,this.renderedFramebufferExtent_=m):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,a.animate=!0)}this.updateUsedTiles(a.usedTiles,g,l,k);g.useLowResolutionTiles(l,a.extent,i);this.scheduleExpireCache(a,g);goog.vec.Mat4.makeIdentity(this.texCoordMatrix_); -goog.vec.Mat4.translate(this.texCoordMatrix_,(d.center.x-m.minX)/(m.maxX-m.minX),(d.center.y-m.minY)/(m.maxY-m.minY),0);goog.vec.Mat4.rotateZ(this.texCoordMatrix_,d.rotation);goog.vec.Mat4.scale(this.texCoordMatrix_,a.size.width*d.resolution/(m.maxX-m.minX),a.size.height*d.resolution/(m.maxY-m.minY),1);goog.vec.Mat4.translate(this.texCoordMatrix_,-0.5,-0.5,0)};ol.structs={};ol.structs.LRUCache=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null}; +ol.renderer.webgl.TileLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer(),c=b.getGL(),d=a.view2DState,e=d.projection,f=this.getTileLayer().getTileSource(),g=goog.getUid(f).toString(),h=f.getTileGrid();goog.isNull(h)&&(h=ol.tilegrid.getForProjection(e));var i=h.getZForResolution(d.resolution),j=h.getResolution(i),m=d.center,k;j==d.resolution?(m=this.snapCenterToPixel(m,j,a.size),k=ol.Extent.getForView2DAndSize(m,j,d.rotation,a.size)):k=a.extent;var l=h.getTileRangeForExtentAndResolution(k, +j),p;if(!goog.isNull(this.renderedTileRange_)&&this.renderedTileRange_.equals(l))p=this.renderedFramebufferExtent_;else{var n=l.getSize(),q=h.getTileSize(i),n=Math.max(n.width*q.width,n.height*q.height),n=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2))),r=new ol.Size(j*n,j*n),s=h.getOrigin(i),t=s.x+l.minX*q.width*j,j=s.y+l.minY*q.height*j;p=new ol.Extent(t,j,t+r.width,j+r.height);this.bindFramebuffer_(a,n);c.viewport(0,0,n,n);c.clearColor(0,0,0,0);c.clear(goog.webgl.COLOR_BUFFER_BIT);c.disable(goog.webgl.BLEND); +j=b.getProgram(this.fragmentShader_,this.vertexShader_);c.useProgram(j);goog.isNull(this.locations_)&&(this.locations_={aPosition:c.getAttribLocation(j,"aPosition"),aTexCoord:c.getAttribLocation(j,"aTexCoord"),uTileOffset:c.getUniformLocation(j,"uTileOffset"),uTexture:c.getUniformLocation(j,"uTexture")});goog.isNull(this.arrayBuffer_)?(j=c.createBuffer(),c.bindBuffer(goog.webgl.ARRAY_BUFFER,j),c.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]),goog.webgl.STATIC_DRAW), +this.arrayBuffer_=j):c.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);c.enableVertexAttribArray(this.locations_.aPosition);c.vertexAttribPointer(this.locations_.aPosition,2,goog.webgl.FLOAT,!1,16,0);c.enableVertexAttribArray(this.locations_.aTexCoord);c.vertexAttribPointer(this.locations_.aTexCoord,2,goog.webgl.FLOAT,!1,16,8);c.uniform1i(this.locations_.uTexture,0);var x={};x[i]={};for(var j=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED&& +b.isTileTextureLoaded(a)},f,h,e),q=goog.bind(f.findLoadedTiles,f,x,j),j=new goog.structs.PriorityQueue,u=!0,v,y,s=l.minX;s<=l.maxX;++s)for(y=l.minY;y<=l.maxY;++y){t=new ol.TileCoord(i,s,y);n=f.getTile(t,h,e);v=n.getState();if(v==ol.TileState.IDLE)this.updateWantedTiles(a.wantedTiles,f,t),v=h.getTileCoordCenter(t),a.tileQueue.enqueue(n,g,v);else if(v==ol.TileState.LOADING)this.listenToTileChange(n);else if(v==ol.TileState.LOADED)if(b.isTileTextureLoaded(n)){x[i][t.toString()]=n;continue}else v=h.getTileCoordCenter(t), +u=v.x-m.x,v=v.y-m.y,u=Math.sqrt(u*u+v*v),j.enqueue(u,n);else if(v==ol.TileState.ERROR||v==ol.TileState.EMPTY)continue;u=!1;h.forEachTileCoordParentTileRange(t,q)}e=goog.array.map(goog.object.getKeys(x),Number);goog.array.sort(e);var w=goog.vec.Vec4.createFloat32();goog.array.forEach(e,function(a){goog.object.forEach(x[a],function(a){var d=h.getTileCoordExtent(a.tileCoord),e=2*d.getWidth()/r.width,f=2*d.getHeight()/r.height;goog.vec.Vec4.setFromValues(w,e,f,2*(d.minX-p.minX)/r.width-1,2*(d.minY-p.minY)/ +r.height-1);c.uniform4fv(this.locations_.uTileOffset,w);b.bindTileTexture(a,goog.webgl.LINEAR,goog.webgl.LINEAR);c.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4)},this)},this);j.isEmpty()||a.postRenderFunctions.push(goog.partial(function(a,b){var c,d;for(c=0;!b.isEmpty()&&4>c;++c)d=b.remove(),a.bindTileTexture(d,goog.webgl.LINEAR,goog.webgl.LINEAR)},b,j));u?(this.renderedTileRange_=l,this.renderedFramebufferExtent_=p):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,a.animate=!0)}this.updateUsedTiles(a.usedTiles, +f,i,l);f.useLowResolutionTiles(i,k,h);this.scheduleExpireCache(a,f);goog.vec.Mat4.makeIdentity(this.texCoordMatrix_);goog.vec.Mat4.translate(this.texCoordMatrix_,(m.x-p.minX)/(p.maxX-p.minX),(m.y-p.minY)/(p.maxY-p.minY),0);goog.vec.Mat4.rotateZ(this.texCoordMatrix_,d.rotation);goog.vec.Mat4.scale(this.texCoordMatrix_,a.size.width*d.resolution/(p.maxX-p.minX),a.size.height*d.resolution/(p.maxY-p.minY),1);goog.vec.Mat4.translate(this.texCoordMatrix_,-0.5,-0.5,0)};ol.structs={};ol.structs.LRUCache=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null}; ol.structs.LRUCache.prototype.assertValid=function(){if(0===this.count_)goog.asserts.assert(goog.object.isEmpty(this.entries_)),goog.asserts.assert(goog.isNull(this.oldest_)),goog.asserts.assert(goog.isNull(this.newest_));else{goog.asserts.assert(goog.object.getCount(this.entries_)==this.count_);goog.asserts.assert(!goog.isNull(this.oldest_));goog.asserts.assert(goog.isNull(this.oldest_.older));goog.asserts.assert(!goog.isNull(this.newest_));goog.asserts.assert(goog.isNull(this.newest_.newer));var a, b,c=null;a=0;for(b=this.oldest_;!goog.isNull(b);b=b.newer)goog.asserts.assert(b.older===c),c=b,++a;goog.asserts.assert(a==this.count_);c=null;a=0;for(b=this.newest_;!goog.isNull(b);b=b.older)goog.asserts.assert(b.newer===c),c=b,++a;goog.asserts.assert(a==this.count_)}};ol.structs.LRUCache.prototype.clear=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};ol.structs.LRUCache.prototype.containsKey=function(a){return this.entries_.hasOwnProperty(a)}; ol.structs.LRUCache.prototype.forEach=function(a,b){for(var c=this.oldest_;!goog.isNull(c);)a.call(b,c.value_,c.key_,this),c=c.newer};ol.structs.LRUCache.prototype.get=function(a){a=this.entries_[a];goog.asserts.assert(goog.isDef(a));if(a===this.newest_)return a.value_;a===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(a.newer.older=a.older,a.older.newer=a.newer);a.newer=null;a.older=this.newest_;this.newest_=this.newest_.newer=a;return a.value_}; @@ -745,10 +746,10 @@ ol.Map.prototype.handleViewPropertyChanged_=function(){this.render()};ol.Map.pro ol.Map.prototype.isDef=function(){var a=this.getView();return goog.isDef(a)&&a.isDef()&&goog.isDefAndNotNull(this.getSize())};ol.Map.prototype.render=function(){this.animationDelay_.isActive()||(0===this.freezeRenderingCount_?this.animationDelay_.fire():this.dirty_=!0)};ol.Map.prototype.requestRenderFrame=function(){0===this.freezeRenderingCount_?this.animationDelay_.isActive()||this.animationDelay_.start():this.dirty_=!0}; ol.Map.prototype.removeLayer=function(a){var b=this.getLayers();goog.asserts.assert(goog.isDef(b));return b.remove(a)}; ol.Map.prototype.renderFrame_=function(a){var b;if(0==this.freezeRenderingCount_){goog.DEBUG&&this.logger.info("renderFrame_");var c=this.getSize();b=this.getLayers();var d=goog.isDef(b)?b.getArray():void 0;b=this.getView();var e=goog.isDef(b)?this.getView().getView2D():void 0,f=null;if(goog.isDef(d)&&goog.isDef(c)&&goog.isDef(e)&&e.isDef()){var f=this.getBackgroundColor(),g=b.getHints(),h={},i;for(b=0;bb;++b)d=c[b],d.rotate(i),d.add(a);f.extent=ol.Extent.boundingExtent.apply(null,c)}this.frameState_=f;this.renderer_.renderFrame(f);this.dirty_=!1;goog.isNull(f)||(f.animate&&this.requestRenderFrame(),Array.prototype.push.apply(this.postRenderFunctions_,f.postRenderFunctions));this.dispatchEvent(new ol.MapEvent(ol.MapEventType.POSTRENDER,this,f));goog.global.setTimeout(this.handlePostRender_, -0)}};ol.Map.prototype.setBackgroundColor=function(a){this.set(ol.MapProperty.BACKGROUND_COLOR,a)};goog.exportProperty(ol.Map.prototype,"setBackgroundColor",ol.Map.prototype.setBackgroundColor);ol.Map.prototype.setLayers=function(a){this.set(ol.MapProperty.LAYERS,a)};goog.exportProperty(ol.Map.prototype,"setLayers",ol.Map.prototype.setLayers);ol.Map.prototype.setSize=function(a){this.set(ol.MapProperty.SIZE,a)};goog.exportProperty(ol.Map.prototype,"setSize",ol.Map.prototype.setSize); -ol.Map.prototype.setView=function(a){this.set(ol.MapProperty.VIEW,a)};goog.exportProperty(ol.Map.prototype,"setView",ol.Map.prototype.setView);ol.Map.prototype.unfreezeRendering=function(){goog.asserts.assert(0this.highWaterMark_};ol.TileCache.prototype.expireCache=function(a){for(var b,c;this.canExpireCache()&&!(b=this.peekLast(),c=b.tileCoord.z.toString(),c in a&&a[c].contains(b.tileCoord));)this.pop()};ol.TileUrlFunction={};ol.TileUrlFunction.createFromTemplate=function(a){var b=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(b){for(var c=[],d=b[1].charCodeAt(0),e=b[2].charCodeAt(0);d<=e;++d)c.push(a.replace(b[0],String.fromCharCode(d)));return ol.TileUrlFunction.createFromTemplates(c)}return function(b){return goog.isNull(b)?void 0:a.replace("{z}",b.z).replace("{x}",b.x).replace("{y}",b.y)}}; -ol.TileUrlFunction.createFromTemplates=function(a){return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(a,ol.TileUrlFunction.createFromTemplate))};ol.TileUrlFunction.createFromTileUrlFunctions=function(a){return function(b,c,d){if(!goog.isNull(b)){var e=goog.math.modulo(b.hash(),a.length);return a[e](b,c,d)}}}; +ol.TileUrlFunction.createFromTemplates=function(a){return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(a,ol.TileUrlFunction.createFromTemplate))};ol.TileUrlFunction.createFromTileUrlFunctions=function(a){return 1===a.length?a[0]:function(b,c,d){if(!goog.isNull(b)){var e=goog.math.modulo(b.hash(),a.length);return a[e](b,c,d)}}}; ol.TileUrlFunction.createWMSParams=function(a,b){return function(c,d,e){if(!goog.isNull(c)){var f=d.getTileSize(c.z),c=d.getTileCoordExtent(c);return ol.source.wms.getUrl(a,b,c,f,e)}}};ol.TileUrlFunction.nullTileUrlFunction=function(){};ol.TileUrlFunction.withTileCoordTransform=function(a,b){return function(c,d,e){return goog.isNull(c)?void 0:b(a(c,d,e),d,e)}};ol.control.MousePosition=function(a){var a=goog.isDef(a)?a:{},b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":"ol-mouse-position"});ol.control.Control.call(this,{element:b,map:a.map,target:a.target});this.projection_=ol.projection.get(a.projection);this.coordinateFormat_=a.coordinateFormat;this.undefinedHTML_=goog.isDef(a.undefinedHTML)?a.undefinedHTML:"";this.renderedHTML_=b.innerHTML;this.mapProjection_=null;this.transform_=ol.projection.identityTransform;this.listenerKeys_=this.lastMouseMovePixel_= this.renderedProjection_=null};goog.inherits(ol.control.MousePosition,ol.control.Control);ol.control.MousePosition.prototype.handleMapPostrender=function(a){a=a.frameState;this.mapProjection_=goog.isNull(a)?null:a.view2DState.projection;this.updateHTML_(this.lastMouseMovePixel_)};ol.control.MousePosition.prototype.handleMouseMove=function(a){var b=this.getMap(),a=goog.style.getRelativePosition(a,b.getViewport()),a=new ol.Pixel(a.x,a.y);this.updateHTML_(a);this.lastMouseMovePixel_=a}; ol.control.MousePosition.prototype.handleMouseOut=function(){this.updateHTML_(null);this.lastMouseMovePixel_=null}; @@ -823,8 +824,8 @@ b){b.person=this.getChildValue(a)},ContactOrganization:function(a,b){b.organizat b){b.postcode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ContactVoiceTelephone:function(a,b){b.phone=this.getChildValue(a)},ContactFacsimileTelephone:function(a,b){b.fax=this.getChildValue(a)},ContactElectronicMailAddress:function(a,b){b.email=this.getChildValue(a)},Fees:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},AccessConstraints:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)}, Capability:function(a,b){b.capability={};b.capability.nestedLayers=[];b.capability.layers=[];this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetCapabilities:function(a,b){b.getcapabilities={};b.getcapabilities.formats=[];this.readChildNodes(a,b.getcapabilities)},Format:function(a,b){goog.isArray(b.formats)?b.formats.push(this.getChildValue(a)):b.format=this.getChildValue(a)},DCPType:function(a,b){this.readChildNodes(a,b)},HTTP:function(a,b){this.readChildNodes(a, b)},Get:function(a,b){b.get={};this.readChildNodes(a,b.get)},Post:function(a,b){b.post={};this.readChildNodes(a,b.post)},GetMap:function(a,b){b.getmap={};b.getmap.formats=[];this.readChildNodes(a,b.getmap)},GetFeatureInfo:function(a,b){b.getfeatureinfo={};b.getfeatureinfo.formats=[];this.readChildNodes(a,b.getfeatureinfo)},Exception:function(a,b){b.exception={};b.exception.formats=[];this.readChildNodes(a,b.exception)},Layer:function(a,b){var c,d;b.capability?(d=b.capability,c=b):d=b;var e=a.getAttributeNode("queryable"), -f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,h=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):null,i=a.getAttribute("noSubsets"),l=a.getAttribute("fixedWidth"),j=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"=== -f:e.queryable||!1,cascaded:null!==g?parseInt(g,10):e.cascaded||0,opaque:h?"1"===h||"true"===h:e.opaque||!1,noSubsets:null!==i?"1"===i||"true"===i:e.noSubsets||!1,fixedWidth:null!==l?parseInt(l,10):e.fixedWidth||0,fixedHeight:null!==j?parseInt(j,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(goog.object.extend(f.srs,e.srs),goog.object.extend(f.bbox,e.bbox),goog.object.extend(f.dimensions,e.dimensions),goog.object.extend(f.authorityURLs,e.authorityURLs)); +f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,h=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):null,i=a.getAttribute("noSubsets"),j=a.getAttribute("fixedWidth"),m=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"=== +f:e.queryable||!1,cascaded:null!==g?parseInt(g,10):e.cascaded||0,opaque:h?"1"===h||"true"===h:e.opaque||!1,noSubsets:null!==i?"1"===i||"true"===i:e.noSubsets||!1,fixedWidth:null!==j?parseInt(j,10):e.fixedWidth||0,fixedHeight:null!==m?parseInt(m,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(goog.object.extend(f.srs,e.srs),goog.object.extend(f.bbox,e.bbox),goog.object.extend(f.dimensions,e.dimensions),goog.object.extend(f.authorityURLs,e.authorityURLs)); b.nestedLayers.push(f);f.capability=d;this.readChildNodes(a,f);delete f.capability;f.name&&(c=f.name.split(":"),g=d.request,e=g.getfeatureinfo,0c||b<=c)return null;b=goog.math.modulo(a.x,b);return!goog.isNull(d)&&!g.getTileCoordExtent(new ol.TileCoord(a.z,b,a.y)).intersects(d)?null:new ol.TileCoord(a.z,b,c)},ol.TileUrlFunction.createFromTemplates(a.tiles));if(goog.isDef(a.attribution)){b=goog.isNull(d)?b.getExtent():d;c={};var h,i;for(h=e;h<=f;++h)i=h.toString(),c[i]=[g.getTileRangeForExtentAndZ(b,h)];this.setAttributions([new ol.Attribution(a.attribution, c)])}this.ready_=!0;this.dispatchLoadEvent()};ol.source.TileJSON.prototype.isReady=function(){return this.ready_};ol.source.TiledWMS=function(a){goog.isDef(a.tileGrid);var b;a.urls?(b=goog.array.map(a.urls,function(b){return ol.TileUrlFunction.createWMSParams(b,a.params)}),b=ol.TileUrlFunction.createFromTileUrlFunctions(b)):b=a.url?ol.TileUrlFunction.createWMSParams(a.url,a.params):ol.TileUrlFunction.nullTileUrlFunction;var c=goog.isDef(a.params.TRANSPARENT)?a.params.TRANSPARENT:!0,d=a.extent;ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:d,tileGrid:a.tileGrid, -opaque:!c,projection:a.projection,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(a,b,c){if(b.getResolutions().length<=a.z)return null;var h=a.x,i=b.getTileCoordExtent(a),l=c.getExtent();d=goog.isDef(d)?d:l;!goog.isNull(d)&&(c.isGlobal()&&d.minX===l.minX&&d.maxX===l.maxX)&&(c=Math.ceil((d.maxX-d.minX)/(i.maxX-i.minX)),h=goog.math.modulo(h,c),i=b.getTileCoordExtent(new ol.TileCoord(a.z,h,a.y)));return!i.intersects(d)?null:new ol.TileCoord(a.z,h,a.y)},b)})}; -goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.sphere.WGS84=new ol.Sphere(6378137);ol.AnchoredElementOptionsType={};ol.MapOptionsType={};ol.Proj4jsProjectionOptionsType={};ol.ProjectionOptionsType={};ol.View2DOptionsType={};ol.animation.BounceOptionsType={};ol.animation.PanOptionsType={};ol.animation.RotateOptionsType={};ol.animation.ZoomOptionsType={};ol.control.AttributionOptionsType={};ol.control.DefaultsOptionsType={};ol.control.MousePositionOptionsType={};ol.control.ScaleLineOptionsType={};ol.control.ZoomOptionsType={};ol.interaction.DefaultOptionsType={}; -ol.interaction.KeyboardPanOptionsType={};ol.interaction.KeyboardZoomOptionsType={};ol.layer.LayerOptionsType={};ol.source.BingMapsOptionsType={};ol.source.DebugTileSourceOptionsType={};ol.source.SingleImageWMSOptionsType={};ol.source.StamenOptionsType={};ol.source.StaticImageOptionsType={};ol.source.TileJSONOptionsType={};ol.source.TiledWMSOptionsType={};ol.tilegrid.TileGridOptionsType={};ol.tilegrid.XYZOptionsType={}; +opaque:!c,projection:a.projection,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(a,b,c){if(b.getResolutions().length<=a.z)return null;var h=a.x,i=b.getTileCoordExtent(a),j=c.getExtent();d=goog.isDef(d)?d:j;!goog.isNull(d)&&(c.isGlobal()&&d.minX===j.minX&&d.maxX===j.maxX)&&(c=Math.ceil((d.maxX-d.minX)/(i.maxX-i.minX)),h=goog.math.modulo(h,c),i=b.getTileCoordExtent(new ol.TileCoord(a.z,h,a.y)));return!i.intersects(d)?null:new ol.TileCoord(a.z,h,a.y)},b)})}; +goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.tilegrid.WMTS=function(a){goog.asserts.assert(a.resolutions.length==a.matrixIds.length);this.matrixIds_=a.matrixIds;ol.tilegrid.TileGrid.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})};goog.inherits(ol.tilegrid.WMTS,ol.tilegrid.TileGrid);ol.tilegrid.WMTS.prototype.getMatrixId=function(a){goog.asserts.assert(0<=a&&af&&(f=0);var f=c.styles[f].identifier,g={};goog.array.forEach(c.dimensions,function(a){var b=a.identifier,c=a["default"];goog.isDef(c)?goog.asserts.assert(0<= +goog.array.indexOf(a.values,c)):c=a.values[0];goog.asserts.assert(goog.isDef(c));g[b]=c});var h=a.contents.tileMatrixSets;goog.asserts.assert(d in h);var i=h[d],h=ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet(i),i=ol.projection.get(i.supportedCRS),j=a.operationsMetadata.GetTile.dcp.http.get,m=goog.object.getKeys(j[0].constraints.GetEncoding.allowedValues);goog.asserts.assert(0= 0;--j) { @@ -14886,7 +14930,7 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = function(frameState, layerStat } }else { if(!frameState.viewHints[ol.ViewHint.ANIMATING] && !frameState.viewHints[ol.ViewHint.INTERACTING]) { - tileLayerZ.removeTilesOutsideExtent(frameState.extent) + tileLayerZ.removeTilesOutsideExtent(extent) } } } @@ -14899,7 +14943,7 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = function(frameState, layerStat this.renderedVisible_ = true } this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); - tileSource.useLowResolutionTiles(z, frameState.extent, tileGrid); + tileSource.useLowResolutionTiles(z, extent, tileGrid); this.scheduleExpireCache(frameState, tileSource) }; ol.renderer.dom.TileLayerZ_ = function(tileGrid, tileCoordOrigin) { @@ -15867,7 +15911,6 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = function(frameState, layerSt var gl = mapRenderer.getGL(); var view2DState = frameState.view2DState; var projection = view2DState.projection; - var center = view2DState.center; var tileLayer = this.getTileLayer(); var tileSource = tileLayer.getTileSource(); var tileSourceKey = goog.getUid(tileSource).toString(); @@ -15877,7 +15920,15 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = function(frameState, layerSt } var z = tileGrid.getZForResolution(view2DState.resolution); var tileResolution = tileGrid.getResolution(z); - var tileRange = tileGrid.getTileRangeForExtentAndResolution(frameState.extent, tileResolution); + var center = view2DState.center; + var extent; + if(tileResolution == view2DState.resolution) { + center = this.snapCenterToPixel(center, tileResolution, frameState.size); + extent = ol.Extent.getForView2DAndSize(center, tileResolution, view2DState.rotation, frameState.size) + }else { + extent = frameState.extent + } + var tileRange = tileGrid.getTileRangeForExtentAndResolution(extent, tileResolution); var framebufferExtent; if(!goog.isNull(this.renderedTileRange_) && this.renderedTileRange_.equals(tileRange)) { framebufferExtent = this.renderedFramebufferExtent_ @@ -15993,10 +16044,10 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = function(frameState, layerSt } } this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); - tileSource.useLowResolutionTiles(z, frameState.extent, tileGrid); + tileSource.useLowResolutionTiles(z, extent, tileGrid); this.scheduleExpireCache(frameState, tileSource); goog.vec.Mat4.makeIdentity(this.texCoordMatrix_); - goog.vec.Mat4.translate(this.texCoordMatrix_, (view2DState.center.x - framebufferExtent.minX) / (framebufferExtent.maxX - framebufferExtent.minX), (view2DState.center.y - framebufferExtent.minY) / (framebufferExtent.maxY - framebufferExtent.minY), 0); + goog.vec.Mat4.translate(this.texCoordMatrix_, (center.x - framebufferExtent.minX) / (framebufferExtent.maxX - framebufferExtent.minX), (center.y - framebufferExtent.minY) / (framebufferExtent.maxY - framebufferExtent.minY), 0); goog.vec.Mat4.rotateZ(this.texCoordMatrix_, view2DState.rotation); goog.vec.Mat4.scale(this.texCoordMatrix_, frameState.size.width * view2DState.resolution / (framebufferExtent.maxX - framebufferExtent.minX), frameState.size.height * view2DState.resolution / (framebufferExtent.maxY - framebufferExtent.minY), 1); goog.vec.Mat4.translate(this.texCoordMatrix_, -0.5, -0.5, 0) @@ -16790,19 +16841,7 @@ ol.Map.prototype.renderFrame_ = function(time) { } preRenderFunctions.length = n; if(!goog.isNull(frameState)) { - var center = view2DState.center; - var resolution = view2DState.resolution; - var rotation = view2DState.rotation; - var x = resolution * size.width / 2; - var y = resolution * size.height / 2; - var corners = [new ol.Coordinate(-x, -y), new ol.Coordinate(-x, y), new ol.Coordinate(x, -y), new ol.Coordinate(x, y)]; - var corner; - for(i = 0;i < 4;++i) { - corner = corners[i]; - corner.rotate(rotation); - corner.add(center) - } - frameState.extent = ol.Extent.boundingExtent.apply(null, corners) + frameState.extent = ol.Extent.getForView2DAndSize(view2DState.center, view2DState.resolution, view2DState.rotation, frameState.size) } this.frameState_ = frameState; this.renderer_.renderFrame(frameState); @@ -17373,6 +17412,9 @@ ol.TileUrlFunction.createFromTemplates = function(templates) { return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(templates, ol.TileUrlFunction.createFromTemplate)) }; ol.TileUrlFunction.createFromTileUrlFunctions = function(tileUrlFunctions) { + if(tileUrlFunctions.length === 1) { + return tileUrlFunctions[0] + } return function(tileCoord, tileGrid, projection) { if(goog.isNull(tileCoord)) { return undefined @@ -18724,7 +18766,7 @@ ol.parser.ogc.WMTSCapabilities_v1_0_0 = function() { obj["tileMatrixSet"] = this.getChildValue(node) } }, "TileMatrix":function(node, obj) { - var tileMatrix = {"supportedCRS":obj.supportedCRS}; + var tileMatrix = {"supportedCRS":obj["supportedCRS"]}; this.readChildNodes(node, tileMatrix); obj["matrixIds"].push(tileMatrix) }, "ScaleDenominator":function(node, obj) { @@ -19744,6 +19786,183 @@ ol.source.TiledWMS = function(tiledWMSOptions) { goog.base(this, {attributions:tiledWMSOptions.attributions, crossOrigin:tiledWMSOptions.crossOrigin, extent:extent, tileGrid:tiledWMSOptions.tileGrid, opaque:!transparent, projection:tiledWMSOptions.projection, tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(tileCoordTransform, tileUrlFunction)}) }; goog.inherits(ol.source.TiledWMS, ol.source.ImageTileSource); +goog.provide("ol.tilegrid.WMTS"); +goog.require("ol.Size"); +goog.require("ol.projection"); +goog.require("ol.tilegrid.TileGrid"); +ol.tilegrid.WMTS = function(wmtsOptions) { + goog.asserts.assert(wmtsOptions.resolutions.length == wmtsOptions.matrixIds.length); + this.matrixIds_ = wmtsOptions.matrixIds; + goog.base(this, {origin:wmtsOptions.origin, origins:wmtsOptions.origins, resolutions:wmtsOptions.resolutions, tileSize:wmtsOptions.tileSize, tileSizes:wmtsOptions.tileSizes}) +}; +goog.inherits(ol.tilegrid.WMTS, ol.tilegrid.TileGrid); +ol.tilegrid.WMTS.prototype.getMatrixId = function(z) { + goog.asserts.assert(0 <= z && z < this.matrixIds_.length); + return this.matrixIds_[z] +}; +ol.tilegrid.WMTS.prototype.getMatrixIds = function() { + return this.matrixIds_ +}; +ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet = function(matrixSet) { + var resolutions = []; + var matrixIds = []; + var origins = []; + var tileSizes = []; + var projection = ol.projection.get(matrixSet["supportedCRS"]); + var metersPerUnit = projection.getMetersPerUnit(); + goog.array.forEach(matrixSet["matrixIds"], function(elt, index, array) { + matrixIds.push(elt["identifier"]); + origins.push(elt["topLeftCorner"]); + resolutions.push(elt["scaleDenominator"] * 2.8E-4 / metersPerUnit); + tileSizes.push(new ol.Size(elt["tileWidth"], elt["tileHeight"])) + }); + return new ol.tilegrid.WMTS({origins:origins, resolutions:resolutions, matrixIds:matrixIds, tileSizes:tileSizes}) +}; +goog.provide("ol.source.WMTS"); +goog.provide("ol.source.WMTSRequestEncoding"); +goog.require("ol.Attribution"); +goog.require("ol.Extent"); +goog.require("ol.Projection"); +goog.require("ol.TileCoord"); +goog.require("ol.TileUrlFunction"); +goog.require("ol.TileUrlFunctionType"); +goog.require("ol.projection"); +goog.require("ol.source.ImageTileSource"); +goog.require("ol.tilegrid.WMTS"); +ol.source.WMTSRequestEncoding = {KVP:"KVP", REST:"REST"}; +ol.source.WMTS = function(wmtsOptions) { + var version = goog.isDef(wmtsOptions.version) ? wmtsOptions.version : "1.0.0"; + var format = goog.isDef(wmtsOptions.format) ? wmtsOptions.format : "image/jpeg"; + var dimensions = wmtsOptions.dimensions || {}; + var requestEncoding = goog.isDef(wmtsOptions.requestEncoding) ? wmtsOptions.requestEncoding : ol.source.WMTSRequestEncoding.KVP; + var tileGrid = wmtsOptions.tileGrid; + var context = {"Layer":wmtsOptions.layer, "style":wmtsOptions.style, "TileMatrixSet":wmtsOptions.matrixSet}; + goog.object.extend(context, dimensions); + var kvpParams; + if(requestEncoding == ol.source.WMTSRequestEncoding.KVP) { + kvpParams = {"Service":"WMTS", "Request":"GetTile", "Version":version, "Format":format, "TileMatrix":"{TileMatrix}", "TileRow":"{TileRow}", "TileCol":"{TileCol}"}; + goog.object.extend(kvpParams, context) + } + var urls = wmtsOptions.urls; + if(!goog.isDef(urls)) { + urls = []; + var url = wmtsOptions.url; + goog.asserts.assert(goog.isDef(url)); + var match = /\{(\d)-(\d)\}/.exec(url) || /\{([a-z])-([a-z])\}/.exec(url); + if(match) { + var startCharCode = match[1].charCodeAt(0); + var stopCharCode = match[2].charCodeAt(0); + var charCode; + for(charCode = startCharCode;charCode <= stopCharCode;++charCode) { + urls.push(url.replace(match[0], String.fromCharCode(charCode))) + } + }else { + urls.push(url) + } + } + function createFromWMTSTemplate(template) { + return function(tileCoord) { + if(goog.isNull(tileCoord)) { + return undefined + }else { + var localContext = {"TileMatrix":tileGrid.getMatrixId(tileCoord.z), "TileCol":tileCoord.x, "TileRow":tileCoord.y}; + if(requestEncoding != ol.source.WMTSRequestEncoding.KVP) { + goog.object.extend(localContext, context) + } + var url = template; + for(var key in localContext) { + url = url.replace("{" + key + "}", localContext[key]).replace("%7B" + key + "%7D", localContext[key]) + } + return url + } + } + } + var tileUrlFunction = ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(urls, function(url) { + if(goog.isDef(kvpParams)) { + url = goog.uri.utils.appendParamsFromMap(url, kvpParams) + } + return createFromWMTSTemplate(url) + })); + tileUrlFunction = ol.TileUrlFunction.withTileCoordTransform(function(tileCoord, tileGrid, projection) { + if(tileGrid.getResolutions().length <= tileCoord.z) { + return null + } + var x = tileCoord.x; + var y = -tileCoord.y - 1; + var tileExtent = tileGrid.getTileCoordExtent(tileCoord); + var projectionExtent = projection.getExtent(); + var extent = goog.isDef(wmtsOptions.extent) ? wmtsOptions.extent : projectionExtent; + if(!goog.isNull(extent) && projection.isGlobal() && extent.minX === projectionExtent.minX && extent.maxX === projectionExtent.maxX) { + var numCols = Math.ceil((extent.maxX - extent.minX) / (tileExtent.maxX - tileExtent.minX)); + x = goog.math.modulo(x, numCols); + tileExtent = tileGrid.getTileCoordExtent(new ol.TileCoord(tileCoord.z, x, tileCoord.y)) + } + if(!tileExtent.intersects(extent)) { + return null + } + return new ol.TileCoord(tileCoord.z, x, y) + }, tileUrlFunction); + goog.base(this, {attributions:wmtsOptions.attributions, crossOrigin:wmtsOptions.crossOrigin, extent:wmtsOptions.extent, projection:wmtsOptions.projection, tileGrid:tileGrid, tileUrlFunction:tileUrlFunction}) +}; +goog.inherits(ol.source.WMTS, ol.source.ImageTileSource); +ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, layer) { + var layers = wmtsCap["contents"]["layers"]; + var l = goog.array.find(layers, function(elt, index, array) { + return elt["identifier"] == layer + }); + goog.asserts.assert(!goog.isNull(l)); + goog.asserts.assert(l["tileMatrixSetLinks"].length > 0); + var matrixSet = l["tileMatrixSetLinks"][0]["tileMatrixSet"]; + var format = l["formats"][0]; + var idx = goog.array.findIndex(l["styles"], function(elt, index, array) { + return elt["isDefault"] + }); + if(idx < 0) { + idx = 0 + } + var style = l["styles"][idx]["identifier"]; + var dimensions = {}; + goog.array.forEach(l["dimensions"], function(elt, index, array) { + var key = elt["identifier"]; + var value = elt["default"]; + if(goog.isDef(value)) { + goog.asserts.assert(goog.array.indexOf(elt["values"], value) >= 0) + }else { + value = elt["values"][0] + } + goog.asserts.assert(goog.isDef(value)); + dimensions[key] = value + }); + var matrixSets = wmtsCap["contents"]["tileMatrixSets"]; + goog.asserts.assert(matrixSet in matrixSets); + var matrixSetObj = matrixSets[matrixSet]; + var tileGrid = ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet(matrixSetObj); + var projection = ol.projection.get(matrixSetObj["supportedCRS"]); + var gets = wmtsCap["operationsMetadata"]["GetTile"]["dcp"]["http"]["get"]; + var encodings = goog.object.getKeys(gets[0]["constraints"]["GetEncoding"]["allowedValues"]); + goog.asserts.assert(encodings.length > 0); + var requestEncoding = encodings[0]; + var urls; + switch(requestEncoding) { + case ol.source.WMTSRequestEncoding.REST: + goog.asserts.assert(l["resourceUrls"].hasOwnProperty("tile")); + goog.asserts.assert(l["resourceUrls"]["tile"].hasOwnProperty(format)); + urls = l["resourceUrls"]["tile"][format]; + break; + case ol.source.WMTSRequestEncoding.KVP: + urls = []; + goog.array.forEach(gets, function(elt, index, array) { + if(elt["constraints"]["GetEncoding"]["allowedValues"].hasOwnProperty(ol.source.WMTSRequestEncoding.KVP)) { + urls.push(elt["url"]) + } + }); + goog.asserts.assert(urls.length > 0); + break; + default: + goog.asserts.assert(false) + } + return{urls:urls, layer:layer, matrixSet:matrixSet, format:format, projection:projection, requestEncoding:requestEncoding, tileGrid:tileGrid, style:style, dimensions:dimensions} +}; goog.provide("ol.sphere.WGS84"); goog.require("ol.Sphere"); ol.sphere.WGS84 = new ol.Sphere(6378137); @@ -19912,6 +20131,8 @@ goog.require("ol.source.TileJSON"); goog.require("ol.source.TileSource"); goog.require("ol.source.TileSourceOptions"); goog.require("ol.source.TiledWMS"); +goog.require("ol.source.WMTS"); +goog.require("ol.source.WMTSRequestEncoding"); goog.require("ol.source.XYZ"); goog.require("ol.source.XYZOptions"); goog.require("ol.source.wms"); @@ -19919,6 +20140,7 @@ goog.require("ol.sphere.NORMAL"); goog.require("ol.sphere.WGS84"); goog.require("ol.structs.LRUCache"); goog.require("ol.tilegrid.TileGrid"); +goog.require("ol.tilegrid.WMTS"); goog.require("ol.tilegrid.XYZ"); goog.require("ol.tilejson"); goog.require("ol.vec.Mat4"); @@ -19949,7 +20171,9 @@ goog.provide("ol.source.StamenOptionsType"); goog.provide("ol.source.StaticImageOptionsType"); goog.provide("ol.source.TileJSONOptionsType"); goog.provide("ol.source.TiledWMSOptionsType"); +goog.provide("ol.source.WMTSOptionsType"); goog.provide("ol.tilegrid.TileGridOptionsType"); +goog.provide("ol.tilegrid.WMTSOptionsType"); goog.provide("ol.tilegrid.XYZOptionsType"); ol.AnchoredElementOptions; ol.MapOptions; @@ -19976,6 +20200,8 @@ ol.source.StamenOptions; ol.source.StaticImageOptions; ol.source.TileJSONOptions; ol.source.TiledWMSOptions; +ol.source.WMTSOptions; ol.tilegrid.TileGridOptions; +ol.tilegrid.WMTSOptions; ol.tilegrid.XYZOptions; diff --git a/master/build/ol.js b/master/build/ol.js index 81437bf309..22cb5a1e2f 100644 --- a/master/build/ol.js +++ b/master/build/ol.js @@ -1,242 +1,250 @@ -(function(){var h=void 0,i=!0,k=null,l=!1;function aa(){return function(a){return a}}function n(a){return function(){return this[a]}}var p,w=this;function ba(){}function ca(a){a.cb=function(){return a.wc?a.wc:a.wc=new a}} +(function(){var h=void 0,j=!0,k=null,l=!1;function aa(){return function(a){return a}}function n(a){return function(){return this[a]}}var p,v=this;function ba(){}function ca(a){a.cb=function(){return a.zc?a.zc:a.zc=new a}} function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; -else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function y(a){return a!==h}function ea(a){return"array"==da(a)}function fa(a){var b=da(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ga(a){return"string"==typeof a}function ha(a){return"function"==da(a)}function ia(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function z(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0; +else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function z(a){return a!==h}function ea(a){return"array"==da(a)}function fa(a){var b=da(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ga(a){return"string"==typeof a}function ha(a){return"function"==da(a)}function ia(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function A(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0; function la(a,b,c){return a.call.apply(a.bind,arguments)}function ma(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(xa,">"));-1!=a.indexOf('"')&&(a=a.replace(ya,"""));return a}var ta=/&/g,wa=//g,ya=/\"/g,sa=/[&<>\"]/;var za=Array.prototype,Aa=za.indexOf?function(a,b,c){return za.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(ga(a))return!ga(b)||1!=b.length?-1:a.indexOf(b,c);for(;c=arguments.length?za.slice.call(a,b):za.slice.call(a,b,c)}function Ka(a){za.sort.call(a,La)} -function La(a,b){return a>b?1:a2*this.o&&$a(this),i):l};function $a(a){if(a.o!=a.a.length){for(var b=0,c=0;bparseFloat(ub)){tb=String(yb);break a}}tb=ub}var Ab={}; -function Bb(a){var b;if(!(b=Ab[a])){b=0;for(var c=String(tb).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f(0==q[1].length?0:parseInt(q[1],10))?1:0)||((0==s[2].length)<(0==q[2].length)?-1:(0==s[2].length)>(0==q[2].length)?1:0)||(s[2]q[2]?1:0)}while(0==b)}b=Ab[a]=0<=b}return b}var Cb={};function Db(a){return Cb[a]||(Cb[a]=E&&!!document.documentMode&&document.documentMode>=a)};var Eb,Fb=!E||Db(9);!ob&&!E||E&&Db(9)||ob&&Bb("1.9.1");E&&Bb("9");function Gb(a,b){var c;c=a.className;c=ga(c)&&c.match(/\S+/g)||[];for(var d=Ja(arguments,1),e=c.length+d.length,f=c,g=0;gc*b?c+b:c};function Jb(a,b){this.x=y(a)?a:0;this.y=y(b)?b:0}Jb.prototype.T=function(){return new Jb(this.x,this.y)};function Kb(a,b){this.width=a;this.height=b}p=Kb.prototype;p.T=function(){return new Kb(this.width,this.height)};p.Pa=function(){return!(this.width*this.height)};p.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};p.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};p.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Lb(a){return a?new Mb(Nb(a)):Eb||(Eb=new Mb)}function Ob(a,b){Ma(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in Pb?a.setAttribute(Pb[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}var Pb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; -function Qb(a){a=a.document.documentElement;return new Kb(a.clientWidth,a.clientHeight)}function Rb(a,b,c){var d=arguments,e=document,f=d[0],g=d[1];if(!Fb&&g&&(g.name||g.type)){f=["<",f];g.name&&f.push(' name="',ra(g.name),'"');if(g.type){f.push(' type="',ra(g.type),'"');var j={};Wa(j,g);delete j.type;g=j}f.push(">");f=f.join("")}f=e.createElement(f);g&&(ga(g)?f.className=g:ea(g)?Gb.apply(k,[f].concat(g)):Ob(f,g));2=a.keyCode)a.keyCode=-1}catch(b){}};p.jd=n("L");function oc(){}var pc=0;oc.prototype.key=0;oc.prototype.Ea=l;oc.prototype.a=l;oc.prototype.handleEvent=function(a){return this.b?this.Ra.call(this.Sb||this.src,a):this.Ra.handleEvent.call(this.Ra,a)};var qc={},rc={},sc={},tc={}; -function F(a,b,c,d,e){if(b){if(ea(b)){for(var f=0;f")&&(a=a.replace(wa,">"));-1!=a.indexOf('"')&&(a=a.replace(za,"""));return a}var ua=/&/g,va=//g,za=/\"/g,ta=/[&<>\"]/;var Aa=Array.prototype,Ba=Aa.indexOf?function(a,b,c){return Aa.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(ga(a))return!ga(b)||1!=b.length?-1:a.indexOf(b,c);for(;c=arguments.length?Aa.slice.call(a,b):Aa.slice.call(a,b,c)}function Ma(a){Aa.sort.call(a,Na)}function Na(a,b){return a>b?1:a2*this.o&&$a(this),j):l};function $a(a){if(a.o!=a.a.length){for(var b=0,c=0;bparseFloat(ub)){tb=String(yb);break a}}tb=ub}var Ab={}; +function Bb(a){var b;if(!(b=Ab[a])){b=0;for(var c=String(tb).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f(0==r[1].length?0:parseInt(r[1],10))?1:0)||((0==t[2].length)<(0==r[2].length)?-1:(0==t[2].length)>(0==r[2].length)?1:0)||(t[2]r[2]?1:0)}while(0==b)}b=Ab[a]=0<=b}return b}var Cb={};function Db(a){return Cb[a]||(Cb[a]=G&&!!document.documentMode&&document.documentMode>=a)};var Eb,Fb=!G||Db(9);!ob&&!G||G&&Db(9)||ob&&Bb("1.9.1");G&&Bb("9");function Gb(a,b){var c;c=a.className;c=ga(c)&&c.match(/\S+/g)||[];for(var d=La(arguments,1),e=c.length+d.length,f=c,g=0;gc*b?c+b:c};function Jb(a,b){this.x=z(a)?a:0;this.y=z(b)?b:0}Jb.prototype.T=function(){return new Jb(this.x,this.y)};function Kb(a,b){this.width=a;this.height=b}p=Kb.prototype;p.T=function(){return new Kb(this.width,this.height)};p.Pa=function(){return!(this.width*this.height)};p.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};p.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};p.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Lb(a){return a?new Mb(Nb(a)):Eb||(Eb=new Mb)}function Ob(a,b){Oa(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in Pb?a.setAttribute(Pb[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}var Pb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; +function Qb(a){a=a.document.documentElement;return new Kb(a.clientWidth,a.clientHeight)}function Rb(a,b,c){var d=arguments,e=document,f=d[0],g=d[1];if(!Fb&&g&&(g.name||g.type)){f=["<",f];g.name&&f.push(' name="',sa(g.name),'"');if(g.type){f.push(' type="',sa(g.type),'"');var i={};Wa(i,g);delete i.type;g=i}f.push(">");f=f.join("")}f=e.createElement(f);g&&(ga(g)?f.className=g:ea(g)?Gb.apply(k,[f].concat(g)):Ob(f,g));2=a.keyCode)a.keyCode=-1}catch(b){}};p.pd=n("L");function oc(){}var pc=0;oc.prototype.key=0;oc.prototype.Ea=l;oc.prototype.a=l;oc.prototype.handleEvent=function(a){return this.b?this.Ra.call(this.Ub||this.src,a):this.Ra.handleEvent.call(this.Ra,a)};var qc={},rc={},sc={},tc={}; +function H(a,b,c,d,e){if(b){if(ea(b)){for(var f=0;ff.keyCode||f.returnValue!=h)return i;a:{var r=l;if(0==f.keyCode)try{f.keyCode=-1;break a}catch(s){r=i}if(r||f.returnValue==h)f.returnValue=i}}r=new kc;lc(r,f,this);f=i;try{if(j){for(var q=[],v=r.c;v;v=v.parentNode)q.push(v);g=e[i];g.R=g.o;for(var u=q.length- -1;!r.sa&&0<=u&&g.R;u--)r.c=q[u],f&=yc(g,q[u],d,i,r);if(m){g=e[l];g.R=g.o;for(u=0;!r.sa&&u=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function Bc(a,b){var c=Nb(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function Cc(a,b){return a.currentStyle?a.currentStyle[b]:k}function Dc(a,b){return Bc(a,b)||Cc(a,b)||a.style&&a.style[b]}function Ec(a,b){var c,d,e=ob&&(gb||sb)&&Bb("1.9");b instanceof Jb?(c=b.x,d=b.y):(c=b,d=h);a.style.left=Fc(c,e);a.style.top=Fc(d,e)} -function Gc(a){var b=a.getBoundingClientRect();E&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b} -function Hc(a){if(E&&!Db(8))return a.offsetParent;for(var b=Nb(a),c=Dc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Dc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}function Ic(a,b){var c=Jc(a),d=Jc(b);return new Jb(c.x-d.x,c.y-d.y)} -function Jc(a){var b=new Jb;if(1==a.nodeType){if(a.getBoundingClientRect){var c=Gc(a);b.x=c.left;b.y=c.top}else{c=Yb(Lb(a));var d,e=Nb(a),f=Dc(a,"position"),g=ob&&e.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==f&&(d=e.getBoxObjectFor(a))&&(0>d.screenX||0>d.screenY),j=new Jb(0,0),m;d=e?Nb(e):document;if(m=E)if(m=!Db(9))Lb(d),m=l;m=m?d.body:d.documentElement;if(a!=m)if(a.getBoundingClientRect)d=Gc(a),e=Yb(Lb(e)),j.x=d.left+e.x,j.y=d.top+e.y;else if(e.getBoxObjectFor&&!g)d=e.getBoxObjectFor(a), -e=e.getBoxObjectFor(m),j.x=d.screenX-e.screenX,j.y=d.screenY-e.screenY;else{g=a;do{j.x+=g.offsetLeft;j.y+=g.offsetTop;g!=a&&(j.x+=g.clientLeft||0,j.y+=g.clientTop||0);if(pb&&"fixed"==Dc(g,"position")){j.x+=e.body.scrollLeft;j.y+=e.body.scrollTop;break}g=g.offsetParent}while(g&&g!=a);if(nb||pb&&"absolute"==f)j.y-=e.body.offsetTop;for(g=a;(g=Hc(g))&&g!=e.body&&g!=m;)if(j.x-=g.scrollLeft,!nb||"TR"!=g.tagName)j.y-=g.scrollTop}b.x=j.x-c.x;b.y=j.y-c.y}if(ob&&!Bb(12)){var r;E?r="-ms-transform":pb?r="-webkit-transform": -nb?r="-o-transform":ob&&(r="-moz-transform");var s;r&&(s=Dc(a,r));s||(s=Dc(a,"transform"));s?(a=s.match(Kc),a=!a?new Jb(0,0):new Jb(parseFloat(a[1]),parseFloat(a[2]))):a=new Jb(0,0);b=new Jb(b.x+a.x,b.y+a.y)}}else r=ha(a.jd),s=a,a.targetTouches?s=a.targetTouches[0]:r&&a.L.targetTouches&&(s=a.L.targetTouches[0]),b.x=s.clientX,b.y=s.clientY;return b}function Fc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a} -function Lc(a){var b=a.offsetWidth,c=a.offsetHeight,d=pb&&!b&&!c;return(!y(b)||d)&&a.getBoundingClientRect?(a=Gc(a),new Kb(a.right-a.left,a.bottom-a.top)):new Kb(b,c)}function Mc(a,b){a.style.display=b?"":"none"} -function Nc(a,b){Lb(Nb(a));if(E&&!Bb("8")){var c=a.style,d;if(E){d=Oc(a,Cc(a,"paddingLeft"));var e=Oc(a,Cc(a,"paddingRight")),f=Oc(a,Cc(a,"paddingTop")),g=Oc(a,Cc(a,"paddingBottom"));d=new Ac(f,e,g,d)}else d=Bc(a,"paddingLeft"),e=Bc(a,"paddingRight"),f=Bc(a,"paddingTop"),g=Bc(a,"paddingBottom"),d=new Ac(parseFloat(f),parseFloat(e),parseFloat(g),parseFloat(d));if(E)var e=Pc(a,"borderLeft"),f=Pc(a,"borderRight"),g=Pc(a,"borderTop"),j=Pc(a,"borderBottom"),e=new Ac(g,f,j,e);else e=Bc(a,"borderLeftWidth"), -f=Bc(a,"borderRightWidth"),g=Bc(a,"borderTopWidth"),j=Bc(a,"borderBottomWidth"),e=new Ac(parseFloat(g),parseFloat(f),parseFloat(j),parseFloat(e));c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c=a.style,ob?c.MozBoxSizing="border-box":pb?c.WebkitBoxSizing="border-box":c.boxSizing="border-box",c.width=Math.max(b.width,0)+"px",c.height=Math.max(b.height,0)+"px"} -function Oc(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var e=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return e}var Qc={thin:2,medium:4,thick:6};function Pc(a,b){if("none"==Cc(a,b+"Style"))return 0;var c=Cc(a,b+"Width");return c in Qc?Qc[c]:Oc(a,c)}var Kc=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function Rc(a,b){this.x=a;this.y=b}B(Rc,Jb);Rc.prototype.T=function(){return new Rc(this.x,this.y)};Rc.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};Rc.prototype.rotate=function(a){var b=Math.cos(a),a=Math.sin(a),c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};function K(a,b){Rc.call(this,a,b)}B(K,Rc);function Sc(a,b){var c=Ib(a+180,360)-180,d=Math.abs(Math.round(3600*c));return Math.floor(d/3600)+"\u00b0 "+Math.floor(d/60%60)+"\u2032 "+Math.floor(d%60)+"\u2033 "+b.charAt(0>c?1:0)};var Tc=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Uc(a,b,c){if(ea(b))for(var d=0;db)throw Error("Bad port number "+b);a.wb=b}else a.wb=k} -function Zc(a,b,c){Xc(a);if(b instanceof $c){a.a=b;b=a.a;if((a=a.pa)&&!b.b){fd(b);b.a=k;var d=b.F,c=function(a,b){var c=b.toLowerCase();b!=c&&(this.remove(b),gd(this,c,a))};if("function"==typeof d.forEach)d.forEach(c,b);else if(fa(d)||ga(d))D(d,c,b);else{var e;if("function"==typeof d.Z)e=d.Z();else if("function"!=typeof d.O)if(fa(d)||ga(d)){e=[];for(var f=d.length,g=0;g>4&15).toString(16)+(a&15).toString(16)}var bd=/[#\/\?@]/g,dd=/[\#\?:]/g,cd=/[\#\?]/g,hd=/[\#\?@]/g,ed=/#/g;function $c(a,b,c){this.a=a||k;this.b=!!c} -function fd(a){if(!a.F&&(a.F=new Ya,a.o=0,a.a))for(var b=a.a.split("&"),c=0;c=a||96<=a&&106>=a||65<=a&&90>=a||pb&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return l}} -function Dd(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function Ed(a,b){bc.call(this);a&&(this.mb&&Fd(this),this.Ka=a,this.lb=F(this.Ka,"keypress",this,b),this.Tb=F(this.Ka,"keydown",this.a,b,this),this.mb=F(this.Ka,"keyup",this.b,b,this))}B(Ed,nd);p=Ed.prototype;p.Ka=k;p.lb=k;p.Tb=k;p.mb=k;p.ja=-1;p.ia=-1;p.Fb=l; -var Gd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},Hd={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},Id=E||pb&&Bb("525"),Jd=gb&&ob; -Ed.prototype.a=function(a){if(pb&&(17==this.ja&&!a.gb||18==this.ja&&!a.ea))this.ia=this.ja=-1;Id&&!Bd(a.za,this.ja,a.qa,a.gb,a.ea)?this.handleEvent(a):(this.ia=ob?Dd(a.za):a.za,Jd&&(this.Fb=a.ea))};Ed.prototype.b=function(a){this.ia=this.ja=-1;this.Fb=a.ea}; -Ed.prototype.handleEvent=function(a){var b=a.L,c,d,e=b.altKey;E&&"keypress"==a.type?(c=this.ia,d=13!=c&&27!=c?b.keyCode:0):pb&&"keypress"==a.type?(c=this.ia,d=0<=b.charCode&&63232>b.charCode&&Cd(c)?b.charCode:0):nb?(c=this.ia,d=Cd(c)?b.keyCode:0):(c=b.keyCode||this.ia,d=b.charCode||0,Jd&&(e=this.Fb),gb&&(63==d&&224==c)&&(c=191));var f=c,g=b.keyIdentifier;c?63232<=c&&c in Gd?f=Gd[c]:25==c&&a.qa&&(f=9):g&&g in Hd&&(f=Hd[g]);a=f==this.ja;this.ja=f;b=new Kd(f,d,a,b);b.ea=e;J(this,b)}; -function Fd(a){a.lb&&(H(a.lb),H(a.Tb),H(a.mb),a.lb=k,a.Tb=k,a.mb=k);a.Ka=k;a.ja=-1;a.ia=-1}Ed.prototype.s=function(){Ed.w.s.call(this);Fd(this)};function Kd(a,b,c,d){d&&lc(this,d,h);this.type="key";this.za=a;this.fb=b;this.b=c}B(Kd,kc);function Ld(a){bc.call(this);this.a=a;a=ia(this.a)&&1==this.a.nodeType?this.a:this.a?this.a.body:k;this.e=!!a&&"rtl"==Dc(a,"direction");this.b=F(this.a,ob?"DOMMouseScroll":"mousewheel",this)}B(Ld,nd); -Ld.prototype.handleEvent=function(a){var b=0,c=0,d=0,a=a.L;if("mousewheel"==a.type){c=1;if(E||pb&&(hb||Bb("532.0")))c=40;d=Md(-a.wheelDelta,c);y(a.wheelDeltaX)?(b=Md(-a.wheelDeltaX,c),c=Md(-a.wheelDeltaY,c)):c=d}else d=a.detail,100d&&(d=-3),y(a.axis)&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;"number"==typeof this.c&&(b=Hb(b,-this.c,this.c));"number"==typeof this.d&&(c=Hb(c,-this.d,this.d));this.e&&(b=-b);b=new Nd(d,a,b,c);J(this,b)};function Md(a,b){return pb&&(gb||ib)&&0!=a%b?a:a/b} -Ld.prototype.s=function(){Ld.w.s.call(this);H(this.b);delete this.b};function Nd(a,b,c,d){b&&lc(this,b,h);this.type="mousewheel";this.e=a;this.d=c;this.b=d}B(Nd,kc);var Od=document&&"ontouchstart"in document.documentElement||!!window.navigator.msPointerEnabled;function M(a){bc.call(this);this.t={};y(a)&&this.sb(a)}B(M,nd);var Pd={},Qd={},Rd={};function Sd(a){return a.substr(0,1).toUpperCase()+a.substr(1)}function Td(a){return a.ol_accessors_||(a.ol_accessors_={})}function Ud(a){return Pd.hasOwnProperty(a)?Pd[a]:Pd[a]=a.toLowerCase()+"_changed"}function Vd(a){return a.ol_bindings_||(a.ol_bindings_={})}p=M.prototype; -p.Yc=function(a,b,c,d){c=c||a;this.$b(a);var e=Ud(c);Vd(this)[a]=F(b,e,function(){Wd(this,a)},h,this);Td(this)[a]={target:b,key:c};d||Wd(this,a)};p.ad=ba;p.q=function(a){var b,c=Td(this);c.hasOwnProperty(a)?(b=c[a],a=b.target,b=b.key,c=Qd.hasOwnProperty(b)?Qd[b]:Qd[b]="get"+Sd(b),b=a[c]?a[c]():a.q(b)):this.t.hasOwnProperty(a)&&(b=this.t[a]);return b}; -p.Z=function(){for(var a=Oa(Td(this)).concat(Oa(this.t)),b={},c=0,d=0;d=b.i&&a.j<=b.k&&a.k>=b.j}ae.prototype.toString=function(){return"("+[this.i,this.j,this.l,this.k].join(", ")+")"};function ce(a,b,c,d){ae.call(this,a,b,c,d)}B(ce,ae);function de(a){var b=arguments[0],b=new ce(b.x,b.y,b.x,b.y),c;for(c=1;c>=1;return b.join("")}se.prototype.toString=function(){return[this.n,this.x,this.y].join("/")};function ue(a,b,c,d){this.i=a;this.j=b;this.l=c;this.k=d}B(ue,ae);ue.prototype.contains=function(a){return this.i<=a.x&&a.x<=this.l&&this.j<=a.y&&a.y<=this.k};ue.prototype.ca=function(){return this.k-this.j+1};ue.prototype.ha=function(){return this.l-this.i+1};function ve(a,b){this.b=a;this.a=b||k};function we(a,b){bc.call(this);this.X=a;this.a=b}B(we,nd);we.prototype.b=function(){return z(this).toString()};function xe(a){this.d=a;this.f=8;this.c=0;this.a=[];this.b={}}function ye(a,b,c,d){if(0==b.a){var e=b.b();if(!(e in a.b)){var f=a.d(b,c,d);Infinity!=f&&(a.a.push([f,b,c,d]),a.b[e]=i,ze(a,0,a.a.length-1))}}}xe.prototype.e=function(){--this.c};function Ae(a,b){for(var c=a.a,d=c.length,e=c[b],f=b;b>1;){var g=2*b+1,j=2*b+2,g=jb;){var e=c-1>>1;if(a[e][0]>d[0])a[c]=a[e],c=e;else break}a[c]=d};/* +function uc(a,b){if(!qc[a])return j;var c=qc[a],d=c.type,e=rc;if(!(d in e))return j;var e=e[d],f,g;if(!$b){var i;if(!(i=b))a:{i=["window","event"];for(var m=v;f=i.shift();)if(m[f]!=k)m=m[f];else{i=k;break a}i=m}f=i;i=j in e;m=l in e;if(i){if(0>f.keyCode||f.returnValue!=h)return j;a:{var q=l;if(0==f.keyCode)try{f.keyCode=-1;break a}catch(t){q=j}if(q||f.returnValue==h)f.returnValue=j}}q=new kc;lc(q,f,this);f=j;try{if(i){for(var r=[],y=q.c;y;y=y.parentNode)r.push(y);g=e[j];g.R=g.o;for(var w=r.length- +1;!q.sa&&0<=w&&g.R;w--)q.c=r[w],f&=yc(g,r[w],d,j,q);if(m){g=e[l];g.R=g.o;for(w=0;!q.sa&&w=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function Bc(a,b){var c=Nb(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function Cc(a,b){return a.currentStyle?a.currentStyle[b]:k}function Dc(a,b){return Bc(a,b)||Cc(a,b)||a.style&&a.style[b]}function Ec(a,b){var c,d,e=ob&&(gb||sb)&&Bb("1.9");b instanceof Jb?(c=b.x,d=b.y):(c=b,d=h);a.style.left=Fc(c,e);a.style.top=Fc(d,e)} +function Gc(a){var b=a.getBoundingClientRect();G&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b} +function Hc(a){if(G&&!Db(8))return a.offsetParent;for(var b=Nb(a),c=Dc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Dc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}function Ic(a,b){var c=Jc(a),d=Jc(b);return new Jb(c.x-d.x,c.y-d.y)} +function Jc(a){var b=new Jb;if(1==a.nodeType){if(a.getBoundingClientRect){var c=Gc(a);b.x=c.left;b.y=c.top}else{c=Yb(Lb(a));var d,e=Nb(a),f=Dc(a,"position"),g=ob&&e.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==f&&(d=e.getBoxObjectFor(a))&&(0>d.screenX||0>d.screenY),i=new Jb(0,0),m;d=e?Nb(e):document;if(m=G)if(m=!Db(9))Lb(d),m=l;m=m?d.body:d.documentElement;if(a!=m)if(a.getBoundingClientRect)d=Gc(a),e=Yb(Lb(e)),i.x=d.left+e.x,i.y=d.top+e.y;else if(e.getBoxObjectFor&&!g)d=e.getBoxObjectFor(a), +e=e.getBoxObjectFor(m),i.x=d.screenX-e.screenX,i.y=d.screenY-e.screenY;else{g=a;do{i.x+=g.offsetLeft;i.y+=g.offsetTop;g!=a&&(i.x+=g.clientLeft||0,i.y+=g.clientTop||0);if(pb&&"fixed"==Dc(g,"position")){i.x+=e.body.scrollLeft;i.y+=e.body.scrollTop;break}g=g.offsetParent}while(g&&g!=a);if(nb||pb&&"absolute"==f)i.y-=e.body.offsetTop;for(g=a;(g=Hc(g))&&g!=e.body&&g!=m;)if(i.x-=g.scrollLeft,!nb||"TR"!=g.tagName)i.y-=g.scrollTop}b.x=i.x-c.x;b.y=i.y-c.y}if(ob&&!Bb(12)){var q;G?q="-ms-transform":pb?q="-webkit-transform": +nb?q="-o-transform":ob&&(q="-moz-transform");var t;q&&(t=Dc(a,q));t||(t=Dc(a,"transform"));t?(a=t.match(Kc),a=!a?new Jb(0,0):new Jb(parseFloat(a[1]),parseFloat(a[2]))):a=new Jb(0,0);b=new Jb(b.x+a.x,b.y+a.y)}}else q=ha(a.pd),t=a,a.targetTouches?t=a.targetTouches[0]:q&&a.L.targetTouches&&(t=a.L.targetTouches[0]),b.x=t.clientX,b.y=t.clientY;return b}function Fc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a} +function Lc(a){var b=a.offsetWidth,c=a.offsetHeight,d=pb&&!b&&!c;return(!z(b)||d)&&a.getBoundingClientRect?(a=Gc(a),new Kb(a.right-a.left,a.bottom-a.top)):new Kb(b,c)}function Mc(a,b){a.style.display=b?"":"none"} +function Nc(a,b){Lb(Nb(a));if(G&&!Bb("8")){var c=a.style,d;if(G){d=Oc(a,Cc(a,"paddingLeft"));var e=Oc(a,Cc(a,"paddingRight")),f=Oc(a,Cc(a,"paddingTop")),g=Oc(a,Cc(a,"paddingBottom"));d=new Ac(f,e,g,d)}else d=Bc(a,"paddingLeft"),e=Bc(a,"paddingRight"),f=Bc(a,"paddingTop"),g=Bc(a,"paddingBottom"),d=new Ac(parseFloat(f),parseFloat(e),parseFloat(g),parseFloat(d));if(G)var e=Pc(a,"borderLeft"),f=Pc(a,"borderRight"),g=Pc(a,"borderTop"),i=Pc(a,"borderBottom"),e=new Ac(g,f,i,e);else e=Bc(a,"borderLeftWidth"), +f=Bc(a,"borderRightWidth"),g=Bc(a,"borderTopWidth"),i=Bc(a,"borderBottomWidth"),e=new Ac(parseFloat(g),parseFloat(f),parseFloat(i),parseFloat(e));c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c=a.style,ob?c.MozBoxSizing="border-box":pb?c.WebkitBoxSizing="border-box":c.boxSizing="border-box",c.width=Math.max(b.width,0)+"px",c.height=Math.max(b.height,0)+"px"} +function Oc(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var e=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return e}var Qc={thin:2,medium:4,thick:6};function Pc(a,b){if("none"==Cc(a,b+"Style"))return 0;var c=Cc(a,b+"Width");return c in Qc?Qc[c]:Oc(a,c)}var Kc=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function Rc(a,b){this.x=a;this.y=b}D(Rc,Jb);Rc.prototype.T=function(){return new Rc(this.x,this.y)};Rc.prototype.rotate=function(a){var b=Math.cos(a),a=Math.sin(a),c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};function L(a,b){Rc.call(this,a,b)}D(L,Rc);function Sc(a,b){var c=Ib(a+180,360)-180,d=Math.abs(Math.round(3600*c));return Math.floor(d/3600)+"\u00b0 "+Math.floor(d/60%60)+"\u2032 "+Math.floor(d%60)+"\u2033 "+b.charAt(0>c?1:0)}function Tc(a,b){if(z(a)){var c=b||0;return a.x.toFixed(c)+", "+a.y.toFixed(c)}return""}function Uc(a,b){var c=b.charAt(0);return"n"===c||"s"===c?new L(a[1],a[0]):new L(a[0],a[1])};var Vc=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function Wc(a){if(a[1]){var b=a[0],c=b.indexOf("#");0<=c&&(a.push(b.substr(c)),a[0]=b=b.substr(0,c));c=b.indexOf("?");0>c?a[1]="?":c==b.length-1&&(a[1]=h)}return a.join("")}function Xc(a,b,c){if(ea(b))for(var d=0;db)throw Error("Bad port number "+b);a.yb=b}else a.yb=k} +function cd(a,b,c){ad(a);if(b instanceof dd){a.a=b;b=a.a;if((a=a.pa)&&!b.b){jd(b);b.a=k;var d=b.F,c=function(a,b){var c=b.toLowerCase();b!=c&&(this.remove(b),kd(this,c,a))};if("function"==typeof d.forEach)d.forEach(c,b);else if(fa(d)||ga(d))F(d,c,b);else{var e;if("function"==typeof d.Z)e=d.Z();else if("function"!=typeof d.O)if(fa(d)||ga(d)){e=[];for(var f=d.length,g=0;g>4&15).toString(16)+(a&15).toString(16)}var fd=/[#\/\?@]/g,hd=/[\#\?:]/g,gd=/[\#\?]/g,ld=/[\#\?@]/g,id=/#/g;function dd(a,b,c){this.a=a||k;this.b=!!c} +function jd(a){if(!a.F&&(a.F=new Ya,a.o=0,a.a))for(var b=a.a.split("&"),c=0;c=a||96<=a&&106>=a||65<=a&&90>=a||pb&&0==a)return j;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return j;default:return l}} +function Hd(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function Id(a,b){bc.call(this);a&&(this.ob&&Jd(this),this.Ka=a,this.nb=H(this.Ka,"keypress",this,b),this.Vb=H(this.Ka,"keydown",this.a,b,this),this.ob=H(this.Ka,"keyup",this.b,b,this))}D(Id,rd);p=Id.prototype;p.Ka=k;p.nb=k;p.Vb=k;p.ob=k;p.ja=-1;p.ia=-1;p.Hb=l; +var Kd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},Ld={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},Md=G||pb&&Bb("525"),Nd=gb&&ob; +Id.prototype.a=function(a){if(pb&&(17==this.ja&&!a.ib||18==this.ja&&!a.fa))this.ia=this.ja=-1;Md&&!Fd(a.za,this.ja,a.qa,a.ib,a.fa)?this.handleEvent(a):(this.ia=ob?Hd(a.za):a.za,Nd&&(this.Hb=a.fa))};Id.prototype.b=function(a){this.ia=this.ja=-1;this.Hb=a.fa}; +Id.prototype.handleEvent=function(a){var b=a.L,c,d,e=b.altKey;G&&"keypress"==a.type?(c=this.ia,d=13!=c&&27!=c?b.keyCode:0):pb&&"keypress"==a.type?(c=this.ia,d=0<=b.charCode&&63232>b.charCode&&Gd(c)?b.charCode:0):nb?(c=this.ia,d=Gd(c)?b.keyCode:0):(c=b.keyCode||this.ia,d=b.charCode||0,Nd&&(e=this.Hb),gb&&(63==d&&224==c)&&(c=191));var f=c,g=b.keyIdentifier;c?63232<=c&&c in Kd?f=Kd[c]:25==c&&a.qa&&(f=9):g&&g in Ld&&(f=Ld[g]);a=f==this.ja;this.ja=f;b=new Od(f,d,a,b);b.fa=e;K(this,b)}; +function Jd(a){a.nb&&(J(a.nb),J(a.Vb),J(a.ob),a.nb=k,a.Vb=k,a.ob=k);a.Ka=k;a.ja=-1;a.ia=-1}Id.prototype.s=function(){Id.w.s.call(this);Jd(this)};function Od(a,b,c,d){d&&lc(this,d,h);this.type="key";this.za=a;this.hb=b;this.b=c}D(Od,kc);function Pd(a){bc.call(this);this.a=a;a=ia(this.a)&&1==this.a.nodeType?this.a:this.a?this.a.body:k;this.e=!!a&&"rtl"==Dc(a,"direction");this.b=H(this.a,ob?"DOMMouseScroll":"mousewheel",this)}D(Pd,rd); +Pd.prototype.handleEvent=function(a){var b=0,c=0,d=0,a=a.L;if("mousewheel"==a.type){c=1;if(G||pb&&(hb||Bb("532.0")))c=40;d=Qd(-a.wheelDelta,c);z(a.wheelDeltaX)?(b=Qd(-a.wheelDeltaX,c),c=Qd(-a.wheelDeltaY,c)):c=d}else d=a.detail,100d&&(d=-3),z(a.axis)&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;"number"==typeof this.c&&(b=Hb(b,-this.c,this.c));"number"==typeof this.d&&(c=Hb(c,-this.d,this.d));this.e&&(b=-b);b=new Rd(d,a,b,c);K(this,b)};function Qd(a,b){return pb&&(gb||ib)&&0!=a%b?a:a/b} +Pd.prototype.s=function(){Pd.w.s.call(this);J(this.b);delete this.b};function Rd(a,b,c,d){b&&lc(this,b,h);this.type="mousewheel";this.e=a;this.d=c;this.b=d}D(Rd,kc);var Sd=document&&"ontouchstart"in document.documentElement||!!window.navigator.msPointerEnabled;function M(a){bc.call(this);this.t={};z(a)&&this.ub(a)}D(M,rd);var Td={},Ud={},Vd={};function Wd(a){return a.substr(0,1).toUpperCase()+a.substr(1)}function Xd(a){return a.ol_accessors_||(a.ol_accessors_={})}function Yd(a){return Td.hasOwnProperty(a)?Td[a]:Td[a]=a.toLowerCase()+"_changed"}function Zd(a){return a.ol_bindings_||(a.ol_bindings_={})}p=M.prototype; +p.ad=function(a,b,c,d){c=c||a;this.bc(a);var e=Yd(c);Zd(this)[a]=H(b,e,function(){$d(this,a)},h,this);Xd(this)[a]={target:b,key:c};d||$d(this,a)};p.dd=ba;p.q=function(a){var b,c=Xd(this);c.hasOwnProperty(a)?(b=c[a],a=b.target,b=b.key,c=Ud.hasOwnProperty(b)?Ud[b]:Ud[b]="get"+Wd(b),b=a[c]?a[c]():a.q(b)):this.t.hasOwnProperty(a)&&(b=this.t[a]);return b}; +p.Z=function(){for(var a=Qa(Xd(this)).concat(Qa(this.t)),b={},c=0,d=0;d=b.h&&a.k<=b.l&&a.l>=b.k}ee.prototype.toString=function(){return"("+[this.h,this.k,this.j,this.l].join(", ")+")"};function P(a,b,c,d){ee.call(this,a,b,c,d)}D(P,ee);function ge(a){var b=arguments[0],b=new P(b.x,b.y,b.x,b.y),c;for(c=1;cf;++f)g=e[f],i=c[f],e[f]=a.x+g*b-i*d,c[f]=a.y+g*d+i*b;a=Math.min.apply(k,e);b=Math.min.apply(k,c);e=Math.max.apply(k,e);c=Math.max.apply(k,c);return new P(a,b,e,c)}p=P.prototype;p.ed=function(a){return this.h<=a.x&&a.x<=this.j&&this.k<=a.y&&a.y<=this.l};p.lc=function(a){return this.h<=a.h&&a.j<=this.j&&this.k<=a.k&&a.l<=this.l};p.nd=function(){return new L(this.h,this.k)}; +p.od=function(){return new L(this.j,this.k)};p.gb=function(){return new L(this.h,this.l)};p.sd=function(){return new L(this.j,this.l)};p.transform=function(a){var b=[this.h,this.k,this.j,this.l],b=a(b,b,2);return new P(Math.min(b[0],b[2]),Math.min(b[1],b[3]),Math.max(b[0],b[2]),Math.max(b[1],b[3]))};function ie(a){this.length=a.length||a;for(var b=0;b>=1;return b.join("")}ve.prototype.toString=function(){return[this.n,this.x,this.y].join("/")};function xe(a,b,c,d){this.h=a;this.k=b;this.j=c;this.l=d}D(xe,ee);xe.prototype.contains=function(a){return this.h<=a.x&&a.x<=this.j&&this.k<=a.y&&a.y<=this.l};xe.prototype.da=function(){return this.l-this.k+1};xe.prototype.ha=function(){return this.j-this.h+1};function ye(a,b){this.b=a;this.a=b||k};function ze(a,b){bc.call(this);this.X=a;this.a=b}D(ze,rd);ze.prototype.b=function(){return A(this).toString()};function Ae(a){this.d=a;this.f=8;this.c=0;this.a=[];this.b={}}function Be(a,b,c,d){if(0==b.a){var e=b.b();if(!(e in a.b)){var f=a.d(b,c,d);Infinity!=f&&(a.a.push([f,b,c,d]),a.b[e]=j,Ce(a,0,a.a.length-1))}}}Ae.prototype.e=function(){--this.c};function De(a,b){for(var c=a.a,d=c.length,e=c[b],f=b;b>1;){var g=2*b+1,i=2*b+2,g=ib;){var e=c-1>>1;if(a[e][0]>d[0])a[c]=a[e],c=e;else break}a[c]=d};/* Latitude/longitude spherical geodesy formulae taken from http://www.movable-type.co.uk/scripts/latlong.html Licenced under CC-BY-3.0. */ -function Be(a,b){var c=a.y*Math.PI/180,d=b.y*Math.PI/180,e=(d-c)/2,f=(b.x-a.x)*Math.PI/180/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*Ce.a*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};var Ce=new function(){this.a=6370997};var De="object"==typeof Proj4js,Ee={Rc:"degrees",He:"ft",Le:"m"},Fe={};Fe.degrees=2*Math.PI*Ce.a/360;Fe.ft=0.3048;Fe.m=1;function O(a){this.a=a.code;this.b=a.units;this.g=a.extent;this.d=y(a.axisOrientation)?a.axisOrientation:"enu";this.sc=y(a.global)?a.global:l;this.f=k}p=O.prototype;p.kd=n("a");p.I=n("g");p.nd=n("b");p.ld=function(){return Fe[this.b]};p.hd=n("d");p.Ud=n("sc");function Ge(a,b){var c={units:a.units,axisOrientation:a.axis};Wa(c,b);O.call(this,c);this.Fc=a;this.e=k}B(Ge,O); -Ge.prototype.c=function(a,b){if("degrees"==this.b)return a;this.e===k&&(this.e=He(this,Ie({code:"EPSG:4326",extent:k})));var c=[b.x-a/2,b.y,b.x+a/2,b.y,b.x,b.y-a/2,b.x,b.y+a/2],c=this.e(c,c,2),c=(Be(new K(c[0],c[1]),new K(c[2],c[3]))+Be(new K(c[4],c[5]),new K(c[6],c[7])))/2;"ft"==this.b&&(c/=0.3048);return c};var Je={},Ke={},Le={};function Me(a){D(a,function(a){Ne(a)});D(a,function(b){D(a,function(a){b!==a&&Oe(b,a,Pe)})})}function Ne(a){Ke[a.a]=a;Oe(a,a,Pe)} -function Qe(a){return a!=k?ga(a)?Re(a):a:Re("EPSG:3857")}function Oe(a,b,c){a=a.a;b=b.a;a in Le||(Le[a]={});Le[a][b]=c}function Re(a){var b;a instanceof O?b=a:ga(a)?(b=Ke[a],De&&!y(b)&&(b=Ie({code:a,extent:k})),y(b)||(b=k)):b=k;return b}function Ie(a){var b=a.code,c=Je[b];if(!y(c)){var d=new Proj4js.Proj(b),e=d.srsCode,c=Je[e];y(c)||(a=Ua(a),a.code=e,c=new Ge(d,a),Je[e]=c);Je[b]=c}return c}function Se(a,b){var c=Re(a),d=Re(b);return He(c,d)} -function He(a,b){var c=a.a,d=b.a,e;c in Le&&d in Le[c]&&(e=Le[c][d]);if(De&&!y(e)){var f;f=(a instanceof Ge?a:Ie({code:c,extent:k})).Fc;var g;g=(b instanceof Ge?b:Ie({code:d,extent:k})).Fc;e=function(a,b,c){var d=a.length,c=1=Math.abs(a+c)?0:a+c}};var Q={Gb:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a},dd:function(a){return a*a*a},Ia:function(a){return 1-Math.pow(1-a,3)},ed:function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1},Aa:function(a){return 3*a*a-2*a*a*a},xc:aa(),Oc:function(a){return 0.5>a?Q.Aa(2*a):1-Q.Aa(2*(a-0.5))}};var pf={Gb:function(a){var b=a.resolution,c=y(a.start)?a.start:pa(),d=y(a.duration)?a.duration:1E3,e=y(a.easing)?a.easing:Q.Oc;return function(a,g){if(g.timeb-a.f;)d--;if(0<=d){var b=a.a[d],c=a.a[c],d=c.x-b.x,e=c.y-b.y;a.c=Math.atan2(e,d);a.b=Math.sqrt(d*d+e*e)/(c.Ua-b.Ua);return a.b>a.d}return l}zf.prototype.aa=function(a){var b=this.e,c=this.b,d=this.d,e=Math.log(this.d/this.b)/this.e;return pf.aa({source:a,duration:e,easing:function(a){return c*(Math.exp(b*a*e)-1)/(d-c)}})};function Bf(){};function Cf(a){this.a=a}B(Cf,Bf);Cf.prototype.ra=function(a){var b=a.a;if(a.type==af&&(Od||nc(a.a))){var c=a.map,d=a.b(),e=a.a.qa?-this.a:this.a;uf(c.a(),c,e,d,250);a.D();b.D()}};function Df(a){return a.ea&&!a.vb&&a.qa}function Ef(a){return!a.ea&&!a.vb&&!a.qa}function Ff(a){return!a.ea&&!a.vb&&a.qa};function Gf(){this.e=l;this.r=this.Qa=this.h=this.g=0;this.Ta=this.f=k}B(Gf,Bf);p=Gf.prototype;p.Mb=ba;p.ib=ba;p.jb=pd;p.vc=ba;p.ra=function(a){var b=a.map;if(b.Oa()){var b=b.a(),c=a.a;a.type==df&&this.vc(a);this.e?a.type==ff?(this.d=c.clientX-this.g,this.b=c.clientY-this.h,this.Mb(a)):a.type==cf&&(this.d=c.clientX-this.g,this.b=c.clientY-this.h,this.ib(a),this.e=l):a.type==ef&&(this.g=c.clientX,this.h=c.clientY,this.b=this.d=0,this.f=b.N(),this.Ta=a.b(),this.jb(a)&&(this.e=i,a.D()))}};function Hf(a,b){Gf.call(this);this.t=a;this.a=b;this.c=k}B(Hf,Gf);Hf.prototype.Mb=function(a){this.a&&this.a.a.push({x:a.a.clientX,y:a.a.clientY,Ua:pa()});var a=a.map,b=a.a(),c=b.Q(),d=b.V(),c=new K(-c*this.d,c*this.b);c.rotate(d);d=new K(this.f.x+c.x,this.f.y+c.y);qf(a);b.a(d)}; -Hf.prototype.ib=function(a){var b=a.map,a=b.a();mf(a,-1);if(this.a&&Af(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.N();this.c=this.a.aa(e);b.ga(this.c);e=If(b,e);b=Ye(b,new We(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}};Hf.prototype.jb=function(a){var b=a.a;if(this.t(b)){if(this.a){var c=this.a;c.a.length=0;c.c=0;c.b=0;this.a.a.push({x:b.clientX,y:b.clientY,Ua:pa()})}a=a.map;qf(a);mf(a.a(),1);return i}return l}; -Hf.prototype.vc=function(a){var b=a.map,c=b.a();this.c!==k&&Ea(b.h,this.c)&&(qf(b),c.a(a.d.v.center),this.c=k)};function Jf(a){Gf.call(this);this.c=a}B(Jf,Gf);Jf.prototype.Mb=function(a){var b=a.map,c=b.f(),a=Ze(a),c=Math.atan2(c.height/2-a.y,a.x-c.width/2);if(y(this.a)){var a=c-this.a,d=b.a();qf(b);rf(d,b,d.V()-a)}this.a=c};Jf.prototype.ib=function(a){var a=a.map,b=a.a();b.rotate(a,b.V(),h,250);mf(b,-1)};Jf.prototype.jb=function(a){var b=a.a;return nc(b)&&this.c(b)?(a=a.map,b=a.a(),qf(a),this.a=h,mf(b,1),i):l};function Kf(a){var b=Rb("DIV","ol-dragbox");this.c=k;this.e=a.Ta;this.d=k;vf.call(this,{element:b,map:a.map})}B(Kf,vf);Kf.prototype.a=function(a){this.d!==k&&(H(this.d),this.d=k);a!==k&&(this.c=If(a,this.e),Ec(this.element,this.c),Nc(this.element,new $d(0,0)),this.d=F(a,ff,this.f,l,this));Kf.w.a.call(this,a)};Kf.prototype.f=function(a){var b=this.b,a=a.b(),b=If(b,a);Ec(this.element,new We(Math.min(b.x,this.c.x),Math.min(b.y,this.c.y)));Nc(this.element,new $d(Math.abs(b.x-this.c.x),Math.abs(b.y-this.c.y)))};function Lf(a){Gf.call(this);this.c=a;this.a=k}B(Lf,Gf);Lf.prototype.ib=function(a){this.a.a(k);this.a=k;if(64<=this.d*this.d+this.b*this.b){var b=a.map,c=de(this.Ta,a.b());sf(b,function(){var a=b.a(),e=b.f();a.f(c,e);a.d(0)})}};Lf.prototype.jb=function(a){var b=a.a;return nc(b)&&this.c(b)?(this.a=new Kf({map:a.map,Ta:this.Ta}),i):l};function Mf(a){a=y(a)?a:{};this.a=y(a.delta)?a.delta:128}B(Mf,Bf);Mf.prototype.ra=function(a){if("key"==a.type){var b=a.a,c=b.za;if(40==c||37==c||39==c||38==c){var d=a.map,e=d.a(),f=e.Q(),g=e.V(),f=f*this.a,j=0,m=0;40==c?m=-f:37==c?j=-f:39==c?j=f:m=f;c=new K(j,m);c.rotate(g);e.aa(d,c,100);b.D();a.D()}}};function Nf(a){a=y(a)?a:{};this.a=y(a.delta)?a.delta:1}B(Nf,Bf);Nf.prototype.ra=function(a){if("key"==a.type){var b=a.a,c=b.fb;if(43==c||45==c){var d=a.map,c=43==c?this.a:-this.a;qf(d);uf(d.a(),d,c,h,100);b.D();a.D()}}};function Of(){this.a=0;this.c=k;this.d=this.b=h}B(Of,Bf);Of.prototype.ra=function(a){if("mousewheel"==a.type){var b=a.map,c=a.a;this.c=a.b();this.a+=c.b/3;y(this.b)||(this.b=pa());var d=Math.max(80-(pa()-this.b),0);w.clearTimeout(this.d);this.d=w.setTimeout(na(this.e,this,b),d);a.D();c.D()}};Of.prototype.e=function(a){var b=Hb(this.a,-1,1),c=a.a();qf(a);uf(c,a,-b,this.c,250);this.a=0;this.c=k;this.d=this.b=h};function Pf(){this.g=l;this.h={};this.targetTouches=[]}B(Pf,Bf);function Qf(a){for(var b=a.length,c=0,d=0,e=0;ethis.t&&(this.a=i));this.c=c;var a=a.map,c=a.a(),d=Jc(a.b),e=Qf(this.targetTouches);e.x-=d.x;e.y-=d.y;d=Ye(a,e);this.a&&rf(c,a,c.V()+b,d)}; -Sf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a();this.a&&b.rotate(a,b.V(),h,250);mf(b,-1);return l}return i};Sf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.c=h,this.a=l,this.b=0,mf(a,1),i):l};function Tf(){Pf.call(this)}B(Tf,Pf);Tf.prototype.e=function(a){var b=1,c=this.targetTouches[0],d=this.targetTouches[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);y(this.a)&&(b=this.a/e);this.a=e;a=a.map;e=a.a();c=Jc(a.b);d=Qf(this.targetTouches);d.x-=c.x;d.y-=c.y;c=Ye(a,d);tf(e,a,e.Q()*b,c)};Tf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a();b.zoom(a,b.Q(),h,250);mf(b,-1);return l}return i}; -Tf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.a=h,mf(a,1),i):l};function Uf(a,b){var c=y(a)?a:{},d=new N;(y(c.rotate)?c.rotate:1)&&d.push(new Jf(Df));if(y(c.$d)?c.$d:1)d.push(new Cf(y(c.ue)?c.ue:1));(y(c.ee)?c.ee:1)&&d.push(new Rf(new zf(-0.005,0.05,100)));(y(c.fe)?c.fe:1)&&d.push(new Sf);(y(c.ge)?c.ge:1)&&d.push(new Tf);(y(c.ae)?c.ae:1)&&d.push(new Hf(Ef,new zf(-0.005,0.05,100)));if(y(c.be)?c.be:1)d.push(new Mf),d.push(new Nf);(y(c.ce)?c.ce:1)&&d.push(new Of);(y(c.de)?c.de:1)&&d.push(new Lf(Ff));if(y(b))for(c=0;cc?a[1]="?":c==f.length-1&&(a[1]=h));return a.join("")} -;function Cg(a,b){return function(c,d,e){return Bg(a,b,c,d,e)}}function Dg(){};function Eg(a){Ue.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.Na=y(a.Na)?a.Na:Dg;this.d=y(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=y(a.resolutions)?a.resolutions:k}B(Eg,Ue);function Fg(a,b,c,d,e){var f=k,d=a.Na(b,d,e);y(d)&&(f=new bg(b,c,d,a.d,a.oa()));return f};function Gg(a){P.call(this,a)}B(Gg,P);function Hg(a){P.call(this,a)}B(Hg,P);function Ig(a,b){og.call(this,a,b)}B(Ig,og);function Jg(a,b){og.call(this,a,b);this.b=k;this.c=he()}B(Jg,Ig);Jg.prototype.J=function(){return this.b===k?k:cg(this.b,this)};Jg.prototype.ma=n("c"); -Jg.prototype.ka=function(a){var b=a.v,c=b.center,d=b.resolution,e=b.rotation,f=this.a.$(),g=a.C;!g[0]&&!g[1]&&(b=f.J(a.extent,d,b.projection),b!==k&&(f=b.a,0==f?(vc(b,"change",this.Nb,l,this),dg(b)):2==f&&(this.b=b)));if(this.b!==k){var b=this.b,f=b.I(),g=b.e,j=this.c;le(j);pe(j,a.size.width/2,a.size.height/2);re(j,e);qe(j,g/d,g/d);pe(j,(f.i-c.x)/g,(c.y-f.k)/g);sg(a.attributions,b.oa())}};function Kg(a,b){og.call(this,a,b);this.e=this.c=this.d=k;this.f=he();this.b=k}B(Kg,Ig);Kg.prototype.J=n("d");Kg.prototype.ma=n("f"); -Kg.prototype.ka=function(a){var b=a.v,c=b.projection,d=this.a.$(),e=z(d).toString(),f=d.tileGrid;f===k&&(f=lg(c));var g=nf(f.a,b.resolution),j=kg(f,g),m=f.a[g],r=gg(f,a.extent,m),s=r.ha(),q=r.ca(),j=new $d(j.width*s,j.height*q),v,u;this.d===k?(v=Tb("CANVAS"),v.width=j.width,v.height=j.height,u=v.getContext("2d"),this.d=v,this.c=j,this.e=u,this.b=Array(s*q)):(v=this.d,u=this.e,this.c.width==j.width&&this.c.height==j.height||(v.width=j.width,v.height=j.height,this.c=j,this.b=Array(s*q)));q={};q[g]= -{};var j=na(d.d,d,q,vg(function(a){return a!==k&&2==a.a},d,f,c)),t,x,C,G,I;for(G=r.i;G<=r.l;++G)for(I=r.j;I<=r.k;++I){x=new se(g,G,I);t=d.b(x,f,c);C=t.a;if(0==C)ug(a.Wa,d,x),v=jg(f,x),ye(a.Zb,t,e,v);else if(1==C)qg(this,t);else if(2==C||4==C){q[g][x.toString()]=t;continue}else if(3==C)continue;f.b(x,j)}e=Ba(Oa(q),Number);Ka(e);v=d.H;var c=ee(fg(f,new se(g,r.i,r.k))),T,L,W,$,ua,va;for(T=0;Tc;++c)d[c]=b[c].toFixed(6);c=d.join(",")}else c=b.join(",");c="matrix3d("+c+")";d=a.style;d.WebkitTransform=c;d.MozTransform=c;d.a=c;d.transform=c};function Og(a,b,c){og.call(this,a,b);this.target=c}B(Og,og);Og.prototype.s=function(){Xb(this.target);Og.w.s.call(this)};function Pg(a,b){var c=Tb("DIV");c.className="ol-layer-image";c.style.position="absolute";Og.call(this,a,b,c);this.b=k;this.c=je()}B(Pg,Og); -Pg.prototype.ka=function(a){var b=a.v,c=b.center,d=b.resolution,e=b.rotation,f=this.b,g=this.a.$(),j=a.C;!j[0]&&!j[1]&&(b=g.J(a.extent,d,b.projection),b!==k&&(g=b.a,0==g?(vc(b,"change",this.Nb,l,this),dg(b)):2==g&&(f=b)));f!==k&&(g=f.I(),j=f.e,b=he(),le(b),pe(b,a.size.width/2,a.size.height/2),re(b,e),qe(b,j/d,j/d),pe(b,(g.i-c.x)/j,(c.y-g.k)/j),f!=this.b&&(c=cg(f,this),c.style.position="absolute",Vb(this.target),this.target.appendChild(c),this.b=f),ne(b,this.c)||(Ng(this.target,b),ke(this.c,b)),sg(a.attributions, -f.oa()))};function Qg(a,b){var c=Tb("DIV");c.className="ol-layer-tile";c.style.position="absolute";Og.call(this,a,b,c);this.c=i;this.d=1;this.b={}}B(Qg,Og); -Qg.prototype.ka=function(a,b){if(b.visible){var c=a.v,d=c.projection,e=this.a.$(),f=z(e).toString(),g=e.tileGrid;g===k&&(g=lg(d));var j=nf(g.a,c.resolution),m=gg(g,a.extent,g.a[j]),r={};r[j]={};var s=na(e.d,e,r,vg(function(a){return a!==k&&2==a.a},e,g,d)),q,v,u,t,x;for(t=m.i;t<=m.l;++t)for(x=m.j;x<=m.k;++x){u=new se(j,t,x);q=e.b(u,g,d);v=q.a;if(0==v)ug(a.Wa,e,u),v=jg(g,u),ye(a.Zb,q,f,v);else if(1==v)qg(this,q);else if(2==v){r[j][u.toString()]=q;continue}else if(3==v||4==v)continue;g.b(u,s)}s=Ba(Oa(r), -Number);Ka(s);var d={},C;for(q=0;qu&&Wb(this.target,f.target)}else{if(!a.C[0]&&!a.C[1]){v=gg(f.d,a.extent,f.d.a[f.c.n]);u=[];x=t=h;for(x in f.b)t=f.b[x],v.contains(t.X)|| -u.push(t);v=h;for(v=0;v=a.ba()){for(var a=this.a,d=0;d>1,a[d].M>c.M)a[b]=a[d],b=d;else break;a[b]=c}p=$g.prototype; -p.remove=function(){var a=this.a,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Da(a);else{a[0]=a.pop();for(var a=0,b=this.a,d=b.length,e=b[a];a>1;){var f=2*a+1,g=2*a+2,f=ge.M)break;b[a]=b[f];a=f}b[a]=e}return c.Y}};p.O=function(){for(var a=this.a,b=[],c=a.length,d=0;dc;++c)d=b.remove(),hh(a,d)},b,u));T?(this.b=q,this.z=v):(this.z=this.b=k,a.S=i)}tg(a.Va,g,r,q);ng(g,r,a.extent,m);rg(a, -g);le(this.d);pe(this.d,(d.center.x-v.i)/(v.l-v.i),(d.center.y-v.j)/(v.k-v.j));re(this.d,d.rotation);qe(this.d,a.size.width*d.resolution/(v.l-v.i),a.size.height*d.resolution/(v.k-v.j));pe(this.d,-0.5,-0.5)};function ih(){this.o=0;this.c={};this.b=this.a=k}p=ih.prototype;p.clear=function(){this.o=0;this.c={};this.b=this.a=k};function gh(a,b){return a.c.hasOwnProperty(b)}p.forEach=function(a,b){for(var c=this.a;c!==k;)a.call(b,c.Y,c.M,this),c=c.W};function jh(a,b){var c=a.c[b];if(c===a.b)return c.Y;c===a.a?(a.a=a.a.W,a.a.la=k):(c.W.la=c.la,c.la.W=c.W);c.W=k;c.la=a.b;a.b.W=c;a.b=c;return c.Y}p.ba=n("o");p.Z=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.la)a[b++]=c.M;return a}; -p.O=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.la)a[b++]=c.Y;return a};p.pop=function(){var a=this.a;delete this.c[a.M];a.W!==k&&(a.W.la=k);this.a=a.W;this.a===k&&(this.b=k);--this.o;return a.Y};function kh(a,b,c){c={M:b,W:k,la:a.b,Y:c};a.b===k?a.a=c:a.b.W=c;a.b=c;a.c[b]=c;++a.o};var lh=["webgl","webgl-experimental","webkit-3d","moz-webgl"];function mh(a,b){var c,d,e=lh.length;for(d=0;d>1)-1;0<=b;b--)Ae(a,b);for(var a=this.K,m;0b;++b)e=c[b],e.rotate(d),e.add(a);f.extent=de.apply(k,c)}this.d=f;this.H.tb(f);this.r=l;f!==k&&(f.S&&qf(this),Array.prototype.push.apply(this.wa, -f.Ca));J(this,new Ve("postrender",this,f));w.setTimeout(this.Sc,0)}};p.je=function(a){this.p("backgroundColor",a)};S.prototype.setBackgroundColor=S.prototype.je;S.prototype.Uc=function(a){this.p(xg,a)};S.prototype.setLayers=S.prototype.Uc;S.prototype.ya=function(a){this.p("size",a)};S.prototype.setSize=S.prototype.ya;S.prototype.Vc=function(a){this.p("view",a)};S.prototype.setView=S.prototype.Vc;function sf(a,b,c){++a.g;try{b.call(c)}finally{0===--a.g&&a.r&&(a=a.c,td(a),a.Kb())}} -th.bd=function(a){var b=w.location.search.substring(1),a=y(a)?a:new $c(b);return ld(a,"renderers")?md(a,"renderers").split(","):ld(a,"renderer")?[md(a,"renderer")]:vh};Me(Yf);Me(ag);function wh(a,b,c){var d=a.length,c=1=Math.abs(a+c)?0:a+c}};var S={Ib:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a},hd:function(a){return a*a*a},Ia:function(a){return 1-Math.pow(1-a,3)},jd:function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1},Aa:function(a){return 3*a*a-2*a*a*a},Ac:aa(),Rc:function(a){return 0.5>a?S.Aa(2*a):1-S.Aa(2*(a-0.5))}};var tf={Ib:function(a){var b=a.resolution,c=z(a.start)?a.start:qa(),d=z(a.duration)?a.duration:1E3,e=z(a.easing)?a.easing:S.Rc;return function(a,g){if(g.timeb-a.f;)d--;if(0<=d){var b=a.a[d],c=a.a[c],d=c.x-b.x,e=c.y-b.y;a.c=Math.atan2(e,d);a.b=Math.sqrt(d*d+e*e)/(c.Ua-b.Ua);return a.b>a.d}return l}Df.prototype.aa=function(a){var b=this.e,c=this.b,d=this.d,e=Math.log(this.d/this.b)/this.e;return tf.aa({source:a,duration:e,easing:function(a){return c*(Math.exp(b*a*e)-1)/(d-c)}})};function Ff(){};function Gf(a){this.a=a}D(Gf,Ff);Gf.prototype.ra=function(a){var b=a.a;if(a.type==ef&&(Sd||nc(a.a))){var c=a.map,d=a.b(),e=a.a.qa?-this.a:this.a;yf(c.a(),c,e,d,250);a.D();b.D()}};function Hf(a){return a.fa&&!a.xb&&a.qa}function If(a){return!a.fa&&!a.xb&&!a.qa}function Jf(a){return!a.fa&&!a.xb&&a.qa};function Kf(){this.e=l;this.r=this.Qa=this.i=this.g=0;this.Ta=this.f=k}D(Kf,Ff);p=Kf.prototype;p.Ob=ba;p.kb=ba;p.lb=td;p.yc=ba;p.ra=function(a){var b=a.map;if(b.Oa()){var b=b.a(),c=a.a;a.type==hf&&this.yc(a);this.e?a.type==kf?(this.d=c.clientX-this.g,this.b=c.clientY-this.i,this.Ob(a)):a.type==gf&&(this.d=c.clientX-this.g,this.b=c.clientY-this.i,this.kb(a),this.e=l):a.type==jf&&(this.g=c.clientX,this.i=c.clientY,this.b=this.d=0,this.f=b.N(),this.Ta=a.b(),this.lb(a)&&(this.e=j,a.D()))}};function Lf(a,b){Kf.call(this);this.t=a;this.a=b;this.c=k}D(Lf,Kf);Lf.prototype.Ob=function(a){this.a&&this.a.a.push({x:a.a.clientX,y:a.a.clientY,Ua:qa()});var a=a.map,b=a.a(),c=b.Q(),d=b.V(),c=new L(-c*this.d,c*this.b);c.rotate(d);d=new L(this.f.x+c.x,this.f.y+c.y);uf(a);b.a(d)}; +Lf.prototype.kb=function(a){var b=a.map,a=b.a();qf(a,-1);if(this.a&&Ef(this.a)){var c=(this.a.d-this.a.b)/this.a.e,d=this.a.c,e=a.N();this.c=this.a.aa(e);b.ga(this.c);e=Mf(b,e);b=bf(b,new $e(e.x-c*Math.cos(d),e.y-c*Math.sin(d)));a.a(b)}};Lf.prototype.lb=function(a){var b=a.a;if(this.t(b)){if(this.a){var c=this.a;c.a.length=0;c.c=0;c.b=0;this.a.a.push({x:b.clientX,y:b.clientY,Ua:qa()})}a=a.map;uf(a);qf(a.a(),1);return j}return l}; +Lf.prototype.yc=function(a){var b=a.map,c=b.a();this.c!==k&&Ga(b.i,this.c)&&(uf(b),c.a(a.d.v.center),this.c=k)};function Nf(a){Kf.call(this);this.c=a}D(Nf,Kf);Nf.prototype.Ob=function(a){var b=a.map,c=b.f(),a=cf(a),c=Math.atan2(c.height/2-a.y,a.x-c.width/2);if(z(this.a)){var a=c-this.a,d=b.a();uf(b);vf(d,b,d.V()-a)}this.a=c};Nf.prototype.kb=function(a){var a=a.map,b=a.a();b.rotate(a,b.V(),h,250);qf(b,-1)};Nf.prototype.lb=function(a){var b=a.a;return nc(b)&&this.c(b)?(a=a.map,b=a.a(),uf(a),this.a=h,qf(b,1),j):l};function Of(a){var b=Rb("DIV","ol-dragbox");this.c=k;this.e=a.Ta;this.d=k;zf.call(this,{element:b,map:a.map})}D(Of,zf);Of.prototype.a=function(a){this.d!==k&&(J(this.d),this.d=k);a!==k&&(this.c=Mf(a,this.e),Ec(this.element,this.c),Nc(this.element,new de(0,0)),this.d=H(a,kf,this.f,l,this));Of.w.a.call(this,a)};Of.prototype.f=function(a){var b=this.b,a=a.b(),b=Mf(b,a);Ec(this.element,new $e(Math.min(b.x,this.c.x),Math.min(b.y,this.c.y)));Nc(this.element,new de(Math.abs(b.x-this.c.x),Math.abs(b.y-this.c.y)))};function Pf(a){Kf.call(this);this.c=a;this.a=k}D(Pf,Kf);Pf.prototype.kb=function(a){this.a.a(k);this.a=k;if(64<=this.d*this.d+this.b*this.b){var b=a.map,c=ge(this.Ta,a.b());wf(b,function(){var a=b.a(),e=b.f();a.f(c,e);a.d(0)})}};Pf.prototype.lb=function(a){var b=a.a;return nc(b)&&this.c(b)?(this.a=new Of({map:a.map,Ta:this.Ta}),j):l};function Qf(a){a=z(a)?a:{};this.a=z(a.delta)?a.delta:128}D(Qf,Ff);Qf.prototype.ra=function(a){if("key"==a.type){var b=a.a,c=b.za;if(40==c||37==c||39==c||38==c){var d=a.map,e=d.a(),f=e.Q(),g=e.V(),f=f*this.a,i=0,m=0;40==c?m=-f:37==c?i=-f:39==c?i=f:m=f;c=new L(i,m);c.rotate(g);e.aa(d,c,100);b.D();a.D()}}};function Rf(a){a=z(a)?a:{};this.a=z(a.delta)?a.delta:1}D(Rf,Ff);Rf.prototype.ra=function(a){if("key"==a.type){var b=a.a,c=b.hb;if(43==c||45==c){var d=a.map,c=43==c?this.a:-this.a;uf(d);yf(d.a(),d,c,h,100);b.D();a.D()}}};function Sf(){this.a=0;this.c=k;this.d=this.b=h}D(Sf,Ff);Sf.prototype.ra=function(a){if("mousewheel"==a.type){var b=a.map,c=a.a;this.c=a.b();this.a+=c.b/3;z(this.b)||(this.b=qa());var d=Math.max(80-(qa()-this.b),0);v.clearTimeout(this.d);this.d=v.setTimeout(na(this.e,this,b),d);a.D();c.D()}};Sf.prototype.e=function(a){var b=Hb(this.a,-1,1),c=a.a();uf(a);yf(c,a,-b,this.c,250);this.a=0;this.c=k;this.d=this.b=h};function Tf(){this.g=l;this.i={};this.targetTouches=[]}D(Tf,Ff);function Uf(a){for(var b=a.length,c=0,d=0,e=0;ethis.t&&(this.a=j));this.c=c;var a=a.map,c=a.a(),d=Jc(a.b),e=Uf(this.targetTouches);e.x-=d.x;e.y-=d.y;d=bf(a,e);this.a&&vf(c,a,c.V()+b,d)}; +Wf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a();this.a&&b.rotate(a,b.V(),h,250);qf(b,-1);return l}return j};Wf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.c=h,this.a=l,this.b=0,qf(a,1),j):l};function Xf(){Tf.call(this)}D(Xf,Tf);Xf.prototype.e=function(a){var b=1,c=this.targetTouches[0],d=this.targetTouches[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);z(this.a)&&(b=this.a/e);this.a=e;a=a.map;e=a.a();c=Jc(a.b);d=Uf(this.targetTouches);d.x-=c.x;d.y-=c.y;c=bf(a,d);xf(e,a,e.Q()*b,c)};Xf.prototype.d=function(a){if(2>this.targetTouches.length){var a=a.map,b=a.a();b.zoom(a,b.Q(),h,250);qf(b,-1);return l}return j}; +Xf.prototype.f=function(a){return 2<=this.targetTouches.length?(a=a.map.a(),this.a=h,qf(a,1),j):l};function Yf(a,b){var c=z(a)?a:{},d=new N;(z(c.rotate)?c.rotate:1)&&d.push(new Nf(Hf));if(z(c.fe)?c.fe:1)d.push(new Gf(z(c.Ae)?c.Ae:1));(z(c.ke)?c.ke:1)&&d.push(new Vf(new Df(-0.005,0.05,100)));(z(c.le)?c.le:1)&&d.push(new Wf);(z(c.me)?c.me:1)&&d.push(new Xf);(z(c.ge)?c.ge:1)&&d.push(new Lf(If,new Df(-0.005,0.05,100)));if(z(c.he)?c.he:1)d.push(new Qf),d.push(new Rf);(z(c.ie)?c.ie:1)&&d.push(new Sf);(z(c.je)?c.je:1)&&d.push(new Pf(Jf));if(z(b))for(c=0;cc;++c)d[c]=b[c].toFixed(6);c=d.join(",")}else c=b.join(",");c="matrix3d("+c+")";d=a.style;d.WebkitTransform=c;d.MozTransform=c;d.a=c;d.transform=c};function Tg(a,b,c){sg.call(this,a,b);this.target=c}D(Tg,sg);Tg.prototype.s=function(){Xb(this.target);Tg.w.s.call(this)};function Ug(a,b){var c=Tb("DIV");c.className="ol-layer-image";c.style.position="absolute";Tg.call(this,a,b,c);this.b=k;this.c=me()}D(Ug,Tg); +Ug.prototype.ka=function(a){var b=a.v,c=b.center,d=b.resolution,e=b.rotation,f=this.b,g=this.a.$(),i=a.C;!i[0]&&!i[1]&&(b=g.J(a.extent,d,b.projection),b!==k&&(g=b.a,0==g?(vc(b,"change",this.Pb,l,this),hg(b)):2==g&&(f=b)));f!==k&&(g=f.I(),i=f.e,b=ke(),oe(b),se(b,a.size.width/2,a.size.height/2),ue(b,e),te(b,i/d,i/d),se(b,(g.h-c.x)/i,(c.y-g.l)/i),f!=this.b&&(c=gg(f,this),c.style.position="absolute",Vb(this.target),this.target.appendChild(c),this.b=f),qe(b,this.c)||(Sg(this.target,b),ne(this.c,b)),wg(a.attributions, +f.oa()))};function Vg(a,b){var c=Tb("DIV");c.className="ol-layer-tile";c.style.position="absolute";Tg.call(this,a,b,c);this.c=j;this.d=1;this.b={}}D(Vg,Tg); +Vg.prototype.ka=function(a,b){if(b.visible){var c=a.v,d=c.projection,e=this.a.$(),f=A(e).toString(),g=e.tileGrid;g===k&&(g=pg(d));var i=rf(g.a,c.resolution),m=g.a[i],q=c.center,t;m==c.resolution?(q=Ag(q,m,a.size),t=he(q,m,c.rotation,a.size)):t=a.extent;var m=kg(g,t,m),r={};r[i]={};var y=na(e.d,e,r,zg(function(a){return a!==k&&2==a.a},e,g,d)),w,s,x,u,B;for(u=m.h;u<=m.j;++u)for(B=m.k;B<=m.l;++B){x=new ve(i,u,B);w=e.b(x,g,d);s=w.a;if(0==s)yg(a.Wa,e,x),s=ng(g,x),Be(a.ac,w,f,s);else if(1==s)ug(this,w); +else if(2==s){r[i][x.toString()]=w;continue}else if(3==s||4==s)continue;g.b(x,y)}y=Ca(Qa(r),Number);Ma(y);var d={},E;for(w=0;wx&&Wb(this.target,f.target)}else{if(!a.C[0]&&!a.C[1]){s= +kg(f.d,t,f.d.a[f.c.n]);x=[];B=u=h;for(B in f.b)u=f.b[B],s.contains(u.X)||x.push(u);s=h;for(s=0;s=a.ca()){for(var a=this.a,d=0;d>1,a[d].M>c.M)a[b]=a[d],b=d;else break;a[b]=c}p=eh.prototype; +p.remove=function(){var a=this.a,b=a.length,c=a[0];if(!(0>=b)){if(1==b)Fa(a);else{a[0]=a.pop();for(var a=0,b=this.a,d=b.length,e=b[a];a>1;){var f=2*a+1,g=2*a+2,f=ge.M)break;b[a]=b[f];a=f}b[a]=e}return c.Y}};p.O=function(){for(var a=this.a,b=[],c=a.length,d=0;dc;++c)d=b.remove(),mh(a,d)},b,s));I?(this.b=y,this.z=w):(this.z=this.b=k,a.S= +j)}xg(a.Va,f,m,y);rg(f,m,r,i);vg(a,f);oe(this.d);se(this.d,(t.x-w.h)/(w.j-w.h),(t.y-w.k)/(w.l-w.k));ue(this.d,d.rotation);te(this.d,a.size.width*d.resolution/(w.j-w.h),a.size.height*d.resolution/(w.l-w.k));se(this.d,-0.5,-0.5)};function nh(){this.o=0;this.c={};this.b=this.a=k}p=nh.prototype;p.clear=function(){this.o=0;this.c={};this.b=this.a=k};function lh(a,b){return a.c.hasOwnProperty(b)}p.forEach=function(a,b){for(var c=this.a;c!==k;)a.call(b,c.Y,c.M,this),c=c.W};function oh(a,b){var c=a.c[b];if(c===a.b)return c.Y;c===a.a?(a.a=a.a.W,a.a.la=k):(c.W.la=c.la,c.la.W=c.W);c.W=k;c.la=a.b;a.b.W=c;a.b=c;return c.Y}p.ca=n("o");p.Z=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.la)a[b++]=c.M;return a}; +p.O=function(){var a=Array(this.o),b=0,c;for(c=this.b;c!==k;c=c.la)a[b++]=c.Y;return a};p.pop=function(){var a=this.a;delete this.c[a.M];a.W!==k&&(a.W.la=k);this.a=a.W;this.a===k&&(this.b=k);--this.o;return a.Y};function ph(a,b,c){c={M:b,W:k,la:a.b,Y:c};a.b===k?a.a=c:a.b.W=c;a.b=c;a.c[b]=c;++a.o};var qh=["webgl","webgl-experimental","webkit-3d","moz-webgl"];function rh(a,b){var c,d,e=qh.length;for(d=0;d>1)-1;0<=b;b--)De(a,b);for(var a=this.K,m;0b?(d="\u2032",a*=60):d="\u00b0":"imperial"==this.c?0.9144>b?(d="in",a/=0.0254):1609.344>b?(d="ft",a/=0.3048):(d="mi",a/=1609.344):"nautical"==this.c?(a/=1852,d="nm"):"metric"==this.c?1>b?(d="mm",a*=1E3):1E3>b?d="m":(d="km",a/=1E3):"us"==this.c&&(0.9144>b?(d="in",a*=39.37):1609.344>b?(d="ft",a/=0.30480061):(d="mi",a/=1609.3472));for(var b=3*Math.floor(Math.log(this.h*a)/Math.log(10)),e,f;;){e=Fh[b%3]*Math.pow(10,Math.floor(b/3));f=Math.round(e/a);if(f>=this.h)break;++b}e=e+d;this.u!=e&& -(this.u=this.g.innerHTML=e);this.G!=f&&(this.g.style.width=f+"px",this.G=f);this.f||(Mc(this.t,i),this.f=i)}};Eh.prototype.a=function(a){this.e!==k&&(D(this.e,H),this.e=k);Eh.w.a.call(this,a);a!==k&&(this.e=[F(a,"postrender",this.z,l,this)])};function Gh(){this.a={}}B(Gh,Bf);Gh.prototype.b=function(a,b){var c;for(c=0;cb?(d="\u2032",a*=60):d="\u00b0":"imperial"==this.c?0.9144>b?(d="in",a/=0.0254):1609.344>b?(d="ft",a/=0.3048):(d="mi",a/=1609.344):"nautical"==this.c?(a/=1852,d="nm"):"metric"==this.c?1>b?(d="mm",a*=1E3):1E3>b?d="m":(d="km",a/=1E3):"us"==this.c&&(0.9144>b?(d="in",a*=39.37):1609.344>b?(d="ft",a/=0.30480061):(d="mi",a/=1609.3472));for(var b=3*Math.floor(Math.log(this.i*a)/Math.log(10)),e,f;;){e=Lh[b%3]*Math.pow(10,Math.floor(b/3));f=Math.round(e/a);if(f>=this.i)break;++b}e=e+d;this.u!=e&& +(this.u=this.g.innerHTML=e);this.G!=f&&(this.g.style.width=f+"px",this.G=f);this.f||(Mc(this.t,j),this.f=j)}};Kh.prototype.a=function(a){this.e!==k&&(F(this.e,J),this.e=k);Kh.w.a.call(this,a);a!==k&&(this.e=[H(a,"postrender",this.z,l,this)])};function Mh(){this.a={}}D(Mh,Ff);Mh.prototype.b=function(a,b){var c;for(c=0;cthis.d&&!(b=this.a.Y,c=b.X.n.toString(),c in a&&a[c].contains(b.X));)this.pop()};function si(a){mg.call(this,{attributions:a.attributions,extent:a.extent,opaque:a.opaque,projection:a.projection,tileGrid:a.tileGrid});this.fa=y(a.fa)?a.fa:oi;this.G=y(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=new ri}B(si,mg);si.prototype.g=function(){return this.a.ba()>this.a.d};si.prototype.Ja=function(a){this.a.Ja(a)};si.prototype.b=function(a,b,c){var d=a.toString();if(gh(this.a,d))return jh(this.a,d);b=this.fa(a,b,c);a=new qi(a,y(b)?0:4,y(b)?b:"",this.G);kh(this.a,d,a);return a}; -si.prototype.r=function(a){a=a.toString();gh(this.a,a)&&jh(this.a,a)};function ti(a){var b=Array(a.maxZoom+1),c,d=2*Xf/256;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);eg.call(this,{origin:new K(-Xf,Xf),resolutions:b,tileSize:new $d(256,256)})}B(ti,eg);ti.prototype.b=function(a,b,c){for(var d=a.x,e=a.y,a=a.n,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new ue(d,e,d,e);if(b.call(c,a,f))break}};function ui(a){si.call(this,{opaque:i,projection:Re("EPSG:3857")});this.cd=y(a.culture)?a.culture:"en-us";this.h=l;var b=new Vc("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style),b=new ii(b),a={include:"ImageryProviders",key:a.key},c=na(this.u,this),a=a||k,d="_"+(ji++).toString(36)+pa().toString(36);w._callbacks_||(w._callbacks_={});var e=b.b.T();if(a)for(var f in a)(!a.hasOwnProperty||a.hasOwnProperty(f))&&id(e,f,a[f]);c&&(w._callbacks_[d]=function(a){ki(d,i);c.apply(h,arguments)},id(e, -b.a,"_callbacks_."+d));f=ci(e.toString(),{timeout:b.Ab,hc:i});f.a.push([k,function(){ki(d,l)},h]);f.na&&Zh(f)}B(ui,si); -ui.prototype.u=function(a){var b=a.resourceSets[0].resources[0],c=b.zoomMin,d=b.zoomMax,e=new ti({maxZoom:d,tileSize:new $d(b.imageWidth,b.imageHeight)});this.tileGrid=e;this.fa=pi(function(a){if(a.ne||b<=e?k:new se(a.n,Ib(a.x,b),e)},mi(Ba(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.cd);return function(a){return a===k?h:c.replace("{quadkey}",te(a))}})));var f=He(Re("EPSG:4326"),this.f);this.e= -Ba(b.imageryProviders,function(a){var b=a.attribution,c={};D(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new ce(a[1],a[0],a[3],a[2])).transform(f),g,j;for(g=b;g<=d;++g)j=g.toString(),b=gg(e,a,e.a[g]),j in c?c[j].push(b):c[j]=[b]});return new ve(b,c)});this.h=i;J(this,"load")};ui.prototype.c=n("h");function vi(a,b){we.call(this,a,2);this.e=a;this.d=kg(b,a.n);this.c={}}B(vi,we);vi.prototype.J=function(a){a=y(a)?z(a):-1;if(a in this.c)return this.c[a];var b=this.d,c=Tb("CANVAS");c.width=b.width;c.height=b.height;var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b.width+0.5,b.height+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.e.toString(),b.width/2,b.height/2);return this.c[a]=c}; -function wi(a){mg.call(this,{extent:a.extent,opaque:l,projection:a.projection,tileGrid:a.tileGrid});this.a=new ri}B(wi,mg);wi.prototype.g=function(){return this.a.ba()>this.a.d};wi.prototype.Ja=function(a){this.a.Ja(a)};wi.prototype.b=function(a){var b=a.toString();if(gh(this.a,b))return jh(this.a,b);a=new vi(a,this.tileGrid);kh(this.a,b,a);return a};function xi(a){var b=a.projection||Re("EPSG:3857"),c=oi;y(a.fa)?c=a.fa:y(a.urls)?c=mi(Ba(a.urls,li)):y(a.url)&&(c=li(a.url));var d=new ti({maxZoom:a.maxZoom}),e=a.extent,c=e!=k?pi(function(b){if(a.maxZoomj||c<=j)return k;c=Ib(b.x,c);return!be(fg(d,new se(b.n,c,b.y)),e)?k:new se(b.n,c,j)},c):pi(function(b){if(a.maxZoomd||c<=d?k:new se(b.n,Ib(b.x,c),d)},c);si.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin, -extent:a.extent,projection:b,tileGrid:d,fa:c})}B(xi,si);function yi(){xi.call(this,{attributions:[new ve('Tiles Courtesy of MapQuest '),new ve('Data © OpenStreetMap contributors, CC BY-SA')],opaque:i,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})}B(yi,xi); -function zi(){xi.call(this,{attributions:[new ve('Tiles Courtesy of MapQuest '),new ve("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")],maxZoom:18,opaque:i,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})}B(zi,xi);function Ai(){xi.call(this,{attributions:[new ve('© OpenStreetMap contributors, CC BY-SA')],opaque:i,maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})}B(Ai,xi);function Bi(a){Eg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,Na:y(a.url)?Cg(a.url,a.params):Dg});this.b=k;this.g=1.5}B(Bi,Eg); -Bi.prototype.J=function(a,b,c){this.a===k||(b=this.a[nf(this.a,b)]);var d=this.b,e;if(e=d!==k)if(e=d.e==b)e=d.I(),e=e.i<=a.i&&a.l<=e.l&&e.j<=a.j&&a.k<=e.k;if(e)return d;var d=a=new ce(a.i,a.j,a.l,a.k),f=this.g;e=d.ha()/2*(f-1);f=d.ca()/2*(f-1);d.i-=e;d.j-=f;d.l+=e;d.k+=f;return this.b=Fg(this,a,b,new $d(a.ha()/b,a.ca()/b),c)};var Ci={terrain:{U:"jpg",opaque:i},"terrain-background":{U:"jpg",opaque:i},"terrain-labels":{U:"png",opaque:l},"terrain-lines":{U:"png",opaque:l},"toner-background":{U:"png",opaque:i},toner:{U:"png",opaque:i},"toner-hybrid":{U:"png",opaque:l},"toner-labels":{U:"png",opaque:l},"toner-lines":{U:"png",opaque:l},"toner-lite":{U:"png",opaque:i},watercolor:{U:"jpg",opaque:i}},Di={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:3,maxZoom:16}},Ei=[new ve('Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.')]; -function Fi(a){var b=a.layer.indexOf("-"),b=-1==b?a.layer:a.layer.slice(0,b),c=Ci[a.layer];xi.call(this,{attributions:Ei,maxZoom:Di[b].maxZoom,opaque:c.opaque,url:y(a.url)?a.url:"http://{a-d}.tile.stamen.com/"+a.layer+"/{z}/{x}/{y}."+c.U})}B(Fi,xi);function Gi(a){var b=a.url,c=a.imageExtent,d=a.imageSize,e=c.ca()/d.height,f=Re(a.projection);Eg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,Na:function(){return b},resolutions:[e]});this.b=Fg(this,c,e,d,f)}B(Gi,Eg);Gi.prototype.J=function(a){return be(a,this.b.I())?this.b:k};var Hi=[];A("grid",function(a){Hi.push(a)});function Ii(a){si.call(this,{projection:Re("EPSG:3857")});this.h=l;a=this.u=ci(a.uri,{hc:i});a.a.push([this.z,k,this]);a.na&&Zh(a)}B(Ii,si); -Ii.prototype.z=function(){var a=Hi.pop(),b=Re("EPSG:4326"),c,d;y(a.bounds)?(c=a.bounds,c=new ce(c[0],c[1],c[2],c[3]),this.t=d=c.transform(He(b,this.f))):d=c=k;var e=a.minzoom||0,f=a.maxzoom||22,g=new ti({maxZoom:f});this.tileGrid=g;this.fa=pi(function(a){if(a.nc||b<=c)return k;b=Ib(a.x,b);return d!==k&&!be(fg(g,new se(a.n,b,a.y)),d)?k:new se(a.n,b,c)},mi(Ba(a.tiles,li)));if(y(a.attribution)){b=d===k?b.I():d;c={};var j,m;for(j=e;j<=f;++j)m=j.toString(), -c[m]=[gg(g,b,g.a[j])];this.e=[new ve(a.attribution,c)]}this.h=i;J(this,"load")};Ii.prototype.c=n("h");function Ji(a){var b;a.urls?(b=Ba(a.urls,function(b){return ni(b,a.params)}),b=mi(b)):b=a.url?ni(a.url,a.params):oi;var c=a.extent;si.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:c,tileGrid:a.tileGrid,opaque:!(y(a.params.TRANSPARENT)?a.params.TRANSPARENT:1),projection:a.projection,fa:pi(function(a,b,f){if(b.Jb().length<=a.n)return k;var g=a.x,j=fg(b,a),m=f.I();c=y(c)?c:m;c!==k&&(f.sc&&c.i===m.i&&c.l===m.l)&&(f=Math.ceil((c.l-c.i)/(j.l-j.i)),g=Ib(g,f),j=fg(b,new se(a.n,g, -a.y)));return!be(j,c)?k:new se(a.n,g,a.y)},b)})}B(Ji,si);A("goog.require",ba);function Ki(a){U.call(this,{element:a.element,map:a.map,position:a.position,positioning:a.positioning})}B(Ki,U);A("ol.AnchoredElement",Ki);A("ol.AnchoredElementPositioning",yh);yh.BOTTOM_LEFT="bottom-left";yh.BOTTOM_RIGHT="bottom-right";yh.TOP_LEFT="top-left";yh.TOP_RIGHT="top-right";A("ol.Attribution",ve);A("ol.Collection",N);N.prototype.clear=N.prototype.clear;N.prototype.forEach=N.prototype.forEach;N.prototype.getAt=N.prototype.gd;N.prototype.getLength=N.prototype.eb; -N.prototype.insertAt=N.prototype.kb;N.prototype.pop=N.prototype.pop;N.prototype.push=N.prototype.push;N.prototype.remove=N.prototype.remove;N.prototype.removeAt=N.prototype.Wb;N.prototype.setAt=N.prototype.ie;A("ol.Coordinate",K);K.toStringHDMS=function(a){return y(a)?Sc(a.y,"NS")+" "+Sc(a.x,"EW"):""};A("ol.Extent",ce);ce.prototype.getHeight=ce.prototype.ca;ce.prototype.getWidth=ce.prototype.ha;A("ol.Geolocation",V); -function Li(a){S.call(this,{controls:a.controls,interactions:a.interactions,layers:a.layers,renderer:a.renderer,renderers:a.renderers,target:a.target,view:a.view})}B(Li,S);A("ol.Map",Li);S.prototype.addLayer=S.prototype.Xd;S.prototype.addPreRenderFunction=S.prototype.ga;S.prototype.addPreRenderFunctions=S.prototype.Xc;S.prototype.getInteractions=S.prototype.Eb;S.prototype.getRenderer=S.prototype.Qc;S.prototype.removeLayer=S.prototype.Yd;Xe.prototype.getCoordinate=Xe.prototype.b;A("ol.Object",M); -M.prototype.bindTo=M.prototype.Yc;M.prototype.changed=M.prototype.ad;M.prototype.get=M.prototype.q;M.prototype.notify=M.prototype.Bc;M.prototype.set=M.prototype.p;M.prototype.setOptions=M.prototype.Jc;M.prototype.setValues=M.prototype.sb;M.prototype.unbind=M.prototype.$b;M.prototype.unbindAll=M.prototype.se;function Mi(a){O.call(this,{axisOrientation:a.axisOrientation,code:a.code,extent:a.extent,global:a.global,units:a.units})}B(Mi,O);A("ol.Projection",Mi);O.prototype.getAxisOrientation=O.prototype.hd; -O.prototype.getCode=O.prototype.kd;O.prototype.getExtent=O.prototype.I;O.prototype.getMetersPerUnit=O.prototype.ld;O.prototype.getPointResolution=O.prototype.c;O.prototype.getUnits=O.prototype.nd;O.prototype.isGlobal=O.prototype.Ud;A("ol.ProjectionUnits",Ee);Ee.DEGREES="degrees";Ee.FEET="ft";Ee.METERS="m";A("ol.RendererHint",uh);uh.CANVAS="canvas";uh.DOM="dom";uh.WEBGL="webgl";A("ol.RendererHints",th);th.createFromQueryData=th.bd; -function Ni(a){R.call(this,{center:a.center,maxResolution:a.maxResolution,numZoomLevels:a.numZoomLevels,projection:a.projection,resolution:a.resolution,resolutions:a.resolutions,rotation:a.rotation,zoom:a.zoom,zoomFactor:a.zoomFactor})}B(Ni,R);A("ol.View2D",Ni);R.prototype.fitExtent=R.prototype.f;R.prototype.getView2D=R.prototype.g;A("ol.animation",pf);pf.bounce=pf.Gb;pf.pan=pf.aa;pf.rotate=pf.rotate;pf.zoom=pf.zoom;function Oi(a){wf.call(this,{map:a.map,target:a.target})}B(Oi,wf); -A("ol.control.Attribution",Oi);wf.prototype.setMap=wf.prototype.a;function Pi(a){Bh.call(this,{coordinateFormat:a.coordinateFormat,map:a.map,projection:a.projection,target:a.target,undefinedHTML:a.undefinedHTML})}B(Pi,Bh);A("ol.control.MousePosition",Pi);Bh.prototype.setMap=Bh.prototype.a;function Qi(a){Eh.call(this,{map:a.map,minWidth:a.minWidth,target:a.target,units:a.units})}B(Qi,Eh);A("ol.control.ScaleLine",Qi);Eh.prototype.setMap=Eh.prototype.a;A("ol.control.ScaleLineUnits",Dh);Dh.DEGREES="degrees"; -Dh.IMPERIAL="imperial";Dh.METRIC="metric";Dh.NAUTICAL="nautical";Dh.US="us";function Ri(a){xf.call(this,{delta:a.delta,map:a.map,target:a.target})}B(Ri,xf);A("ol.control.Zoom",Ri);xf.prototype.setMap=xf.prototype.a;A("ol.control.defaults",yf);A("ol.easing",Q);Q.bounce=Q.Gb;Q.easeIn=Q.dd;Q.easeOut=Q.Ia;Q.elastic=Q.ed;Q.inAndOut=Q.Aa;Q.linear=Q.xc;Q.upAndDown=Q.Oc;A("ol.interaction.Keyboard",Gh);Gh.prototype.addCallback=Gh.prototype.b;A("ol.interaction.defaults",Uf); -function Si(a){P.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Si,Gg);A("ol.layer.ImageLayer",Si);function Ti(a){P.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}B(Ti,Hg);A("ol.layer.TileLayer",Ti);A("ol.parser.ogc.WMSCapabilities",Sh);Sh.prototype.read=Sh.prototype.ta;A("ol.parser.ogc.WMTSCapabilities",Wh); -Wh.prototype.read=Wh.prototype.ta;A("ol.projection.addProjection",Ne);A("ol.projection.configureProj4jsProjection",function(a){return Ie(a)});A("ol.projection.get",Re);A("ol.projection.getTransform",Se);A("ol.projection.getTransformFromProjections",He);A("ol.projection.transform",function(a,b,c){b=Se(b,c);a=[a.x,a.y];a=b(a,a,2);return new K(a[0],a[1])});A("ol.projection.transformWithProjections",function(a,b,c){b=He(b,c);a=[a.x,a.y];a=b(a,a,2);return new K(a[0],a[1])});Lg.prototype.getCanvas=Lg.prototype.bb; -function Ui(a){ui.call(this,{culture:a.culture,key:a.key,style:a.style})}B(Ui,ui);A("ol.source.BingMaps",Ui);function Vi(a){wi.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid})}B(Vi,wi);A("ol.source.DebugTileSource",Vi);A("ol.source.MapQuestOSM",yi);A("ol.source.MapQuestOpenAerial",zi);A("ol.source.OpenStreetMap",Ai); -function Wi(a){Bi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,params:a.params,projection:a.projection,resolutions:a.resolutions,url:a.url})}B(Wi,Bi);A("ol.source.SingleImageWMS",Wi);function Xi(a){Fi.call(this,{layer:a.layer,maxZoom:a.maxZoom,minZoom:a.minZoom,opaque:a.opaque,url:a.url})}B(Xi,Fi);A("ol.source.Stamen",Xi); -function Yi(a){Gi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,imageExtent:a.imageExtent,imageSize:a.imageSize,projection:a.projection,url:a.url})}B(Yi,Gi);A("ol.source.StaticImage",Yi);function Zi(a){Ii.call(this,{uri:a.uri})}B(Zi,Ii);A("ol.source.TileJSON",Zi);function $i(a){Ji.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,maxZoom:a.maxZoom,params:a.params,projection:a.projection,tileGrid:a.tileGrid,url:a.url,urls:a.urls})} -B($i,Ji);A("ol.source.TiledWMS",$i);function aj(a){eg.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}B(aj,eg);A("ol.tilegrid.TileGrid",aj);function bj(a){ti.call(this,{maxZoom:a.maxZoom})}B(bj,ti);A("ol.tilegrid.XYZ",bj);pf.xe={};pf.Oe={};pf.Pe={};pf.Ye={};})(); +function ci(a,b){this.a=[];this.f=a;this.e=b||k}p=ci.prototype;p.na=l;p.La=l;p.Sa=0;p.Nc=l;p.cd=l;p.bd=0;p.mc=function(a,b){di(this,a,b);this.Sa--;0==this.Sa&&this.na&&ei(this)};function di(a,b,c){a.na=j;a.b=c;a.La=!b;ei(a)}function fi(a){if(a.na){if(!a.Nc)throw new gi(a);a.Nc=l}}function hi(a){return Da(a.a,function(a){return ha(a[1])})} +function ei(a){a.c&&(a.na&&hi(a))&&(v.clearTimeout(a.c),delete a.c);a.d&&(a.d.bd--,delete a.d);for(var b=a.b,c=l,d=l;a.a.length&&0==a.Sa;){var e=a.a.shift(),f=e[0],g=e[1],e=e[2];if(f=a.La?g:f)try{var i=f.call(e||a.e,b);z(i)&&(a.La=a.La&&(i==b||i instanceof Error),a.b=b=i);b instanceof ci&&(d=j,a.Sa++)}catch(m){b=m,a.La=j,hi(a)||(c=j)}}a.b=b;d&&a.Sa&&(d=b,i=na(a.mc,a,j),f=na(a.mc,a,l),d.a.push([i,f,h]),d.na&&ei(d),b.cd=j);c&&(a.c=v.setTimeout(function(){throw b;},0))} +function gi(a){ra.call(this);this.a=a}D(gi,ra);gi.prototype.message="Deferred has already fired";gi.prototype.name="AlreadyCalledError";function ii(a,b){var c=b||{},d=c.document||document,e=Tb("SCRIPT"),f={Kc:e,Cb:h},g=new ci(ji,f),i=k,m=c.timeout!=k?c.timeout:5E3;0this.d&&!(b=this.a.Y,c=b.X.n.toString(),c in a&&a[c].contains(b.X));)this.pop()};function yi(a){qg.call(this,{attributions:a.attributions,extent:a.extent,opaque:a.opaque,projection:a.projection,tileGrid:a.tileGrid});this.ba=z(a.ba)?a.ba:ui;this.G=z(a.crossOrigin)?a.crossOrigin:"anonymous";this.a=new xi}D(yi,qg);yi.prototype.g=function(){return this.a.ca()>this.a.d};yi.prototype.Ja=function(a){this.a.Ja(a)};yi.prototype.b=function(a,b,c){var d=a.toString();if(lh(this.a,d))return oh(this.a,d);b=this.ba(a,b,c);a=new wi(a,z(b)?0:4,z(b)?b:"",this.G);ph(this.a,d,a);return a}; +yi.prototype.r=function(a){a=a.toString();lh(this.a,a)&&oh(this.a,a)};function zi(a){var b=Array(a.maxZoom+1),c,d=2*ag/256;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);ig.call(this,{origin:new L(-ag,ag),resolutions:b,tileSize:new de(256,256)})}D(zi,ig);zi.prototype.b=function(a,b,c){for(var d=a.x,e=a.y,a=a.n,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new xe(d,e,d,e);if(b.call(c,a,f))break}};function Ai(a){yi.call(this,{opaque:j,projection:Ve("EPSG:3857")});this.gd=z(a.culture)?a.culture:"en-us";this.i=l;var b=new Zc("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style),b=new oi(b),a={include:"ImageryProviders",key:a.key},c=na(this.u,this),a=a||k,d="_"+(pi++).toString(36)+qa().toString(36);v._callbacks_||(v._callbacks_={});var e=b.b.T();if(a)for(var f in a)(!a.hasOwnProperty||a.hasOwnProperty(f))&&md(e,f,a[f]);c&&(v._callbacks_[d]=function(a){qi(d,j);c.apply(h,arguments)},md(e, +b.a,"_callbacks_."+d));f=ii(e.toString(),{timeout:b.Cb,jc:j});f.a.push([k,function(){qi(d,l)},h]);f.na&&ei(f)}D(Ai,yi); +Ai.prototype.u=function(a){var b=a.resourceSets[0].resources[0],c=b.zoomMin,d=b.zoomMax,e=new zi({maxZoom:d,tileSize:new de(b.imageWidth,b.imageHeight)});this.tileGrid=e;this.ba=vi(function(a){if(a.ne||b<=e?k:new ve(a.n,Ib(a.x,b),e)},si(Ca(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.gd);return function(a){return a===k?h:c.replace("{quadkey}",we(a))}})));var f=Le(Ve("EPSG:4326"),this.f);this.e= +Ca(b.imageryProviders,function(a){var b=a.attribution,c={};F(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new P(a[1],a[0],a[3],a[2])).transform(f),g,i;for(g=b;g<=d;++g)i=g.toString(),b=kg(e,a,e.a[g]),i in c?c[i].push(b):c[i]=[b]});return new ye(b,c)});this.i=j;K(this,"load")};Ai.prototype.c=n("i");function Bi(a,b){ze.call(this,a,2);this.e=a;this.d=og(b,a.n);this.c={}}D(Bi,ze);Bi.prototype.J=function(a){a=z(a)?A(a):-1;if(a in this.c)return this.c[a];var b=this.d,c=Tb("CANVAS");c.width=b.width;c.height=b.height;var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b.width+0.5,b.height+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.e.toString(),b.width/2,b.height/2);return this.c[a]=c}; +function Ci(a){qg.call(this,{extent:a.extent,opaque:l,projection:a.projection,tileGrid:a.tileGrid});this.a=new xi}D(Ci,qg);Ci.prototype.g=function(){return this.a.ca()>this.a.d};Ci.prototype.Ja=function(a){this.a.Ja(a)};Ci.prototype.b=function(a){var b=a.toString();if(lh(this.a,b))return oh(this.a,b);a=new Bi(a,this.tileGrid);ph(this.a,b,a);return a};function Di(a){var b=a.projection||Ve("EPSG:3857"),c=ui;z(a.ba)?c=a.ba:z(a.urls)?c=si(Ca(a.urls,ri)):z(a.url)&&(c=ri(a.url));var d=new zi({maxZoom:a.maxZoom}),e=a.extent,c=e!=k?vi(function(b){if(a.maxZoomi||c<=i)return k;c=Ib(b.x,c);return!fe(jg(d,new ve(b.n,c,b.y)),e)?k:new ve(b.n,c,i)},c):vi(function(b){if(a.maxZoomd||c<=d?k:new ve(b.n,Ib(b.x,c),d)},c);yi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin, +extent:a.extent,projection:b,tileGrid:d,ba:c})}D(Di,yi);function Ei(){Di.call(this,{attributions:[new ye('Tiles Courtesy of MapQuest '),new ye('Data © OpenStreetMap contributors, CC BY-SA')],opaque:j,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})}D(Ei,Di); +function Fi(){Di.call(this,{attributions:[new ye('Tiles Courtesy of MapQuest '),new ye("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")],maxZoom:18,opaque:j,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})}D(Fi,Di);function Gi(){Di.call(this,{attributions:[new ye('© OpenStreetMap contributors, CC BY-SA')],opaque:j,maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})}D(Gi,Di);function Hi(a){Jg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,Na:z(a.url)?Hg(a.url,a.params):Ig});this.b=k;this.g=1.5}D(Hi,Jg);Hi.prototype.J=function(a,b,c){this.a===k||(b=this.a[rf(this.a,b)]);var d=this.b;if(d!==k&&d.e==b&&d.I().lc(a))return d;var d=a=new P(a.h,a.k,a.j,a.l),e=this.g,f=d.ha()/2*(e-1),e=d.da()/2*(e-1);d.h-=f;d.k-=e;d.j+=f;d.l+=e;return this.b=Kg(this,a,b,new de(a.ha()/b,a.da()/b),c)};var Ii={terrain:{U:"jpg",opaque:j},"terrain-background":{U:"jpg",opaque:j},"terrain-labels":{U:"png",opaque:l},"terrain-lines":{U:"png",opaque:l},"toner-background":{U:"png",opaque:j},toner:{U:"png",opaque:j},"toner-hybrid":{U:"png",opaque:l},"toner-labels":{U:"png",opaque:l},"toner-lines":{U:"png",opaque:l},"toner-lite":{U:"png",opaque:j},watercolor:{U:"jpg",opaque:j}},Ji={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:3,maxZoom:16}},Ki=[new ye('Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.')]; +function Li(a){var b=a.layer.indexOf("-"),b=-1==b?a.layer:a.layer.slice(0,b),c=Ii[a.layer];Di.call(this,{attributions:Ki,maxZoom:Ji[b].maxZoom,opaque:c.opaque,url:z(a.url)?a.url:"http://{a-d}.tile.stamen.com/"+a.layer+"/{z}/{x}/{y}."+c.U})}D(Li,Di);function Mi(a){var b=a.url,c=a.imageExtent,d=a.imageSize,e=c.da()/d.height,f=Ve(a.projection);Jg.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,Na:function(){return b},resolutions:[e]});this.b=Kg(this,c,e,d,f)}D(Mi,Jg);Mi.prototype.J=function(a){return fe(a,this.b.I())?this.b:k};var Ni=[];C("grid",function(a){Ni.push(a)});function Oi(a){yi.call(this,{projection:Ve("EPSG:3857")});this.i=l;a=this.u=ii(a.uri,{jc:j});a.a.push([this.z,k,this]);a.na&&ei(a)}D(Oi,yi); +Oi.prototype.z=function(){var a=Ni.pop(),b=Ve("EPSG:4326"),c,d;z(a.bounds)?(c=a.bounds,c=new P(c[0],c[1],c[2],c[3]),this.t=d=c.transform(Le(b,this.f))):d=c=k;var e=a.minzoom||0,f=a.maxzoom||22,g=new zi({maxZoom:f});this.tileGrid=g;this.ba=vi(function(a){if(a.nc||b<=c)return k;b=Ib(a.x,b);return d!==k&&!fe(jg(g,new ve(a.n,b,a.y)),d)?k:new ve(a.n,b,c)},si(Ca(a.tiles,ri)));if(z(a.attribution)){b=d===k?b.I():d;c={};var i,m;for(i=e;i<=f;++i)m=i.toString(), +c[m]=[kg(g,b,g.a[i])];this.e=[new ye(a.attribution,c)]}this.i=j;K(this,"load")};Oi.prototype.c=n("i");function Pi(a){var b;a.urls?(b=Ca(a.urls,function(b){return ti(b,a.params)}),b=si(b)):b=a.url?ti(a.url,a.params):ui;var c=a.extent;yi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:c,tileGrid:a.tileGrid,opaque:!(z(a.params.TRANSPARENT)?a.params.TRANSPARENT:1),projection:a.projection,ba:vi(function(a,b,f){if(b.fb().length<=a.n)return k;var g=a.x,i=jg(b,a),m=f.I();c=z(c)?c:m;c!==k&&(f.Lb&&c.h===m.h&&c.j===m.j)&&(f=Math.ceil((c.j-c.h)/(i.j-i.h)),g=Ib(g,f),i=jg(b,new ve(a.n,g, +a.y)));return!fe(i,c)?k:new ve(a.n,g,a.y)},b)})}D(Pi,yi);function Qi(a){this.g=a.matrixIds;ig.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}D(Qi,ig);function Ri(a){var b=z(a.version)?a.version:"1.0.0",c=z(a.format)?a.format:"image/jpeg",d=z(a.requestEncoding)?a.requestEncoding:"KVP",e=a.tileGrid,f={Layer:a.layer,style:a.style,TileMatrixSet:a.matrixSet};Wa(f,a.dimensions||{});var g;"KVP"==d&&(g={Service:"WMTS",Request:"GetTile",Version:b,Format:c,TileMatrix:"{TileMatrix}",TileRow:"{TileRow}",TileCol:"{TileCol}"},Wa(g,f));b=a.urls;if(!z(b)){var b=[],c=a.url,i=/\{(\d)-(\d)\}/.exec(c)||/\{([a-z])-([a-z])\}/.exec(c);if(i){var m=i[2].charCodeAt(0), +q;for(q=i[1].charCodeAt(0);q<=m;++q)b.push(c.replace(i[0],String.fromCharCode(q)))}else b.push(c)}b=si(Ca(b,function(a){z(g)&&(a=Wc(Yc([a],g)));var b=a;return function(a){if(a!==k){a={TileMatrix:e.g[a.n],TileCol:a.x,TileRow:a.y};"KVP"!=d&&Wa(a,f);var c=b,g;for(g in a)c=c.replace("{"+g+"}",a[g]).replace("%7B"+g+"%7D",a[g]);return c}}}));b=vi(function(b,c,d){if(c.fb().length<=b.n)return k;var e=b.x,f=-b.y-1,g=jg(c,b),i=d.I(),m=z(a.extent)?a.extent:i;m!==k&&(d.Lb&&m.h===i.h&&m.j===i.j)&&(d=Math.ceil((m.j- +m.h)/(g.j-g.h)),e=Ib(e,d),g=jg(c,new ve(b.n,e,b.y)));return!fe(g,m)?k:new ve(b.n,e,f)},b);yi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,tileGrid:e,ba:b})}D(Ri,yi);C("goog.require",ba);function Si(a){Eh.call(this,{element:a.element,map:a.map,position:a.position,positioning:a.positioning})}D(Si,Eh);C("ol.AnchoredElement",Si);C("ol.AnchoredElementPositioning",Dh);Dh.BOTTOM_LEFT="bottom-left";Dh.BOTTOM_RIGHT="bottom-right";Dh.TOP_LEFT="top-left";Dh.TOP_RIGHT="top-right";C("ol.Attribution",ye);C("ol.Collection",N);N.prototype.clear=N.prototype.clear;N.prototype.forEach=N.prototype.forEach;N.prototype.getAt=N.prototype.ld;N.prototype.getLength=N.prototype.eb; +N.prototype.insertAt=N.prototype.mb;N.prototype.pop=N.prototype.pop;N.prototype.push=N.prototype.push;N.prototype.remove=N.prototype.remove;N.prototype.removeAt=N.prototype.Yb;N.prototype.setAt=N.prototype.oe;C("ol.Coordinate",L);C("ol.Coordinate.createStringXY",function(a){return function(b){return Tc(b,a)}});C("ol.Coordinate.fromProjectedArray",Uc);C("ol.Coordinate.toStringHDMS",function(a){return z(a)?Sc(a.y,"NS")+" "+Sc(a.x,"EW"):""});C("ol.Coordinate.toStringXY",Tc);C("ol.Extent",P); +P.prototype.containsCoordinate=P.prototype.ed;P.prototype.containsExtent=P.prototype.lc;P.prototype.getBottomLeft=P.prototype.nd;P.prototype.getBottomRight=P.prototype.od;P.prototype.getCenter=P.prototype.a;P.prototype.getHeight=P.prototype.da;P.prototype.getTopLeft=P.prototype.gb;P.prototype.getTopRight=P.prototype.sd;P.prototype.getWidth=P.prototype.ha;P.prototype.transform=P.prototype.transform;C("ol.Geolocation",V); +function Ti(a){U.call(this,{controls:a.controls,interactions:a.interactions,layers:a.layers,renderer:a.renderer,renderers:a.renderers,target:a.target,view:a.view})}D(Ti,U);C("ol.Map",Ti);U.prototype.addLayer=U.prototype.ce;U.prototype.addPreRenderFunction=U.prototype.ga;U.prototype.addPreRenderFunctions=U.prototype.$c;U.prototype.getInteractions=U.prototype.Gb;U.prototype.getRenderer=U.prototype.Tc;U.prototype.removeLayer=U.prototype.de;af.prototype.getCoordinate=af.prototype.b;C("ol.Object",M); +M.prototype.bindTo=M.prototype.ad;M.prototype.changed=M.prototype.dd;M.prototype.get=M.prototype.q;M.prototype.notify=M.prototype.Ec;M.prototype.set=M.prototype.p;M.prototype.setOptions=M.prototype.Mc;M.prototype.setValues=M.prototype.ub;M.prototype.unbind=M.prototype.bc;M.prototype.unbindAll=M.prototype.ye;function Ui(a){Je.call(this,{axisOrientation:a.axisOrientation,code:a.code,extent:a.extent,global:a.global,units:a.units})}D(Ui,Je);C("ol.Projection",Ui);Je.prototype.getAxisOrientation=Je.prototype.md; +Je.prototype.getCode=Je.prototype.qd;Je.prototype.getExtent=Je.prototype.I;Je.prototype.getMetersPerUnit=Je.prototype.sc;Je.prototype.getPointResolution=Je.prototype.c;Je.prototype.getUnits=Je.prototype.td;Je.prototype.isGlobal=Je.prototype.$d;C("ol.ProjectionUnits",He);He.DEGREES="degrees";He.FEET="ft";He.METERS="m";C("ol.RendererHint",zh);zh.CANVAS="canvas";zh.DOM="dom";zh.WEBGL="webgl";C("ol.RendererHints",yh);yh.createFromQueryData=yh.fd; +function Vi(a){T.call(this,{center:a.center,maxResolution:a.maxResolution,numZoomLevels:a.numZoomLevels,projection:a.projection,resolution:a.resolution,resolutions:a.resolutions,rotation:a.rotation,zoom:a.zoom,zoomFactor:a.zoomFactor})}D(Vi,T);C("ol.View2D",Vi);T.prototype.fitExtent=T.prototype.f;T.prototype.getView2D=T.prototype.g;C("ol.animation",tf);tf.bounce=tf.Ib;tf.pan=tf.aa;tf.rotate=tf.rotate;tf.zoom=tf.zoom;function Wi(a){Af.call(this,{map:a.map,target:a.target})}D(Wi,Af); +C("ol.control.Attribution",Wi);Af.prototype.setMap=Af.prototype.a;function Xi(a){Hh.call(this,{coordinateFormat:a.coordinateFormat,map:a.map,projection:a.projection,target:a.target,undefinedHTML:a.undefinedHTML})}D(Xi,Hh);C("ol.control.MousePosition",Xi);Hh.prototype.setMap=Hh.prototype.a;function Yi(a){Kh.call(this,{map:a.map,minWidth:a.minWidth,target:a.target,units:a.units})}D(Yi,Kh);C("ol.control.ScaleLine",Yi);Kh.prototype.setMap=Kh.prototype.a;C("ol.control.ScaleLineUnits",Jh);Jh.DEGREES="degrees"; +Jh.IMPERIAL="imperial";Jh.METRIC="metric";Jh.NAUTICAL="nautical";Jh.US="us";function Zi(a){Bf.call(this,{delta:a.delta,map:a.map,target:a.target})}D(Zi,Bf);C("ol.control.Zoom",Zi);Bf.prototype.setMap=Bf.prototype.a;C("ol.control.defaults",Cf);C("ol.easing",S);S.bounce=S.Ib;S.easeIn=S.hd;S.easeOut=S.Ia;S.elastic=S.jd;S.inAndOut=S.Aa;S.linear=S.Ac;S.upAndDown=S.Rc;C("ol.interaction.Keyboard",Mh);Mh.prototype.addCallback=Mh.prototype.b;C("ol.interaction.defaults",Yf); +function $i(a){R.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}D($i,Lg);C("ol.layer.ImageLayer",$i);function aj(a){R.call(this,{brightness:a.brightness,contrast:a.contrast,hue:a.hue,opacity:a.opacity,saturation:a.saturation,source:a.source,visible:a.visible})}D(aj,Mg);C("ol.layer.TileLayer",aj);C("ol.parser.ogc.WMSCapabilities",Yh);Yh.prototype.read=Yh.prototype.ta;C("ol.parser.ogc.WMTSCapabilities",bi); +bi.prototype.read=bi.prototype.ta;C("ol.projection.addProjection",Re);C("ol.projection.configureProj4jsProjection",function(a){return Me(a)});C("ol.projection.get",Ve);C("ol.projection.getTransform",We);C("ol.projection.getTransformFromProjections",Le);C("ol.projection.transform",function(a,b,c){b=We(b,c);a=[a.x,a.y];a=b(a,a,2);return new L(a[0],a[1])});C("ol.projection.transformWithProjections",function(a,b,c){b=Le(b,c);a=[a.x,a.y];a=b(a,a,2);return new L(a[0],a[1])});Qg.prototype.getCanvas=Qg.prototype.bb; +function bj(a){Ai.call(this,{culture:a.culture,key:a.key,style:a.style})}D(bj,Ai);C("ol.source.BingMaps",bj);function cj(a){Ci.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid})}D(cj,Ci);C("ol.source.DebugTileSource",cj);C("ol.source.MapQuestOSM",Ei);C("ol.source.MapQuestOpenAerial",Fi);C("ol.source.OpenStreetMap",Gi); +function dj(a){Hi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,params:a.params,projection:a.projection,resolutions:a.resolutions,url:a.url})}D(dj,Hi);C("ol.source.SingleImageWMS",dj);function ej(a){Li.call(this,{layer:a.layer,maxZoom:a.maxZoom,minZoom:a.minZoom,opaque:a.opaque,url:a.url})}D(ej,Li);C("ol.source.Stamen",ej); +function fj(a){Mi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,imageExtent:a.imageExtent,imageSize:a.imageSize,projection:a.projection,url:a.url})}D(fj,Mi);C("ol.source.StaticImage",fj);function gj(a){Oi.call(this,{uri:a.uri})}D(gj,Oi);C("ol.source.TileJSON",gj);function hj(a){Pi.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,maxZoom:a.maxZoom,params:a.params,projection:a.projection,tileGrid:a.tileGrid,url:a.url,urls:a.urls})} +D(hj,Pi);C("ol.source.TiledWMS",hj);function ij(a){Ri.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,dimensions:a.dimensions,extent:a.extent,format:a.format,layer:a.layer,matrixSet:a.matrixSet,maxZoom:a.maxZoom,projection:a.projection,requestEncoding:a.requestEncoding,style:a.style,tileGrid:a.tileGrid,url:a.url,urls:a.urls})}D(ij,Ri);C("ol.source.WMTS",ij); +C("ol.source.WMTS.optionsFromCapabilities",function(a,b){var c;c=a.contents.layers;var d=Ea(c,function(a){return a.identifier==b},h);c=0>d?k:ga(c)?c.charAt(d):c[d];var d=c.tileMatrixSetLinks[0].tileMatrixSet,e=c.formats[0],f=Ea(c.styles,function(a){return a.isDefault});0>f&&(f=0);var f=c.styles[f].identifier,g={};F(c.dimensions,function(a){var b=a.identifier,c=a["default"];z(c)||(c=a.values[0]);g[b]=c});var i=a.contents.tileMatrixSets[d],m,q=[],t=[],r=[],y=[],w=Ve(i.supportedCRS).sc();F(i.matrixIds, +function(a){t.push(a.identifier);r.push(a.topLeftCorner);q.push(2.8E-4*a.scaleDenominator/w);y.push(new de(a.tileWidth,a.tileHeight))});m=new Qi({origins:r,resolutions:q,matrixIds:t,tileSizes:y});var i=Ve(i.supportedCRS),s=a.operationsMetadata.GetTile.dcp.http.get,x=Qa(s[0].constraints.GetEncoding.allowedValues)[0],u;switch(x){case "REST":u=c.resourceUrls.tile[e];break;case "KVP":u=[],F(s,function(a){a.constraints.GetEncoding.allowedValues.hasOwnProperty("KVP")&&u.push(a.url)})}return{urls:u,layer:b, +matrixSet:d,format:e,projection:i,requestEncoding:x,tileGrid:m,style:f,dimensions:g}});function jj(a){ig.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}D(jj,ig);C("ol.tilegrid.TileGrid",jj);function kj(a){Qi.call(this,{matrixIds:a.matrixIds,origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})}D(kj,Qi);C("ol.tilegrid.WMTS",kj);function lj(a){zi.call(this,{maxZoom:a.maxZoom})} +D(lj,zi);C("ol.tilegrid.XYZ",lj);tf.De={};tf.Ue={};tf.Ve={};tf.df={};})(); diff --git a/master/examples/example-list.js b/master/examples/example-list.js index 7a51f352a9..5b4e75cfce 100644 --- a/master/examples/example-list.js +++ b/master/examples/example-list.js @@ -1 +1 @@ -var info={"index": {"composed": {"16": 1}, "code": {"11": 4}, "labels": {"16": 2}, "rotated": {"11": 1}, "jpeg": {"6": 3}, "openaerial": {"0": 1, "7": 1}, "osm": {"4": 1}, "parks": {"19": 1}, "alt": {"11": 1}, "layers": {"16": 2, "19": 1, "4": 1, "14": 1}, "1": {"19": 2}, "wms": {"18": 3, "19": 3, "20": 3, "21": 3}, "coordinates": {"4": 3}, "to": {"11": 1}, "only": {"8": 1, "3": 1}, "black": {"4": 1}, "saturation": {"8": 3}, "watercolor": {"16": 2}, "grid": {"4": 1}, "tiled": {"19": 2, "21": 2}, "not": {"4": 1}, "using": {"19": 1}, "rotation": {"11": 2, "14": 1}, "parsing": {"18": 2}, "transparent": {"13": 3}, "and": {"19": 1, "14": 1}, "rotate": {"11": 1}, "semi": {"13": 2}, "brightness": {"3": 3}, "side": {"14": 4}, "national": {"19": 1}, "terrain": {"16": 2}, "sync": {"14": 1}, "4326": {"5": 2}, "anchored": {"0": 3}, "full": {"7": 2}, "export": {"6": 2}, "are": {"16": 1, "4": 2}, "fullscreen": {"7": 1}, "canvas": {"4": 3, "14": 3}, "scale": {"12": 3}, "overlay": {"0": 1}, "demonstrates": {"0": 1}, "outside": {"10": 1}, "exporting": {"6": 1}, "contrast": {"3": 3}, "popup": {"0": 1}, "screen": {"7": 2}, "ol3": {"4": 1}, "html5": {"4": 1}, "tilejson": {"17": 3, "13": 1}, "by": {"14": 2}, "on": {"8": 1, "3": 1, "4": 1}, "shift": {"11": 1}, "generated": {"4": 1}, "base": {"16": 1}, "origin": {"4": 2}, "openstreetmap": {"4": 1, "6": 1, "10": 1, "11": 1, "12": 1, "15": 1}, "projection": {"19": 3}, "simple": {"15": 3}, "image": {"20": 3, "6": 1}, "one": {"14": 3}, "tilelayer": {"19": 1, "21": 1, "7": 1}, "capabilities": {"18": 1}, "mapquest": {"0": 1, "9": 3, "13": 1, "7": 1}, "epsg4326": {"5": 1}, "use": {"11": 1}, "source": {"16": 1}, "epsg": {"19": 1, "5": 2}, "top": {"4": 1}, "three": {"14": 1}, "custom": {"19": 1}, "pixelmap": {"19": 1}, "hue": {"8": 3}, "that": {"4": 1}, "normalized": {"4": 1}, "line": {"12": 3}, "with": {"16": 1, "19": 1, "4": 1, "13": 1}, "single": {"20": 2}, "of": {"2": 1, "3": 1, "5": 1, "6": 1, "7": 1, "8": 1, "9": 1, "10": 1, "11": 1, "12": 1, "13": 1, "15": 1, "16": 1, "17": 1, "18": 1, "19": 1, "20": 1, "21": 1}, "example": {"0": 1, "1": 2, "2": 2, "3": 2, "4": 1, "5": 2, "6": 2, "7": 2, "8": 2, "9": 2, "10": 2, "11": 2, "12": 2, "13": 2, "14": 1, "15": 2, "16": 2, "17": 2, "18": 2, "19": 2, "20": 2, "21": 2}, "control": {"8": 1, "10": 1, "3": 1}, "layer": {"2": 1, "13": 2, "16": 1, "17": 1, "20": 1, "21": 1}, "share": {"14": 1}, "tiles": {"4": 2}, "21781": {"19": 1}, "an": {"4": 1}, "as": {"6": 1}, "in": {"5": 1}, "getcapabilities": {"18": 3}, "mouse": {"10": 3}, "webgl": {"8": 2, "3": 2, "14": 2}, "same": {"14": 1}, "note": {"4": 1}, "maps": {"2": 3, "14": 1}, "animation": {"1": 2}, "tile": {"16": 1, "19": 1, "4": 3, "21": 1, "7": 1}, "stamen": {"16": 3}, "map": {"5": 1, "6": 1, "7": 1, "9": 1, "10": 1, "11": 2, "13": 1, "15": 1}, "elements": {"0": 3}, "object": {"14": 1}, "drag": {"11": 1}, "000": {"19": 2}, "two": {"16": 2, "19": 1}, "animations": {"1": 1}, "response": {"18": 1}, "a": {"2": 1, "5": 1, "6": 2, "7": 1, "9": 1, "10": 1, "11": 1, "12": 1, "13": 2, "15": 1, "16": 1, "17": 1, "18": 1, "20": 1, "21": 1}, "center": {"14": 1}, "dom": {"14": 2}, "bing": {"2": 4}, "bottom": {"4": 1}, "client": {"8": 1, "3": 1, "4": 1}, "position": {"10": 3}, "the": {"3": 1, "4": 3, "8": 1, "10": 1, "11": 1, "14": 2, "16": 2, "19": 1}, "resolution": {"14": 1}, "left": {"4": 2}}, "examples": [{"author": "Frederic Junod", "tags": "anchored elements, overlay, popup, mapquest, openaerial", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "anchored-elements.html", "shortdesc": "Demonstrates anchored elements.", "title": "Anchored elements example", "example": "anchored-elements.html"}, {"author": "Tom Payne", "tags": "animation", "modified": "2013-03-07T02:56:28+0100", "classes": [], "link": "animation.html", "shortdesc": "Example animations.", "title": "Animation example", "example": "animation.html"}, {"author": "Tom Payne", "tags": "bing, bing-maps", "modified": "2013-03-06T20:13:45+0100", "classes": [], "link": "bing-maps.html", "shortdesc": "Example of a Bing Maps layer.", "title": "Bing Maps example", "example": "bing-maps.html"}, {"author": "Tom Payne", "tags": "brightness, contrast, webgl", "modified": "2013-03-07T01:53:52+0100", "classes": [], "link": "brightness-contrast.html", "shortdesc": "Example of brightness/contrast control on the client (WebGL only).", "title": "Brightness/contrast example", "example": "brightness-contrast.html"}, {"author": "Frederic Junod", "tags": "layers, openstreetmap, canvas", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "canvas-tiles.html", "shortdesc": "The black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).", "title": "Canvas tiles example", "example": "canvas-tiles.html"}, {"author": "Frederic Junod", "tags": "epsg4326", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "epsg-4326.html", "shortdesc": "Example of a map in EPSG:4326.", "title": "EPSG:4326 example", "example": "epsg-4326.html"}, {"author": "Tom Payne", "tags": "export-jpeg, openstreetmap", "modified": "2013-03-06T21:28:59+0100", "classes": [], "link": "export-jpeg.html", "shortdesc": "Example of exporting a map as a JPEG image.", "title": "Export JPEG example", "example": "export-jpeg.html"}, {"author": "Frederic Junod", "tags": "fullscreen, mapquest, openaerial, tile, tilelayer", "modified": "2013-03-06T17:31:46+0100", "classes": [], "link": "full-screen.html", "shortdesc": "Example of a full-screen map.", "title": "Full-screen example", "example": "full-screen.html"}, {"author": "Tom Payne", "tags": "hue, saturation, webgl", "modified": "2013-03-07T01:42:14+0100", "classes": [], "link": "hue-saturation.html", "shortdesc": "Example of hue/saturation control on the client (WebGL only).", "title": "Hue/saturation example", "example": "hue-saturation.html"}, {"author": "Tom Payne", "tags": "mapquest", "modified": "2013-03-07T00:46:09+0100", "classes": [], "link": "mapquest.html", "shortdesc": "Example of a MapQuest map.", "title": "MapQuest example", "example": "mapquest.html"}, {"author": "Tom Payne", "tags": "mouse-position, openstreetmap", "modified": "2013-03-06T20:45:08+0100", "classes": [], "link": "mouse-position.html", "shortdesc": "Example of a mouse position control, outside the map.", "title": "Mouse position example", "example": "mouse-position.html"}, {"author": "Tom Payne", "tags": "rotation, openstreetmap", "modified": "2013-03-09T21:48:33+0100", "classes": [], "link": "rotation.html", "shortdesc": "Example of a rotated map. Use Alt+Shift+drag to rotate the map.", "title": "Rotation example", "example": "rotation.html"}, {"author": "Tom Payne", "tags": "scale-line, openstreetmap", "modified": "2013-03-06T20:34:47+0100", "classes": [], "link": "scale-line.html", "shortdesc": "Example of a scale line.", "title": "Scale line example", "example": "scale-line.html"}, {"author": "Tom Payne", "tags": "transparent, mapquest, tilejson", "modified": "2013-03-09T17:18:41+0100", "classes": [], "link": "semi-transparent-layer.html", "shortdesc": "Example of a map with a semi-transparent layer.", "title": "Semi-transparent layer example", "example": "semi-transparent-layer.html"}, {"author": "Tom Payne", "tags": "side-by-side, canvas, webgl, dom, canvas, sync, object", "modified": "2013-03-07T03:15:19+0100", "classes": [], "link": "side-by-side.html", "shortdesc": "The three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers.", "title": "Side-by-side example", "example": "side-by-side.html"}, {"author": "Frederic Junod", "tags": "simple, openstreetmap", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "simple.html", "shortdesc": "Example of a simple map.", "title": "Simple example", "example": "simple.html"}, {"author": "Tom Payne", "tags": "stamen, watercolor, terrain-labels, two-layers", "modified": "2013-03-06T21:08:06+0100", "classes": [], "link": "stamen.html", "shortdesc": "Example of a Stamen tile source. Two layers are composed: the watercolor base layer with the terrain labels.", "title": "Stamen example", "example": "stamen.html"}, {"author": "Tom Payne", "tags": "tilejson", "modified": "2013-03-06T20:21:07+0100", "classes": [], "link": "tilejson.html", "shortdesc": "Example of a TileJSON layer.", "title": "TileJSON example", "example": "tilejson.html"}, {"author": "Frederic Junod", "tags": "wms, capabilities, getcapabilities", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "wms-capabilities.html", "shortdesc": "Example of parsing a WMS GetCapabilities response.", "title": "WMS GetCapabilities parsing example", "example": "wms-capabilities.html"}, {"author": "Frederic Junod", "tags": "wms, tile, tilelayer, projection", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "wms-custom-proj.html", "shortdesc": "Example of two tiled WMS layers (Pixelmap 1:1'000'000 and national parks) using the projection EPSG:21781.", "title": "Tiled WMS with custom projection example", "example": "wms-custom-proj.html"}, {"author": "\u00c9ric Lemoine", "tags": "wms, image", "modified": "2013-03-07T12:29:13+0100", "classes": [], "link": "wms-single-image.html", "shortdesc": "Example of a single image WMS layer.", "title": "Single image WMS example", "example": "wms-single-image.html"}, {"author": "\u00c9ric Lemoine", "tags": "wms, tile, tilelayer", "modified": "2013-03-07T11:59:09+0100", "classes": [], "link": "wms-tiled.html", "shortdesc": "Example of a tiled WMS layer.", "title": "Tiled WMS example", "example": "wms-tiled.html"}]}; \ No newline at end of file +var info={"index": {"composed": {"17": 1}, "code": {"12": 4}, "labels": {"17": 2}, "rotated": {"12": 1}, "jpeg": {"6": 3}, "openaerial": {"0": 1, "7": 1}, "osm": {"4": 1}, "parks": {"20": 1}, "alt": {"12": 1}, "wmts": {"24": 3, "23": 4}, "layers": {"17": 2, "4": 1, "20": 1, "15": 1}, "1": {"20": 2}, "style": {"25": 1}, "wms": {"19": 3, "20": 3, "21": 3, "22": 3}, "coordinates": {"4": 3}, "to": {"12": 1}, "only": {"9": 1, "3": 1}, "black": {"4": 1}, "saturation": {"9": 3}, "controls": {"25": 1}, "watercolor": {"17": 2}, "grid": {"4": 1}, "tiled": {"20": 2, "22": 2}, "not": {"4": 1}, "using": {"20": 1}, "rotation": {"12": 2, "15": 1}, "parsing": {"19": 2}, "transparent": {"14": 3}, "and": {"20": 1, "15": 1}, "rotate": {"12": 1}, "semi": {"14": 2}, "brightness": {"3": 3}, "zoom": {"25": 1}, "side": {"15": 4}, "national": {"20": 1}, "terrain": {"17": 2}, "sync": {"15": 1}, "4326": {"5": 2}, "anchored": {"0": 3}, "full": {"7": 2}, "export": {"6": 2}, "are": {"17": 1, "4": 2}, "fullscreen": {"7": 1}, "canvas": {"4": 3, "15": 3}, "scale": {"13": 3}, "overlay": {"0": 1}, "demonstrates": {"0": 1}, "outside": {"11": 1}, "various": {"25": 1}, "exporting": {"6": 1}, "contrast": {"3": 3}, "popup": {"0": 1}, "zoomslider": {"25": 3}, "screen": {"7": 2}, "ol3": {"4": 1}, "html5": {"4": 1}, "tilejson": {"18": 3, "14": 1}, "by": {"15": 2}, "on": {"9": 1, "3": 1, "4": 1}, "shift": {"12": 1}, "generated": {"4": 1}, "openstreetmap": {"4": 1, "6": 1, "8": 1, "11": 1, "12": 1, "13": 1, "16": 1}, "base": {"17": 1}, "origin": {"4": 2}, "geolocation": {"8": 3}, "projection": {"20": 3}, "simple": {"16": 3}, "image": {"21": 3, "6": 1}, "one": {"15": 3}, "tilelayer": {"20": 1, "22": 1, "7": 1}, "capabilities": {"19": 1, "23": 1}, "mapquest": {"0": 1, "10": 3, "14": 1, "7": 1}, "epsg4326": {"5": 1}, "use": {"12": 1}, "from": {"23": 2}, "source": {"24": 1, "17": 1, "23": 1}, "epsg": {"20": 1, "5": 2}, "top": {"4": 1}, "three": {"15": 1}, "custom": {"20": 1}, "pixelmap": {"20": 1}, "hue": {"9": 3}, "that": {"4": 1}, "slider": {"25": 1}, "normalized": {"4": 1}, "line": {"13": 3}, "with": {"17": 1, "4": 1, "14": 1, "20": 1}, "single": {"21": 2}, "of": {"2": 1, "3": 1, "5": 1, "6": 1, "7": 1, "8": 1, "9": 1, "10": 1, "11": 1, "12": 1, "13": 1, "14": 1, "16": 1, "17": 1, "18": 1, "19": 1, "20": 1, "21": 1, "22": 1, "23": 1, "24": 1, "25": 1}, "example": {"0": 1, "1": 2, "2": 2, "3": 2, "4": 1, "5": 2, "6": 2, "7": 2, "8": 2, "9": 2, "10": 2, "11": 2, "12": 2, "13": 2, "14": 2, "15": 1, "16": 2, "17": 2, "18": 2, "19": 2, "20": 2, "21": 2, "22": 2, "23": 2, "24": 2, "25": 1}, "control": {"11": 1, "9": 1, "3": 1, "25": 2}, "layer": {"2": 1, "14": 2, "17": 1, "18": 1, "21": 1, "22": 1}, "share": {"15": 1}, "tiles": {"4": 2}, "21781": {"20": 1}, "an": {"4": 1}, "as": {"6": 1}, "in": {"5": 1}, "getcapabilities": {"19": 3, "23": 1}, "mouse": {"11": 3}, "built": {"23": 1}, "webgl": {"9": 2, "3": 2, "15": 2}, "same": {"15": 1}, "note": {"4": 1}, "maps": {"2": 3, "15": 1}, "animation": {"1": 2}, "tile": {"17": 1, "4": 3, "22": 1, "20": 1, "7": 1}, "css": {"25": 1}, "stamen": {"17": 3}, "map": {"5": 1, "6": 1, "7": 1, "8": 1, "10": 1, "11": 1, "12": 2, "14": 1, "16": 1}, "elements": {"0": 3}, "styling": {"25": 1}, "object": {"15": 1}, "drag": {"12": 1}, "000": {"20": 2}, "two": {"17": 2, "20": 1}, "animations": {"1": 1}, "response": {"19": 1, "23": 1}, "a": {"2": 1, "5": 1, "6": 2, "7": 1, "8": 1, "10": 1, "11": 1, "12": 1, "13": 1, "14": 2, "16": 1, "17": 1, "18": 1, "19": 1, "21": 1, "22": 1, "23": 2, "24": 1}, "center": {"15": 1}, "dom": {"15": 2}, "bing": {"2": 4}, "bottom": {"4": 1}, "client": {"9": 1, "3": 1, "4": 1}, "position": {"11": 3}, "the": {"3": 1, "4": 3, "9": 1, "11": 1, "12": 1, "15": 2, "17": 2, "20": 1}, "resolution": {"15": 1}, "left": {"4": 2}}, "examples": [{"author": "Frederic Junod", "tags": "anchored elements, overlay, popup, mapquest, openaerial", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "anchored-elements.html", "shortdesc": "Demonstrates anchored elements.", "title": "Anchored elements example", "example": "anchored-elements.html"}, {"author": "Tom Payne", "tags": "animation", "modified": "2013-03-07T02:56:28+0100", "classes": [], "link": "animation.html", "shortdesc": "Example animations.", "title": "Animation example", "example": "animation.html"}, {"author": "Tom Payne", "tags": "bing, bing-maps", "modified": "2013-03-06T20:13:45+0100", "classes": [], "link": "bing-maps.html", "shortdesc": "Example of a Bing Maps layer.", "title": "Bing Maps example", "example": "bing-maps.html"}, {"author": "Tom Payne", "tags": "brightness, contrast, webgl", "modified": "2013-03-07T01:53:52+0100", "classes": [], "link": "brightness-contrast.html", "shortdesc": "Example of brightness/contrast control on the client (WebGL only).", "title": "Brightness/contrast example", "example": "brightness-contrast.html"}, {"author": "Frederic Junod", "tags": "layers, openstreetmap, canvas", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "canvas-tiles.html", "shortdesc": "The black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).", "title": "Canvas tiles example", "example": "canvas-tiles.html"}, {"author": "Frederic Junod", "tags": "epsg4326", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "epsg-4326.html", "shortdesc": "Example of a map in EPSG:4326.", "title": "EPSG:4326 example", "example": "epsg-4326.html"}, {"author": "Tom Payne", "tags": "export-jpeg, openstreetmap", "modified": "2013-03-06T21:28:59+0100", "classes": [], "link": "export-jpeg.html", "shortdesc": "Example of exporting a map as a JPEG image.", "title": "Export JPEG example", "example": "export-jpeg.html"}, {"author": "Frederic Junod", "tags": "fullscreen, mapquest, openaerial, tile, tilelayer", "modified": "2013-03-06T17:31:46+0100", "classes": [], "link": "full-screen.html", "shortdesc": "Example of a full-screen map.", "title": "Full-screen example", "example": "full-screen.html"}, {"author": "Frederic Junod", "tags": "geolocation, openstreetmap", "modified": "2013-03-11T09:27:15+0100", "classes": [], "link": "geolocation.html", "shortdesc": "Example of a geolocation map.", "title": "Geolocation example", "example": "geolocation.html"}, {"author": "Tom Payne", "tags": "hue, saturation, webgl", "modified": "2013-03-07T01:42:14+0100", "classes": [], "link": "hue-saturation.html", "shortdesc": "Example of hue/saturation control on the client (WebGL only).", "title": "Hue/saturation example", "example": "hue-saturation.html"}, {"author": "Tom Payne", "tags": "mapquest", "modified": "2013-03-07T00:46:09+0100", "classes": [], "link": "mapquest.html", "shortdesc": "Example of a MapQuest map.", "title": "MapQuest example", "example": "mapquest.html"}, {"author": "Tom Payne", "tags": "mouse-position, openstreetmap", "modified": "2013-03-06T20:45:08+0100", "classes": [], "link": "mouse-position.html", "shortdesc": "Example of a mouse position control, outside the map.", "title": "Mouse position example", "example": "mouse-position.html"}, {"author": "Tom Payne", "tags": "rotation, openstreetmap", "modified": "2013-03-09T21:48:33+0100", "classes": [], "link": "rotation.html", "shortdesc": "Example of a rotated map. Use Alt+Shift+drag to rotate the map.", "title": "Rotation example", "example": "rotation.html"}, {"author": "Tom Payne", "tags": "scale-line, openstreetmap", "modified": "2013-03-06T20:34:47+0100", "classes": [], "link": "scale-line.html", "shortdesc": "Example of a scale line.", "title": "Scale line example", "example": "scale-line.html"}, {"author": "Tom Payne", "tags": "transparent, mapquest, tilejson", "modified": "2013-03-09T17:18:41+0100", "classes": [], "link": "semi-transparent-layer.html", "shortdesc": "Example of a map with a semi-transparent layer.", "title": "Semi-transparent layer example", "example": "semi-transparent-layer.html"}, {"author": "Tom Payne", "tags": "side-by-side, canvas, webgl, dom, canvas, sync, object", "modified": "2013-03-07T03:15:19+0100", "classes": [], "link": "side-by-side.html", "shortdesc": "The three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers.", "title": "Side-by-side example", "example": "side-by-side.html"}, {"author": "Frederic Junod", "tags": "simple, openstreetmap", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "simple.html", "shortdesc": "Example of a simple map.", "title": "Simple example", "example": "simple.html"}, {"author": "Tom Payne", "tags": "stamen, watercolor, terrain-labels, two-layers", "modified": "2013-03-06T21:08:06+0100", "classes": [], "link": "stamen.html", "shortdesc": "Example of a Stamen tile source. Two layers are composed: the watercolor base layer with the terrain labels.", "title": "Stamen example", "example": "stamen.html"}, {"author": "Tom Payne", "tags": "tilejson", "modified": "2013-03-06T20:21:07+0100", "classes": [], "link": "tilejson.html", "shortdesc": "Example of a TileJSON layer.", "title": "TileJSON example", "example": "tilejson.html"}, {"author": "Frederic Junod", "tags": "wms, capabilities, getcapabilities", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "wms-capabilities.html", "shortdesc": "Example of parsing a WMS GetCapabilities response.", "title": "WMS GetCapabilities parsing example", "example": "wms-capabilities.html"}, {"author": "Frederic Junod", "tags": "wms, tile, tilelayer, projection", "modified": "2013-03-06T15:12:01+0100", "classes": [], "link": "wms-custom-proj.html", "shortdesc": "Example of two tiled WMS layers (Pixelmap 1:1'000'000 and national parks) using the projection EPSG:21781.", "title": "Tiled WMS with custom projection example", "example": "wms-custom-proj.html"}, {"author": "\u00c9ric Lemoine", "tags": "wms, image", "modified": "2013-03-07T12:29:13+0100", "classes": [], "link": "wms-single-image.html", "shortdesc": "Example of a single image WMS layer.", "title": "Single image WMS example", "example": "wms-single-image.html"}, {"author": "\u00c9ric Lemoine", "tags": "wms, tile, tilelayer", "modified": "2013-03-07T11:59:09+0100", "classes": [], "link": "wms-tiled.html", "shortdesc": "Example of a tiled WMS layer.", "title": "Tiled WMS example", "example": "wms-tiled.html"}, {"author": "Bruno Binet", "tags": "wmts", "modified": "2013-03-11T11:48:06+0100", "classes": [], "link": "wmts-from-capabilities.html", "shortdesc": "Example of a WMTS source built from a WMTS getCapabilities response.", "title": "WMTS from capabilities example", "example": "wmts-from-capabilities.html"}, {"author": "Bruno Binet", "tags": "wmts", "modified": "2013-03-07T19:40:39+0100", "classes": [], "link": "wmts.html", "shortdesc": "Example of a WMTS source.", "title": "WMTS example", "example": "wmts.html"}, {"author": "Marc Jansen", "tags": "zoom, zoomslider, slider, style, styling, css, control", "modified": "2013-03-11T16:10:10+0100", "classes": [], "link": "zoomslider.html", "shortdesc": "Example of various ZoomSlider controls.", "title": "ZoomSlider control", "example": "zoomslider.html"}]}; \ No newline at end of file diff --git a/master/examples/example-list.xml b/master/examples/example-list.xml index 8e1a123e30..65014137e6 100644 --- a/master/examples/example-list.xml +++ b/master/examples/example-list.xml @@ -1 +1 @@ -OpenLayers Exampleshttp://openlayers.github.com/ol3/master/examples/example-list.xml#2013-03-11T12:33:00Z2013-03-11T12:33:00ZRotation examplerotation, openstreetmapExample of a rotated map. Use <code>Alt</code>+<code>Shift</code>+drag to rotate the map.2013-03-09T21:48:33+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/rotation.html#2013-03-09T21:48:33+0100Semi-transparent layer exampletransparent, mapquest, tilejsonExample of a map with a semi-transparent layer.2013-03-09T17:18:41+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/semi-transparent-layer.html#2013-03-09T17:18:41+0100Single image WMS examplewms, imageExample of a single image WMS layer.2013-03-07T12:29:13+0100Éric Lemoinehttp://openlayers.github.com/ol3/master/examples/wms-single-image.html#2013-03-07T12:29:13+0100Tiled WMS examplewms, tile, tilelayerExample of a tiled WMS layer.2013-03-07T11:59:09+0100Éric Lemoinehttp://openlayers.github.com/ol3/master/examples/wms-tiled.html#2013-03-07T11:59:09+0100Side-by-side exampleside-by-side, canvas, webgl, dom, canvas, sync, objectThe three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers.2013-03-07T03:15:19+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/side-by-side.html#2013-03-07T03:15:19+0100Animation exampleanimationExample animations.2013-03-07T02:56:28+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/animation.html#2013-03-07T02:56:28+0100Brightness/contrast examplebrightness, contrast, webglExample of brightness/contrast control on the client (WebGL only).2013-03-07T01:53:52+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/brightness-contrast.html#2013-03-07T01:53:52+0100Hue/saturation examplehue, saturation, webglExample of hue/saturation control on the client (WebGL only).2013-03-07T01:42:14+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/hue-saturation.html#2013-03-07T01:42:14+0100MapQuest examplemapquestExample of a MapQuest map.2013-03-07T00:46:09+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/mapquest.html#2013-03-07T00:46:09+0100Export JPEG exampleexport-jpeg, openstreetmapExample of exporting a map as a JPEG image.2013-03-06T21:28:59+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/export-jpeg.html#2013-03-06T21:28:59+0100Stamen examplestamen, watercolor, terrain-labels, two-layersExample of a Stamen tile source. Two layers are composed: the watercolor base layer with the terrain labels.2013-03-06T21:08:06+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/stamen.html#2013-03-06T21:08:06+0100Mouse position examplemouse-position, openstreetmapExample of a mouse position control, outside the map.2013-03-06T20:45:08+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/mouse-position.html#2013-03-06T20:45:08+0100Scale line examplescale-line, openstreetmapExample of a scale line.2013-03-06T20:34:47+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/scale-line.html#2013-03-06T20:34:47+0100TileJSON exampletilejsonExample of a TileJSON layer.2013-03-06T20:21:07+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/tilejson.html#2013-03-06T20:21:07+0100Bing Maps examplebing, bing-mapsExample of a Bing Maps layer.2013-03-06T20:13:45+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/bing-maps.html#2013-03-06T20:13:45+0100Full-screen examplefullscreen, mapquest, openaerial, tile, tilelayerExample of a full-screen map.2013-03-06T17:31:46+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/full-screen.html#2013-03-06T17:31:46+0100Anchored elements exampleanchored elements, overlay, popup, mapquest, openaerialDemonstrates anchored elements.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/anchored-elements.html#2013-03-06T15:12:01+0100Canvas tiles examplelayers, openstreetmap, canvasThe black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/canvas-tiles.html#2013-03-06T15:12:01+0100EPSG:4326 exampleepsg4326Example of a map in EPSG:4326.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/epsg-4326.html#2013-03-06T15:12:01+0100Simple examplesimple, openstreetmapExample of a simple map.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/simple.html#2013-03-06T15:12:01+0100WMS GetCapabilities parsing examplewms, capabilities, getcapabilitiesExample of parsing a WMS GetCapabilities response.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/wms-capabilities.html#2013-03-06T15:12:01+0100Tiled WMS with custom projection examplewms, tile, tilelayer, projectionExample of two tiled WMS layers (Pixelmap 1:1'000'000 and national parks) using the projection EPSG:21781.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/wms-custom-proj.html#2013-03-06T15:12:01+0100 \ No newline at end of file +OpenLayers Exampleshttp://openlayers.github.com/ol3/master/examples/example-list.xml#2013-03-11T03:26:49Z2013-03-11T03:26:49ZZoomSlider controlzoom, zoomslider, slider, style, styling, css, controlExample of various ZoomSlider controls.2013-03-11T16:10:10+0100Marc Jansenhttp://openlayers.github.com/ol3/master/examples/zoomslider.html#2013-03-11T16:10:10+0100WMTS from capabilities examplewmtsExample of a WMTS source built from a WMTS getCapabilities response.2013-03-11T11:48:06+0100Bruno Binethttp://openlayers.github.com/ol3/master/examples/wmts-from-capabilities.html#2013-03-11T11:48:06+0100Geolocation examplegeolocation, openstreetmapExample of a geolocation map.2013-03-11T09:27:15+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/geolocation.html#2013-03-11T09:27:15+0100Rotation examplerotation, openstreetmapExample of a rotated map. Use <code>Alt</code>+<code>Shift</code>+drag to rotate the map.2013-03-09T21:48:33+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/rotation.html#2013-03-09T21:48:33+0100Semi-transparent layer exampletransparent, mapquest, tilejsonExample of a map with a semi-transparent layer.2013-03-09T17:18:41+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/semi-transparent-layer.html#2013-03-09T17:18:41+0100WMTS examplewmtsExample of a WMTS source.2013-03-07T19:40:39+0100Bruno Binethttp://openlayers.github.com/ol3/master/examples/wmts.html#2013-03-07T19:40:39+0100Single image WMS examplewms, imageExample of a single image WMS layer.2013-03-07T12:29:13+0100Éric Lemoinehttp://openlayers.github.com/ol3/master/examples/wms-single-image.html#2013-03-07T12:29:13+0100Tiled WMS examplewms, tile, tilelayerExample of a tiled WMS layer.2013-03-07T11:59:09+0100Éric Lemoinehttp://openlayers.github.com/ol3/master/examples/wms-tiled.html#2013-03-07T11:59:09+0100Side-by-side exampleside-by-side, canvas, webgl, dom, canvas, sync, objectThe three maps, one WebGL, one Canvas, one DOM, share the same center, resolution, rotation and layers.2013-03-07T03:15:19+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/side-by-side.html#2013-03-07T03:15:19+0100Animation exampleanimationExample animations.2013-03-07T02:56:28+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/animation.html#2013-03-07T02:56:28+0100Brightness/contrast examplebrightness, contrast, webglExample of brightness/contrast control on the client (WebGL only).2013-03-07T01:53:52+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/brightness-contrast.html#2013-03-07T01:53:52+0100Hue/saturation examplehue, saturation, webglExample of hue/saturation control on the client (WebGL only).2013-03-07T01:42:14+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/hue-saturation.html#2013-03-07T01:42:14+0100MapQuest examplemapquestExample of a MapQuest map.2013-03-07T00:46:09+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/mapquest.html#2013-03-07T00:46:09+0100Export JPEG exampleexport-jpeg, openstreetmapExample of exporting a map as a JPEG image.2013-03-06T21:28:59+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/export-jpeg.html#2013-03-06T21:28:59+0100Stamen examplestamen, watercolor, terrain-labels, two-layersExample of a Stamen tile source. Two layers are composed: the watercolor base layer with the terrain labels.2013-03-06T21:08:06+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/stamen.html#2013-03-06T21:08:06+0100Mouse position examplemouse-position, openstreetmapExample of a mouse position control, outside the map.2013-03-06T20:45:08+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/mouse-position.html#2013-03-06T20:45:08+0100Scale line examplescale-line, openstreetmapExample of a scale line.2013-03-06T20:34:47+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/scale-line.html#2013-03-06T20:34:47+0100TileJSON exampletilejsonExample of a TileJSON layer.2013-03-06T20:21:07+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/tilejson.html#2013-03-06T20:21:07+0100Bing Maps examplebing, bing-mapsExample of a Bing Maps layer.2013-03-06T20:13:45+0100Tom Paynehttp://openlayers.github.com/ol3/master/examples/bing-maps.html#2013-03-06T20:13:45+0100Full-screen examplefullscreen, mapquest, openaerial, tile, tilelayerExample of a full-screen map.2013-03-06T17:31:46+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/full-screen.html#2013-03-06T17:31:46+0100Anchored elements exampleanchored elements, overlay, popup, mapquest, openaerialDemonstrates anchored elements.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/anchored-elements.html#2013-03-06T15:12:01+0100Canvas tiles examplelayers, openstreetmap, canvasThe black grid tiles are generated on the client with an HTML5 canvas. Note that the tile coordinates are ol3 normalized tile coordinates (origin bottom left), not OSM tile coordinates (origin top left).2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/canvas-tiles.html#2013-03-06T15:12:01+0100EPSG:4326 exampleepsg4326Example of a map in EPSG:4326.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/epsg-4326.html#2013-03-06T15:12:01+0100Simple examplesimple, openstreetmapExample of a simple map.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/simple.html#2013-03-06T15:12:01+0100WMS GetCapabilities parsing examplewms, capabilities, getcapabilitiesExample of parsing a WMS GetCapabilities response.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/wms-capabilities.html#2013-03-06T15:12:01+0100Tiled WMS with custom projection examplewms, tile, tilelayer, projectionExample of two tiled WMS layers (Pixelmap 1:1'000'000 and national parks) using the projection EPSG:21781.2013-03-06T15:12:01+0100Frederic Junodhttp://openlayers.github.com/ol3/master/examples/wms-custom-proj.html#2013-03-06T15:12:01+0100 \ No newline at end of file diff --git a/master/examples/geolocation-require.js b/master/examples/geolocation-require.js new file mode 100644 index 0000000000..5c1a6fa4fd --- /dev/null +++ b/master/examples/geolocation-require.js @@ -0,0 +1,8 @@ +goog.require('ol.AnchoredElement'); +goog.require('ol.Coordinate'); +goog.require('ol.Geolocation'); +goog.require('ol.Map'); +goog.require('ol.RendererHints'); +goog.require('ol.View2D'); +goog.require('ol.layer.TileLayer'); +goog.require('ol.source.OpenStreetMap'); diff --git a/master/examples/geolocation.html b/master/examples/geolocation.html new file mode 100644 index 0000000000..258f0250e4 --- /dev/null +++ b/master/examples/geolocation.html @@ -0,0 +1,61 @@ + + + + + + + + + + + Geolocation example + + + + + +
+ +
+
+
+
+
+ +
+ +
+

Geolocation example

+

Example of a geolocation map.

+
+

See the geolocation.js source to see how this is done.

+
+ +
geolocation, openstreetmap
+
+ +
+ +
+ + + + + + + diff --git a/master/examples/geolocation.js b/master/examples/geolocation.js new file mode 100644 index 0000000000..da4a3b4268 --- /dev/null +++ b/master/examples/geolocation.js @@ -0,0 +1,33 @@ +var map = new ol.Map({ + layers: [ + new ol.layer.TileLayer({ + source: new ol.source.OpenStreetMap() + }) + ], + renderers: ol.RendererHints.createFromQueryData(), + target: 'map', + view: new ol.View2D({ + center: new ol.Coordinate(0, 0), + zoom: 2 + }) +}); + +var geolocation = new ol.Geolocation(); +geolocation.bindTo('projection', map.getView()); + +var marker = new ol.AnchoredElement({ + map: map, + element: /** @type {Element} */ ($('').addClass('icon-flag').get(0)) +}); +// bind the marker position to the device location. +marker.bindTo('position', geolocation); + +geolocation.addEventListener('accuracy_changed', function() { + $(marker.getElement()).tooltip({ + title: this.getAccuracy() + 'm from this point' + }); +}); + +$('#locate').click(function() { + geolocation.setTracking(true); +}); diff --git a/master/examples/wmts-from-capabilities-require.js b/master/examples/wmts-from-capabilities-require.js new file mode 100644 index 0000000000..501e234ac7 --- /dev/null +++ b/master/examples/wmts-from-capabilities-require.js @@ -0,0 +1,9 @@ +goog.require('ol.Coordinate'); +goog.require('ol.Extent'); +goog.require('ol.Map'); +goog.require('ol.RendererHints'); +goog.require('ol.View2D'); +goog.require('ol.layer.TileLayer'); +goog.require('ol.parser.ogc.WMTSCapabilities'); +goog.require('ol.projection'); +goog.require('ol.source.WMTS'); diff --git a/master/examples/wmts-from-capabilities.html b/master/examples/wmts-from-capabilities.html new file mode 100644 index 0000000000..5d090fff56 --- /dev/null +++ b/master/examples/wmts-from-capabilities.html @@ -0,0 +1,54 @@ + + + + + + + + + + WMTS from capabilities example + + + + + +
+ +
+
+
+
+
+ +
+ +
+

WMTS from capabilities example

+

Example of a WMTS source built from a WMTS getCapabilities response.

+
+

See the wmts-from-capabilities.js source to see how this is done.

+
+
wmts
+
+ +
+ +
+ + + + + + + diff --git a/master/examples/wmts-from-capabilities.js b/master/examples/wmts-from-capabilities.js new file mode 100644 index 0000000000..b22fd62d7d --- /dev/null +++ b/master/examples/wmts-from-capabilities.js @@ -0,0 +1,36 @@ +var map, capabilities; +var parser = new ol.parser.ogc.WMTSCapabilities(); +var projection = ol.projection.configureProj4jsProjection({ + code: 'EPSG:21781', + extent: new ol.Extent(485869.5728, 76443.1884, 837076.5648, 299941.7864) +}); + +var xhr = new XMLHttpRequest(); +xhr.open('GET', 'http://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml', true); + + +/** + * onload handler for the XHR request. + */ +xhr.onload = function() { + if (xhr.status == 200) { + capabilities = parser.read(xhr.responseXML); + var wmtsOptions = ol.source.WMTS.optionsFromCapabilities( + capabilities, 'ch.swisstopo.pixelkarte-farbe'); + map = new ol.Map({ + layers: [ + new ol.layer.TileLayer({ + source: new ol.source.WMTS(wmtsOptions) + }) + ], + renderers: ol.RendererHints.createFromQueryData(), + target: 'map', + view: new ol.View2D({ + center: projection.getExtent().getCenter(), + projection: projection, + zoom: 1 + }) + }); + } +}; +xhr.send(); diff --git a/master/examples/wmts-require.js b/master/examples/wmts-require.js new file mode 100644 index 0000000000..30f8a1b3a5 --- /dev/null +++ b/master/examples/wmts-require.js @@ -0,0 +1,10 @@ +goog.require('ol.Coordinate'); +goog.require('ol.Extent'); +goog.require('ol.Map'); +goog.require('ol.RendererHint'); +goog.require('ol.View2D'); +goog.require('ol.layer.TileLayer'); +goog.require('ol.projection'); +goog.require('ol.source.OpenStreetMap'); +goog.require('ol.source.WMTS'); +goog.require('ol.tilegrid.WMTS'); diff --git a/master/examples/wmts.html b/master/examples/wmts.html new file mode 100644 index 0000000000..07d0f69eda --- /dev/null +++ b/master/examples/wmts.html @@ -0,0 +1,52 @@ + + + + + + + + + + WMTS example + + + + + +
+ +
+
+
+
+
+ +
+ +
+

WMTS example

+

Example of a WMTS source.

+
+

See the wmts.js source to see how this is done.

+
+
wmts
+
+ +
+ +
+ + + + + diff --git a/master/examples/wmts.js b/master/examples/wmts.js new file mode 100644 index 0000000000..b0129794ca --- /dev/null +++ b/master/examples/wmts.js @@ -0,0 +1,42 @@ +var projection = ol.projection.get('EPSG:900913'); +var projectionExtent = projection.getExtent(); +var size = projectionExtent.getWidth() / 256; +var resolutions = new Array(26); +var matrixIds = new Array(26); +for (var z = 0; z < 26; ++z) { + // generate resolutions and matrixIds arrays for this WMTS + resolutions[z] = size / Math.pow(2, z); + matrixIds[z] = 'EPSG:900913:' + z; +} + +var map = new ol.Map({ + layers: [ + new ol.layer.TileLayer({ + source: new ol.source.OpenStreetMap(), + opacity: 0.7 + }), + new ol.layer.TileLayer({ + source: new ol.source.WMTS({ + url: 'http://v2.suite.opengeo.org/geoserver/gwc/service/wmts/', + layer: 'medford:buildings', + matrixSet: 'EPSG:900913', + format: 'image/png', + projection: projection, + tileGrid: new ol.tilegrid.WMTS({ + origin: projectionExtent.getTopLeft(), + resolutions: resolutions, + matrixIds: matrixIds + }), + style: '_null', + crossOrigin: null, // FIXME: this should be the default + extent: new ol.Extent(-13682835, 5204068, -13667473, 5221690) + }) + }) + ], + renderer: ol.RendererHint.CANVAS, + target: 'map', + view: new ol.View2D({ + center: new ol.Coordinate(-13677832, 5213272), + zoom: 13 + }) +}); diff --git a/master/ol/ol/coordinate.exports b/master/ol/ol/coordinate.exports index 1dec787cd7..c538ed312c 100644 --- a/master/ol/ol/coordinate.exports +++ b/master/ol/ol/coordinate.exports @@ -1,2 +1,5 @@ @exportSymbol ol.Coordinate -@exportProperty ol.Coordinate.toStringHDMS +@exportSymbol ol.Coordinate.createStringXY +@exportSymbol ol.Coordinate.toStringHDMS +@exportSymbol ol.Coordinate.toStringXY +@exportSymbol ol.Coordinate.fromProjectedArray diff --git a/master/ol/ol/extent.exports b/master/ol/ol/extent.exports index b52ee8007a..9ba8337eaa 100644 --- a/master/ol/ol/extent.exports +++ b/master/ol/ol/extent.exports @@ -1,3 +1,11 @@ @exportSymbol ol.Extent +@exportProperty ol.Extent.prototype.getCenter @exportProperty ol.Extent.prototype.getHeight @exportProperty ol.Extent.prototype.getWidth +@exportProperty ol.Extent.prototype.containsCoordinate +@exportProperty ol.Extent.prototype.containsExtent +@exportProperty ol.Extent.prototype.getBottomLeft +@exportProperty ol.Extent.prototype.getBottomRight +@exportProperty ol.Extent.prototype.getTopLeft +@exportProperty ol.Extent.prototype.getTopRight +@exportProperty ol.Extent.prototype.transform diff --git a/master/ol/ol/extent.js b/master/ol/ol/extent.js index 5595382e7c..e20c5bfb17 100644 --- a/master/ol/ol/extent.js +++ b/master/ol/ol/extent.js @@ -45,6 +45,35 @@ ol.Extent.boundingExtent = function(var_args) { }; +/** + * @param {ol.Coordinate} center Center. + * @param {number} resolution Resolution. + * @param {number} rotation Rotation. + * @param {ol.Size} size Size. + * @return {ol.Extent} Extent. + */ +ol.Extent.getForView2DAndSize = function(center, resolution, rotation, size) { + var dx = resolution * size.width / 2; + var dy = resolution * size.height / 2; + var cosRotation = Math.cos(rotation); + var sinRotation = Math.sin(rotation); + var xs = [-dx, -dx, dx, dx]; + var ys = [-dy, dy, -dy, dy]; + var i, x, y; + for (i = 0; i < 4; ++i) { + x = xs[i]; + y = ys[i]; + xs[i] = center.x + x * cosRotation - y * sinRotation; + ys[i] = center.y + x * sinRotation + y * cosRotation; + } + var minX = Math.min.apply(null, xs); + var minY = Math.min.apply(null, ys); + var maxX = Math.max.apply(null, xs); + var maxY = Math.max.apply(null, ys); + return new ol.Extent(minX, minY, maxX, maxY); +}; + + /** * Checks if the passed coordinate is contained or on the edge * of the extent. diff --git a/master/ol/ol/map.js b/master/ol/ol/map.js index 7e8e04dfcb..3d13c77fd1 100644 --- a/master/ol/ol/map.js +++ b/master/ol/ol/map.js @@ -728,24 +728,8 @@ ol.Map.prototype.renderFrame_ = function(time) { if (!goog.isNull(frameState)) { // FIXME works for View2D only - var center = view2DState.center; - var resolution = view2DState.resolution; - var rotation = view2DState.rotation; - var x = resolution * size.width / 2; - var y = resolution * size.height / 2; - var corners = [ - new ol.Coordinate(-x, -y), - new ol.Coordinate(-x, y), - new ol.Coordinate(x, -y), - new ol.Coordinate(x, y) - ]; - var corner; - for (i = 0; i < 4; ++i) { - corner = corners[i]; - corner.rotate(rotation); - corner.add(center); - } - frameState.extent = ol.Extent.boundingExtent.apply(null, corners); + frameState.extent = ol.Extent.getForView2DAndSize(view2DState.center, + view2DState.resolution, view2DState.rotation, frameState.size); } this.frameState_ = frameState; diff --git a/master/ol/ol/parser/ogc/wmtscapabilities_v1_0_0.js b/master/ol/ol/parser/ogc/wmtscapabilities_v1_0_0.js index 4c88cdd59f..11cf87949d 100644 --- a/master/ol/ol/parser/ogc/wmtscapabilities_v1_0_0.js +++ b/master/ol/ol/parser/ogc/wmtscapabilities_v1_0_0.js @@ -67,7 +67,7 @@ ol.parser.ogc.WMTSCapabilities_v1_0_0 = function() { }, 'TileMatrix': function(node, obj) { var tileMatrix = { - 'supportedCRS': obj.supportedCRS + 'supportedCRS': obj['supportedCRS'] }; this.readChildNodes(node, tileMatrix); obj['matrixIds'].push(tileMatrix); diff --git a/master/ol/ol/renderer/canvas/canvastilelayerrenderer.js b/master/ol/ol/renderer/canvas/canvastilelayerrenderer.js index 6c083c9c50..ac03dd7652 100644 --- a/master/ol/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/master/ol/ol/renderer/canvas/canvastilelayerrenderer.js @@ -6,6 +6,7 @@ goog.provide('ol.renderer.canvas.TileLayer'); goog.require('goog.array'); goog.require('goog.dom'); goog.require('goog.vec.Mat4'); +goog.require('ol.Extent'); goog.require('ol.Size'); goog.require('ol.Tile'); goog.require('ol.TileCoord'); @@ -103,8 +104,17 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = var z = tileGrid.getZForResolution(view2DState.resolution); var tileSize = tileGrid.getTileSize(z); var tileResolution = tileGrid.getResolution(z); + var center = view2DState.center; + var extent; + if (tileResolution == view2DState.resolution) { + center = this.snapCenterToPixel(center, tileResolution, frameState.size); + extent = ol.Extent.getForView2DAndSize( + center, tileResolution, view2DState.rotation, frameState.size); + } else { + extent = frameState.extent; + } var tileRange = tileGrid.getTileRangeForExtentAndResolution( - frameState.extent, tileResolution); + extent, tileResolution); var tileRangeWidth = tileRange.getWidth(); var tileRangeHeight = tileRange.getHeight(); @@ -238,7 +248,7 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = } this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); - tileSource.useLowResolutionTiles(z, frameState.extent, tileGrid); + tileSource.useLowResolutionTiles(z, extent, tileGrid); this.scheduleExpireCache(frameState, tileSource); var transform = this.transform_; @@ -253,8 +263,8 @@ ol.renderer.canvas.TileLayer.prototype.renderFrame = 1); goog.vec.Mat4.translate( transform, - (origin.x - view2DState.center.x) / tileResolution, - (view2DState.center.y - origin.y) / tileResolution, + (origin.x - center.x) / tileResolution, + (center.y - origin.y) / tileResolution, 0); }; diff --git a/master/ol/ol/renderer/dom/domtilelayerrenderer.js b/master/ol/ol/renderer/dom/domtilelayerrenderer.js index fd1e221106..a3d99ff47d 100644 --- a/master/ol/ol/renderer/dom/domtilelayerrenderer.js +++ b/master/ol/ol/renderer/dom/domtilelayerrenderer.js @@ -90,8 +90,17 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = } var z = tileGrid.getZForResolution(view2DState.resolution); var tileResolution = tileGrid.getResolution(z); + var center = view2DState.center; + var extent; + if (tileResolution == view2DState.resolution) { + center = this.snapCenterToPixel(center, tileResolution, frameState.size); + extent = ol.Extent.getForView2DAndSize( + center, tileResolution, view2DState.rotation, frameState.size); + } else { + extent = frameState.extent; + } var tileRange = tileGrid.getTileRangeForExtentAndResolution( - frameState.extent, tileResolution); + extent, tileResolution); /** @type {Object.>} */ var tilesToDrawByZ = {}; @@ -146,7 +155,7 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = tileLayerZ = this.tileLayerZs_[tileLayerZKey]; } else { tileCoordOrigin = - tileGrid.getTileCoordForCoordAndZ(view2DState.center, tileLayerZKey); + tileGrid.getTileCoordForCoordAndZ(center, tileLayerZKey); tileLayerZ = new ol.renderer.dom.TileLayerZ_(tileGrid, tileCoordOrigin); newTileLayerZKeys[tileLayerZKey] = true; this.tileLayerZs_[tileLayerZKey] = tileLayerZ; @@ -183,8 +192,8 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = resolution / view2DState.resolution, 1); goog.vec.Mat4.translate( transform, - (origin.x - view2DState.center.x) / resolution, - (view2DState.center.y - origin.y) / resolution, + (origin.x - center.x) / resolution, + (center.y - origin.y) / resolution, 0); tileLayerZ.setTransform(transform); if (tileLayerZKey in newTileLayerZKeys) { @@ -201,7 +210,7 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = } else { if (!frameState.viewHints[ol.ViewHint.ANIMATING] && !frameState.viewHints[ol.ViewHint.INTERACTING]) { - tileLayerZ.removeTilesOutsideExtent(frameState.extent); + tileLayerZ.removeTilesOutsideExtent(extent); } } } @@ -217,7 +226,7 @@ ol.renderer.dom.TileLayer.prototype.renderFrame = } this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); - tileSource.useLowResolutionTiles(z, frameState.extent, tileGrid); + tileSource.useLowResolutionTiles(z, extent, tileGrid); this.scheduleExpireCache(frameState, tileSource); }; diff --git a/master/ol/ol/renderer/layerrenderer.js b/master/ol/ol/renderer/layerrenderer.js index f48ec2e312..f00a47f365 100644 --- a/master/ol/ol/renderer/layerrenderer.js +++ b/master/ol/ol/renderer/layerrenderer.js @@ -3,6 +3,7 @@ goog.provide('ol.renderer.Layer'); goog.require('goog.events'); goog.require('goog.events.EventType'); goog.require('ol.Attribution'); +goog.require('ol.Coordinate'); goog.require('ol.FrameState'); goog.require('ol.Image'); goog.require('ol.ImageState'); @@ -299,3 +300,18 @@ ol.renderer.Layer.prototype.createGetTileIfLoadedFunction = return isLoadedFunction(tile) ? tile : null; }; }; + + +/** + * @param {ol.Coordinate} center Center. + * @param {number} resolution Resolution. + * @param {ol.Size} size Size. + * @return {ol.Coordinate} Snapped center. + * @protected + */ +ol.renderer.Layer.prototype.snapCenterToPixel = + function(center, resolution, size) { + return new ol.Coordinate( + resolution * (Math.round(center.x / resolution) + (size.width % 2) / 2), + resolution * (Math.round(center.y / resolution) + (size.height % 2) / 2)); +}; diff --git a/master/ol/ol/renderer/webgl/webgltilelayerrenderer.js b/master/ol/ol/renderer/webgl/webgltilelayerrenderer.js index 2c6fcae043..ff586257fc 100644 --- a/master/ol/ol/renderer/webgl/webgltilelayerrenderer.js +++ b/master/ol/ol/renderer/webgl/webgltilelayerrenderer.js @@ -282,7 +282,6 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = var view2DState = frameState.view2DState; var projection = view2DState.projection; - var center = view2DState.center; var tileLayer = this.getTileLayer(); var tileSource = tileLayer.getTileSource(); @@ -293,8 +292,17 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = } var z = tileGrid.getZForResolution(view2DState.resolution); var tileResolution = tileGrid.getResolution(z); + var center = view2DState.center; + var extent; + if (tileResolution == view2DState.resolution) { + center = this.snapCenterToPixel(center, tileResolution, frameState.size); + extent = ol.Extent.getForView2DAndSize( + center, tileResolution, view2DState.rotation, frameState.size); + } else { + extent = frameState.extent; + } var tileRange = tileGrid.getTileRangeForExtentAndResolution( - frameState.extent, tileResolution); + extent, tileResolution); var framebufferExtent; if (!goog.isNull(this.renderedTileRange_) && @@ -460,14 +468,14 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame = } this.updateUsedTiles(frameState.usedTiles, tileSource, z, tileRange); - tileSource.useLowResolutionTiles(z, frameState.extent, tileGrid); + tileSource.useLowResolutionTiles(z, extent, tileGrid); this.scheduleExpireCache(frameState, tileSource); goog.vec.Mat4.makeIdentity(this.texCoordMatrix_); goog.vec.Mat4.translate(this.texCoordMatrix_, - (view2DState.center.x - framebufferExtent.minX) / + (center.x - framebufferExtent.minX) / (framebufferExtent.maxX - framebufferExtent.minX), - (view2DState.center.y - framebufferExtent.minY) / + (center.y - framebufferExtent.minY) / (framebufferExtent.maxY - framebufferExtent.minY), 0); goog.vec.Mat4.rotateZ(this.texCoordMatrix_, view2DState.rotation); diff --git a/master/ol/ol/source/wmtssource.exports b/master/ol/ol/source/wmtssource.exports new file mode 100644 index 0000000000..ef840a8124 --- /dev/null +++ b/master/ol/ol/source/wmtssource.exports @@ -0,0 +1,2 @@ +@exportClass ol.source.WMTS ol.source.WMTSOptions +@exportSymbol ol.source.WMTS.optionsFromCapabilities diff --git a/master/ol/ol/source/wmtssource.js b/master/ol/ol/source/wmtssource.js new file mode 100644 index 0000000000..cd5b1b8a85 --- /dev/null +++ b/master/ol/ol/source/wmtssource.js @@ -0,0 +1,260 @@ +goog.provide('ol.source.WMTS'); +goog.provide('ol.source.WMTSRequestEncoding'); + +goog.require('ol.Attribution'); +goog.require('ol.Extent'); +goog.require('ol.Projection'); +goog.require('ol.TileCoord'); +goog.require('ol.TileUrlFunction'); +goog.require('ol.TileUrlFunctionType'); +goog.require('ol.projection'); +goog.require('ol.source.ImageTileSource'); +goog.require('ol.tilegrid.WMTS'); + + +/** + * @enum {string} + */ +ol.source.WMTSRequestEncoding = { + KVP: 'KVP', // see spec §8 + REST: 'REST' // see spec §10 +}; + + + +/** + * @constructor + * @extends {ol.source.ImageTileSource} + * @param {ol.source.WMTSOptions} wmtsOptions WMTS options. + */ +ol.source.WMTS = function(wmtsOptions) { + + // TODO: add support for TileMatrixLimits + + var version = goog.isDef(wmtsOptions.version) ? + wmtsOptions.version : '1.0.0'; + var format = goog.isDef(wmtsOptions.format) ? + wmtsOptions.format : 'image/jpeg'; + var dimensions = wmtsOptions.dimensions || {}; + + // FIXME: should we guess this requestEncoding from wmtsOptions.url(s) + // structure? that would mean KVP only if a template is not provided. + var requestEncoding = goog.isDef(wmtsOptions.requestEncoding) ? + wmtsOptions.requestEncoding : ol.source.WMTSRequestEncoding.KVP; + + // FIXME: should we create a default tileGrid? + // we could issue a getCapabilities xhr to retrieve missing configuration + var tileGrid = wmtsOptions.tileGrid; + + var context = { + 'Layer': wmtsOptions.layer, + 'style': wmtsOptions.style, + 'TileMatrixSet': wmtsOptions.matrixSet + }; + goog.object.extend(context, dimensions); + var kvpParams; + if (requestEncoding == ol.source.WMTSRequestEncoding.KVP) { + kvpParams = { + 'Service': 'WMTS', + 'Request': 'GetTile', + 'Version': version, + 'Format': format, + 'TileMatrix': '{TileMatrix}', + 'TileRow': '{TileRow}', + 'TileCol': '{TileCol}' + }; + goog.object.extend(kvpParams, context); + } + + // TODO: factorize the code below so that it is usable by all sources + var urls = wmtsOptions.urls; + if (!goog.isDef(urls)) { + urls = []; + var url = wmtsOptions.url; + goog.asserts.assert(goog.isDef(url)); + var match = /\{(\d)-(\d)\}/.exec(url) || /\{([a-z])-([a-z])\}/.exec(url); + if (match) { + var startCharCode = match[1].charCodeAt(0); + var stopCharCode = match[2].charCodeAt(0); + var charCode; + for (charCode = startCharCode; charCode <= stopCharCode; ++charCode) { + urls.push(url.replace(match[0], String.fromCharCode(charCode))); + } + } else { + urls.push(url); + } + } + + /** + * @param {string} template Template. + * @return {ol.TileUrlFunctionType} Tile URL function. + */ + function createFromWMTSTemplate(template) { + return function(tileCoord) { + if (goog.isNull(tileCoord)) { + return undefined; + } else { + var localContext = { + 'TileMatrix': tileGrid.getMatrixId(tileCoord.z), + 'TileCol': tileCoord.x, + 'TileRow': tileCoord.y + }; + if (requestEncoding != ol.source.WMTSRequestEncoding.KVP) { + goog.object.extend(localContext, context); + } + var url = template; + for (var key in localContext) { + // FIXME: should we filter properties with hasOwnProperty? + url = url.replace('{' + key + '}', localContext[key]) + .replace('%7B' + key + '%7D', localContext[key]); + } + return url; + } + }; + } + + var tileUrlFunction = ol.TileUrlFunction.createFromTileUrlFunctions( + goog.array.map(urls, function(url) { + if (goog.isDef(kvpParams)) { + // TODO: we may want to create our own appendParams function + // so that params order conforms to wmts spec guidance, + // and so that we can avoid to escape special template params + url = goog.uri.utils.appendParamsFromMap(url, kvpParams); + } + return createFromWMTSTemplate(url); + })); + + tileUrlFunction = ol.TileUrlFunction.withTileCoordTransform( + function(tileCoord, tileGrid, projection) { + if (tileGrid.getResolutions().length <= tileCoord.z) { + return null; + } + var x = tileCoord.x; + var y = -tileCoord.y - 1; + var tileExtent = tileGrid.getTileCoordExtent(tileCoord); + var projectionExtent = projection.getExtent(); + var extent = goog.isDef(wmtsOptions.extent) ? + wmtsOptions.extent : projectionExtent; + + if (!goog.isNull(extent) && projection.isGlobal() && + extent.minX === projectionExtent.minX && + extent.maxX === projectionExtent.maxX) { + var numCols = Math.ceil( + (extent.maxX - extent.minX) / + (tileExtent.maxX - tileExtent.minX)); + x = goog.math.modulo(x, numCols); + tileExtent = tileGrid.getTileCoordExtent( + new ol.TileCoord(tileCoord.z, x, tileCoord.y)); + } + if (!tileExtent.intersects(extent)) { + return null; + } + return new ol.TileCoord(tileCoord.z, x, y); + }, + tileUrlFunction); + + goog.base(this, { + attributions: wmtsOptions.attributions, + crossOrigin: wmtsOptions.crossOrigin, + extent: wmtsOptions.extent, + projection: wmtsOptions.projection, + tileGrid: tileGrid, + tileUrlFunction: tileUrlFunction + }); + +}; +goog.inherits(ol.source.WMTS, ol.source.ImageTileSource); + + +/** + * @param {Object} wmtsCap An object representing the capabilities document. + * @param {string} layer The layer identifier. + * @return {ol.source.WMTSOptions} WMTS source options object. + */ +ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, layer) { + + // TODO: add support for TileMatrixLimits + + var layers = wmtsCap['contents']['layers']; + var l = goog.array.find(layers, function(elt, index, array) { + return elt['identifier'] == layer; + }); + goog.asserts.assert(!goog.isNull(l)); + goog.asserts.assert(l['tileMatrixSetLinks'].length > 0); + var matrixSet = /** @type {string} */ + (l['tileMatrixSetLinks'][0]['tileMatrixSet']); + var format = /** @type {string} */ (l['formats'][0]); + var idx = goog.array.findIndex(l['styles'], function(elt, index, array) { + return elt['isDefault']; + }); + if (idx < 0) { + idx = 0; + } + var style = /** @type {string} */ (l['styles'][idx]['identifier']); + + var dimensions = {}; + goog.array.forEach(l['dimensions'], function(elt, index, array) { + var key = elt['identifier']; + var value = elt['default']; + if (goog.isDef(value)) { + goog.asserts.assert(goog.array.indexOf(elt['values'], value) >= 0); + } else { + value = elt['values'][0]; + } + goog.asserts.assert(goog.isDef(value)); + dimensions[key] = value; + }); + + var matrixSets = wmtsCap['contents']['tileMatrixSets']; + goog.asserts.assert(matrixSet in matrixSets); + var matrixSetObj = matrixSets[matrixSet]; + + var tileGrid = ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet( + matrixSetObj); + + var projection = ol.projection.get(matrixSetObj['supportedCRS']); + + var gets = wmtsCap['operationsMetadata']['GetTile']['dcp']['http']['get']; + var encodings = goog.object.getKeys( + gets[0]['constraints']['GetEncoding']['allowedValues']); + goog.asserts.assert(encodings.length > 0); + var requestEncoding = /** @type {ol.source.WMTSRequestEncoding} */ + (encodings[0]); + // TODO: arcgis support, quote from ol2: + // The OGC documentation is not clear if we should use REST or RESTful, + // ArcGis use RESTful, and OpenLayers use REST. + + var urls; + switch (requestEncoding) { + case ol.source.WMTSRequestEncoding.REST: + goog.asserts.assert(l['resourceUrls'].hasOwnProperty('tile')); + goog.asserts.assert(l['resourceUrls']['tile'].hasOwnProperty(format)); + urls = /** @type {Array.} */ + (l['resourceUrls']['tile'][format]); + break; + case ol.source.WMTSRequestEncoding.KVP: + urls = []; + goog.array.forEach(gets, function(elt, index, array) { + if (elt['constraints']['GetEncoding']['allowedValues'].hasOwnProperty( + ol.source.WMTSRequestEncoding.KVP)) { + urls.push(/** @type {string} */ (elt['url'])); + } + }); + goog.asserts.assert(urls.length > 0); + break; + default: + goog.asserts.assert(false); + } + + return { + urls: urls, + layer: layer, + matrixSet: matrixSet, + format: format, + projection: projection, + requestEncoding: requestEncoding, + tileGrid: tileGrid, + style: style, + dimensions: dimensions + }; +}; diff --git a/master/ol/ol/tilegrid/wmtstilegrid.exports b/master/ol/ol/tilegrid/wmtstilegrid.exports new file mode 100644 index 0000000000..bf723f3d17 --- /dev/null +++ b/master/ol/ol/tilegrid/wmtstilegrid.exports @@ -0,0 +1 @@ +@exportClass ol.tilegrid.WMTS ol.tilegrid.WMTSOptions diff --git a/master/ol/ol/tilegrid/wmtstilegrid.js b/master/ol/ol/tilegrid/wmtstilegrid.js new file mode 100644 index 0000000000..b939795662 --- /dev/null +++ b/master/ol/ol/tilegrid/wmtstilegrid.js @@ -0,0 +1,83 @@ +goog.provide('ol.tilegrid.WMTS'); + +goog.require('ol.Size'); +goog.require('ol.projection'); +goog.require('ol.tilegrid.TileGrid'); + + + +/** + * @constructor + * @extends {ol.tilegrid.TileGrid} + * @param {ol.tilegrid.WMTSOptions} wmtsOptions WMTS options. + */ +ol.tilegrid.WMTS = function(wmtsOptions) { + + goog.asserts.assert( + wmtsOptions.resolutions.length == wmtsOptions.matrixIds.length); + + /** + * @private + * @type {!Array.} + */ + this.matrixIds_ = wmtsOptions.matrixIds; + // FIXME: should the matrixIds become optionnal? + + goog.base(this, { + origin: wmtsOptions.origin, + origins: wmtsOptions.origins, + resolutions: wmtsOptions.resolutions, + tileSize: wmtsOptions.tileSize, + tileSizes: wmtsOptions.tileSizes + }); + +}; +goog.inherits(ol.tilegrid.WMTS, ol.tilegrid.TileGrid); + + +/** + * @param {number} z Z. + * @return {string} MatrixId.. + */ +ol.tilegrid.WMTS.prototype.getMatrixId = function(z) { + goog.asserts.assert(0 <= z && z < this.matrixIds_.length); + return this.matrixIds_[z]; +}; + + +/** + * @return {Array.} MatrixIds. + */ +ol.tilegrid.WMTS.prototype.getMatrixIds = function() { + return this.matrixIds_; +}; + + +/** + * @param {Object} matrixSet An object representing a matrixSet in the + * capabilities document. + * @return {ol.tilegrid.WMTS} WMTS tileGrid instance. + */ +ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet = + function(matrixSet) { + + var resolutions = []; + var matrixIds = []; + var origins = []; + var tileSizes = []; + var projection = ol.projection.get(matrixSet['supportedCRS']); + var metersPerUnit = projection.getMetersPerUnit(); + goog.array.forEach(matrixSet['matrixIds'], function(elt, index, array) { + matrixIds.push(elt['identifier']); + origins.push(elt['topLeftCorner']); + resolutions.push(elt['scaleDenominator'] * 0.28E-3 / metersPerUnit); + tileSizes.push(new ol.Size(elt['tileWidth'], elt['tileHeight'])); + }); + + return new ol.tilegrid.WMTS({ + origins: origins, + resolutions: resolutions, + matrixIds: matrixIds, + tileSizes: tileSizes + }); +}; diff --git a/master/ol/ol/tileurlfunction.js b/master/ol/ol/tileurlfunction.js index 3c270b80c6..209febe19c 100644 --- a/master/ol/ol/tileurlfunction.js +++ b/master/ol/ol/tileurlfunction.js @@ -60,6 +60,9 @@ ol.TileUrlFunction.createFromTemplates = function(templates) { * @return {ol.TileUrlFunctionType} Tile URL function. */ ol.TileUrlFunction.createFromTileUrlFunctions = function(tileUrlFunctions) { + if (tileUrlFunctions.length === 1) { + return tileUrlFunctions[0]; + } return function(tileCoord, tileGrid, projection) { if (goog.isNull(tileCoord)) { return undefined;