diff --git a/master/apidoc/44f1750883.html b/master/apidoc/44f1750883.html
index 9466b181f5..099b515a39 100644
--- a/master/apidoc/44f1750883.html
+++ b/master/apidoc/44f1750883.html
@@ -137,13 +137,13 @@ items from the cache is the responsibility of the user.
diff --git a/master/apidoc/global.html b/master/apidoc/global.html
index 495237a3e7..b7c0c5c722 100644
--- a/master/apidoc/global.html
+++ b/master/apidoc/global.html
@@ -342,13 +342,13 @@
diff --git a/master/apidoc/index.html b/master/apidoc/index.html
index 4cf4306c20..00bf49726c 100644
--- a/master/apidoc/index.html
+++ b/master/apidoc/index.html
@@ -50,13 +50,13 @@
diff --git a/master/apidoc/ol.AnchoredElement.html b/master/apidoc/ol.AnchoredElement.html
index 054a478332..4db65d40fc 100644
--- a/master/apidoc/ol.AnchoredElement.html
+++ b/master/apidoc/ol.AnchoredElement.html
@@ -2337,13 +2337,13 @@
diff --git a/master/apidoc/ol.Attribution.html b/master/apidoc/ol.Attribution.html
index 07b976d1d5..34e9941c87 100644
--- a/master/apidoc/ol.Attribution.html
+++ b/master/apidoc/ol.Attribution.html
@@ -428,13 +428,13 @@
diff --git a/master/apidoc/ol.Collection.html b/master/apidoc/ol.Collection.html
index 519331e363..5712081482 100644
--- a/master/apidoc/ol.Collection.html
+++ b/master/apidoc/ol.Collection.html
@@ -2374,13 +2374,13 @@
diff --git a/master/apidoc/ol.CollectionEvent.html b/master/apidoc/ol.CollectionEvent.html
index 9ac04b0b8d..79da57d2ed 100644
--- a/master/apidoc/ol.CollectionEvent.html
+++ b/master/apidoc/ol.CollectionEvent.html
@@ -455,13 +455,13 @@
diff --git a/master/apidoc/ol.Color.html b/master/apidoc/ol.Color.html
index 47d46bc0c5..8ec6028b8b 100644
--- a/master/apidoc/ol.Color.html
+++ b/master/apidoc/ol.Color.html
@@ -756,13 +756,13 @@
diff --git a/master/apidoc/ol.Constraints.html b/master/apidoc/ol.Constraints.html
index 648848b9f5..8db11cdd67 100644
--- a/master/apidoc/ol.Constraints.html
+++ b/master/apidoc/ol.Constraints.html
@@ -294,13 +294,13 @@
diff --git a/master/apidoc/ol.Coordinate.html b/master/apidoc/ol.Coordinate.html
index fb3e83f227..14a0c281e4 100644
--- a/master/apidoc/ol.Coordinate.html
+++ b/master/apidoc/ol.Coordinate.html
@@ -860,13 +860,13 @@
diff --git a/master/apidoc/ol.Ellipsoid.html b/master/apidoc/ol.Ellipsoid.html
index 5433ea4ca1..b4335e5826 100644
--- a/master/apidoc/ol.Ellipsoid.html
+++ b/master/apidoc/ol.Ellipsoid.html
@@ -1268,13 +1268,13 @@
diff --git a/master/apidoc/ol.Extent.html b/master/apidoc/ol.Extent.html
index 5457c39c8a..303ca3f04a 100644
--- a/master/apidoc/ol.Extent.html
+++ b/master/apidoc/ol.Extent.html
@@ -2377,13 +2377,13 @@ extent.
diff --git a/master/apidoc/ol.Geolocation.html b/master/apidoc/ol.Geolocation.html
index 844ebca81f..0abd216f61 100644
--- a/master/apidoc/ol.Geolocation.html
+++ b/master/apidoc/ol.Geolocation.html
@@ -2083,13 +2083,13 @@
diff --git a/master/apidoc/ol.Image.html b/master/apidoc/ol.Image.html
index fa7a6c9305..4a4c61dfb0 100644
--- a/master/apidoc/ol.Image.html
+++ b/master/apidoc/ol.Image.html
@@ -952,13 +952,13 @@
diff --git a/master/apidoc/ol.ImageTile.html b/master/apidoc/ol.ImageTile.html
index f0430cd6ca..dd6ee439af 100644
--- a/master/apidoc/ol.ImageTile.html
+++ b/master/apidoc/ol.ImageTile.html
@@ -639,13 +639,13 @@
diff --git a/master/apidoc/ol.Kinetic.html b/master/apidoc/ol.Kinetic.html
index 7eae3cfe22..878218e478 100644
--- a/master/apidoc/ol.Kinetic.html
+++ b/master/apidoc/ol.Kinetic.html
@@ -791,13 +791,13 @@
diff --git a/master/apidoc/ol.Map.html b/master/apidoc/ol.Map.html
index 27ffac436f..db69bd8d1a 100644
--- a/master/apidoc/ol.Map.html
+++ b/master/apidoc/ol.Map.html
@@ -123,7 +123,7 @@
Source:
-
+
@@ -248,7 +248,7 @@
Source:
-
+
@@ -345,7 +345,7 @@
Source:
-
+
@@ -452,7 +452,7 @@
Source:
-
+
@@ -581,7 +581,7 @@
Source:
-
+
@@ -688,7 +688,7 @@
Source:
-
+
@@ -958,7 +958,7 @@
Source:
-
+
@@ -1021,7 +1021,7 @@
Source:
-
+
@@ -1214,7 +1214,7 @@
Source:
-
+
@@ -1346,7 +1346,7 @@
Source:
-
+
@@ -1427,7 +1427,7 @@
Source:
-
+
@@ -1598,7 +1598,7 @@
Source:
-
+
@@ -1679,7 +1679,7 @@
Source:
-
+
@@ -1810,7 +1810,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -1891,7 +1891,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -1972,7 +1972,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2056,7 +2056,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2231,7 +2231,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2312,7 +2312,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2393,7 +2393,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2561,7 +2561,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2620,7 +2620,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2727,7 +2727,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2786,7 +2786,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -2845,7 +2845,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3086,7 +3086,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3171,7 +3171,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3234,7 +3234,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3476,7 +3476,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3583,7 +3583,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3802,7 +3802,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -3909,7 +3909,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -4152,7 +4152,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -4298,7 +4298,7 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
Source:
-
+
@@ -4336,13 +4336,13 @@ clicks and gestures on an overlay don't trigger any MapBrowserEvent.
diff --git a/master/apidoc/ol.MapBrowserEvent.html b/master/apidoc/ol.MapBrowserEvent.html
index 21a0418c72..939eda4ac2 100644
--- a/master/apidoc/ol.MapBrowserEvent.html
+++ b/master/apidoc/ol.MapBrowserEvent.html
@@ -1313,13 +1313,13 @@ FIXME: replace with goog.events.EventType enum once we use
diff --git a/master/apidoc/ol.MapBrowserEventHandler.html b/master/apidoc/ol.MapBrowserEventHandler.html
index b864c0cec8..c970e74721 100644
--- a/master/apidoc/ol.MapBrowserEventHandler.html
+++ b/master/apidoc/ol.MapBrowserEventHandler.html
@@ -248,13 +248,13 @@
diff --git a/master/apidoc/ol.MapEvent.html b/master/apidoc/ol.MapEvent.html
index 8a088d719b..303bc52aa5 100644
--- a/master/apidoc/ol.MapEvent.html
+++ b/master/apidoc/ol.MapEvent.html
@@ -460,13 +460,13 @@
diff --git a/master/apidoc/ol.Object.html b/master/apidoc/ol.Object.html
index e90b94c1a6..efc01bf8f1 100644
--- a/master/apidoc/ol.Object.html
+++ b/master/apidoc/ol.Object.html
@@ -1999,13 +1999,13 @@
diff --git a/master/apidoc/ol.Pixel.html b/master/apidoc/ol.Pixel.html
index 6839257bdd..fb7f22eed1 100644
--- a/master/apidoc/ol.Pixel.html
+++ b/master/apidoc/ol.Pixel.html
@@ -204,13 +204,13 @@
diff --git a/master/apidoc/ol.PixelBounds.html b/master/apidoc/ol.PixelBounds.html
index 2039eef274..61914369e7 100644
--- a/master/apidoc/ol.PixelBounds.html
+++ b/master/apidoc/ol.PixelBounds.html
@@ -1518,13 +1518,13 @@
diff --git a/master/apidoc/ol.Projection.html b/master/apidoc/ol.Projection.html
index b41da895c7..ce4b106ef4 100644
--- a/master/apidoc/ol.Projection.html
+++ b/master/apidoc/ol.Projection.html
@@ -288,7 +288,7 @@
Source:
-
+
@@ -347,7 +347,7 @@
Source:
-
+
@@ -428,7 +428,7 @@
Source:
-
+
@@ -468,6 +468,87 @@
+
+
+
+
+
+ getDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ The default tile grid.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+ol.tilegrid.TileGrid
+
+
+
+
+
+
+
+
@@ -509,7 +590,7 @@
Source:
-
+
@@ -590,7 +671,7 @@
Source:
-
+
@@ -630,6 +711,113 @@
+
+
+
+
+
+ setDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ The default tile grid. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -650,13 +838,13 @@
diff --git a/master/apidoc/ol.Rectangle.html b/master/apidoc/ol.Rectangle.html
index 404af41bdf..ca3502eeb0 100644
--- a/master/apidoc/ol.Rectangle.html
+++ b/master/apidoc/ol.Rectangle.html
@@ -1442,13 +1442,13 @@
diff --git a/master/apidoc/ol.Size.html b/master/apidoc/ol.Size.html
index a6e50a611c..3d379d896c 100644
--- a/master/apidoc/ol.Size.html
+++ b/master/apidoc/ol.Size.html
@@ -337,13 +337,13 @@
diff --git a/master/apidoc/ol.Sphere.html b/master/apidoc/ol.Sphere.html
index d335c31400..0165a7ce4e 100644
--- a/master/apidoc/ol.Sphere.html
+++ b/master/apidoc/ol.Sphere.html
@@ -1681,13 +1681,13 @@ latitude.
diff --git a/master/apidoc/ol.Tile.html b/master/apidoc/ol.Tile.html
index e69dff0640..04b5ff3bd3 100644
--- a/master/apidoc/ol.Tile.html
+++ b/master/apidoc/ol.Tile.html
@@ -598,13 +598,13 @@
diff --git a/master/apidoc/ol.TileCache.html b/master/apidoc/ol.TileCache.html
index 255493b361..2d86ead642 100644
--- a/master/apidoc/ol.TileCache.html
+++ b/master/apidoc/ol.TileCache.html
@@ -1589,13 +1589,13 @@
diff --git a/master/apidoc/ol.TileCoord.html b/master/apidoc/ol.TileCoord.html
index 5c32352c76..cd14d4e020 100644
--- a/master/apidoc/ol.TileCoord.html
+++ b/master/apidoc/ol.TileCoord.html
@@ -783,13 +783,13 @@
diff --git a/master/apidoc/ol.TileQueue.html b/master/apidoc/ol.TileQueue.html
index 46f341ef4d..269440bf9f 100644
--- a/master/apidoc/ol.TileQueue.html
+++ b/master/apidoc/ol.TileQueue.html
@@ -521,13 +521,13 @@
diff --git a/master/apidoc/ol.TileRange.html b/master/apidoc/ol.TileRange.html
index c151e6e9c7..6f7c129c3d 100644
--- a/master/apidoc/ol.TileRange.html
+++ b/master/apidoc/ol.TileRange.html
@@ -1880,13 +1880,13 @@ by its min/max tile coordinates and is inclusive of coordinates.
diff --git a/master/apidoc/ol.View.html b/master/apidoc/ol.View.html
index c1d533e5f1..46ba4fc4e0 100644
--- a/master/apidoc/ol.View.html
+++ b/master/apidoc/ol.View.html
@@ -1520,13 +1520,13 @@
diff --git a/master/apidoc/ol.View2D.html b/master/apidoc/ol.View2D.html
index 1933850046..db7f00390e 100644
--- a/master/apidoc/ol.View2D.html
+++ b/master/apidoc/ol.View2D.html
@@ -3475,13 +3475,13 @@
diff --git a/master/apidoc/ol.control.Attribution.html b/master/apidoc/ol.control.Attribution.html
index 3fbf6b2419..7a8ca2011b 100644
--- a/master/apidoc/ol.control.Attribution.html
+++ b/master/apidoc/ol.control.Attribution.html
@@ -726,13 +726,13 @@
diff --git a/master/apidoc/ol.control.Control.html b/master/apidoc/ol.control.Control.html
index a430b70b47..75e1caf9dd 100644
--- a/master/apidoc/ol.control.Control.html
+++ b/master/apidoc/ol.control.Control.html
@@ -493,13 +493,13 @@ to the map here.
diff --git a/master/apidoc/ol.control.DragBox.html b/master/apidoc/ol.control.DragBox.html
index ba34faeaab..26829da3d4 100644
--- a/master/apidoc/ol.control.DragBox.html
+++ b/master/apidoc/ol.control.DragBox.html
@@ -449,13 +449,13 @@
diff --git a/master/apidoc/ol.control.MousePosition.html b/master/apidoc/ol.control.MousePosition.html
index 2e1578bdc7..b3255f3816 100644
--- a/master/apidoc/ol.control.MousePosition.html
+++ b/master/apidoc/ol.control.MousePosition.html
@@ -771,13 +771,13 @@
diff --git a/master/apidoc/ol.control.ScaleLine.html b/master/apidoc/ol.control.ScaleLine.html
new file mode 100644
index 0000000000..e1a310ee3c
--- /dev/null
+++ b/master/apidoc/ol.control.ScaleLine.html
@@ -0,0 +1,626 @@
+
+
+
+
+ OpenLayers: Class: ol.control.ScaleLine
+
+
+
+
+
+
+
+
+
+
+
+
+
Class: ol.control.ScaleLine
+
+
+
+
+
+
+
+
+
+ ol.control.ScaleLine
+
+
+
+
+
+
+
+
+
+
+
+ new ScaleLine
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+ Argument |
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ options |
+
+
+
+
+
+ol.control.ScaleLineOptions=
+
+
+
+ |
+
+
+
+
+ <optional>
+
+
+
+ |
+
+
+
+
+ (Optional) Options. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - scalelinecontrol.js, line 34
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extends
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Members
+
+
+
+-
+
<static, constant> LEADING_DIGITS :Array.<number>
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - scalelinecontrol.js, line 111
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
<protected> element :Element
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods
+
+
+
+-
+
disposeInternal
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
getMap
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Map.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+ol.Map
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
handleMapPostrender
+
+
+
+-
+
+
+
+
+
+
+
+
+
Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ mapEvent |
+
+
+
+
+
+ol.MapEvent
+
+
+
+ |
+
+
+
+
+
+ Map event. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - scalelinecontrol.js, line 117
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
setMap
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - scalelinecontrol.js, line 126
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/master/apidoc/ol.control.Zoom.html b/master/apidoc/ol.control.Zoom.html
index 8620fb7ffe..e9229158f6 100644
--- a/master/apidoc/ol.control.Zoom.html
+++ b/master/apidoc/ol.control.Zoom.html
@@ -508,13 +508,13 @@ to the map here.
diff --git a/master/apidoc/ol.interaction.DblClickZoom.html b/master/apidoc/ol.interaction.DblClickZoom.html
index 33444d3341..0d52a02024 100644
--- a/master/apidoc/ol.interaction.DblClickZoom.html
+++ b/master/apidoc/ol.interaction.DblClickZoom.html
@@ -244,13 +244,13 @@
diff --git a/master/apidoc/ol.interaction.Drag.html b/master/apidoc/ol.interaction.Drag.html
index 53747a5bb3..ae4f61026b 100644
--- a/master/apidoc/ol.interaction.Drag.html
+++ b/master/apidoc/ol.interaction.Drag.html
@@ -660,13 +660,13 @@
diff --git a/master/apidoc/ol.interaction.DragPan.html b/master/apidoc/ol.interaction.DragPan.html
index aadf965b5f..67d37b6daf 100644
--- a/master/apidoc/ol.interaction.DragPan.html
+++ b/master/apidoc/ol.interaction.DragPan.html
@@ -834,13 +834,13 @@
diff --git a/master/apidoc/ol.interaction.DragRotate.html b/master/apidoc/ol.interaction.DragRotate.html
index 3dc72e8e7a..d678666792 100644
--- a/master/apidoc/ol.interaction.DragRotate.html
+++ b/master/apidoc/ol.interaction.DragRotate.html
@@ -779,13 +779,13 @@
diff --git a/master/apidoc/ol.interaction.DragRotateAndZoom.html b/master/apidoc/ol.interaction.DragRotateAndZoom.html
index 86e32bcc4c..43f6715f94 100644
--- a/master/apidoc/ol.interaction.DragRotateAndZoom.html
+++ b/master/apidoc/ol.interaction.DragRotateAndZoom.html
@@ -779,13 +779,13 @@
diff --git a/master/apidoc/ol.interaction.DragZoom.html b/master/apidoc/ol.interaction.DragZoom.html
index 42b4d99203..faab7af5c0 100644
--- a/master/apidoc/ol.interaction.DragZoom.html
+++ b/master/apidoc/ol.interaction.DragZoom.html
@@ -779,13 +779,13 @@
diff --git a/master/apidoc/ol.interaction.Interaction.html b/master/apidoc/ol.interaction.Interaction.html
index aea20bece4..b4ef1c3998 100644
--- a/master/apidoc/ol.interaction.Interaction.html
+++ b/master/apidoc/ol.interaction.Interaction.html
@@ -177,13 +177,13 @@
diff --git a/master/apidoc/ol.interaction.Keyboard.html b/master/apidoc/ol.interaction.Keyboard.html
index 9e9daa4166..0fafa01e7a 100644
--- a/master/apidoc/ol.interaction.Keyboard.html
+++ b/master/apidoc/ol.interaction.Keyboard.html
@@ -326,13 +326,13 @@
diff --git a/master/apidoc/ol.interaction.KeyboardPan.html b/master/apidoc/ol.interaction.KeyboardPan.html
index aaba36971c..9a9b7422c2 100644
--- a/master/apidoc/ol.interaction.KeyboardPan.html
+++ b/master/apidoc/ol.interaction.KeyboardPan.html
@@ -244,13 +244,13 @@
diff --git a/master/apidoc/ol.interaction.KeyboardZoom.html b/master/apidoc/ol.interaction.KeyboardZoom.html
index d3d475a276..dc5f145527 100644
--- a/master/apidoc/ol.interaction.KeyboardZoom.html
+++ b/master/apidoc/ol.interaction.KeyboardZoom.html
@@ -196,13 +196,13 @@
diff --git a/master/apidoc/ol.interaction.MouseWheelZoom.html b/master/apidoc/ol.interaction.MouseWheelZoom.html
index dfcf78e249..c0e126c45d 100644
--- a/master/apidoc/ol.interaction.MouseWheelZoom.html
+++ b/master/apidoc/ol.interaction.MouseWheelZoom.html
@@ -244,13 +244,13 @@
diff --git a/master/apidoc/ol.interaction.Touch.html b/master/apidoc/ol.interaction.Touch.html
index 8b04872890..5b2d29db13 100644
--- a/master/apidoc/ol.interaction.Touch.html
+++ b/master/apidoc/ol.interaction.Touch.html
@@ -513,13 +513,13 @@
diff --git a/master/apidoc/ol.interaction.TouchPan.html b/master/apidoc/ol.interaction.TouchPan.html
index 9b6471cb1b..282229afe5 100644
--- a/master/apidoc/ol.interaction.TouchPan.html
+++ b/master/apidoc/ol.interaction.TouchPan.html
@@ -537,13 +537,13 @@
diff --git a/master/apidoc/ol.interaction.TouchRotate.html b/master/apidoc/ol.interaction.TouchRotate.html
index bf0c49b302..7b556a1a5e 100644
--- a/master/apidoc/ol.interaction.TouchRotate.html
+++ b/master/apidoc/ol.interaction.TouchRotate.html
@@ -492,13 +492,13 @@
diff --git a/master/apidoc/ol.interaction.TouchZoom.html b/master/apidoc/ol.interaction.TouchZoom.html
index 7984b77b2e..85b069301e 100644
--- a/master/apidoc/ol.interaction.TouchZoom.html
+++ b/master/apidoc/ol.interaction.TouchZoom.html
@@ -433,13 +433,13 @@
diff --git a/master/apidoc/ol.layer.ImageLayer.html b/master/apidoc/ol.layer.ImageLayer.html
index 55813220f5..dcbfb45e2d 100644
--- a/master/apidoc/ol.layer.ImageLayer.html
+++ b/master/apidoc/ol.layer.ImageLayer.html
@@ -2829,13 +2829,13 @@ permitted).
diff --git a/master/apidoc/ol.layer.Layer.html b/master/apidoc/ol.layer.Layer.html
index 241b45b004..2a4417a40c 100644
--- a/master/apidoc/ol.layer.Layer.html
+++ b/master/apidoc/ol.layer.Layer.html
@@ -2673,13 +2673,13 @@ permitted).
diff --git a/master/apidoc/ol.layer.TileLayer.html b/master/apidoc/ol.layer.TileLayer.html
index 8af9c25180..398a8caf77 100644
--- a/master/apidoc/ol.layer.TileLayer.html
+++ b/master/apidoc/ol.layer.TileLayer.html
@@ -2829,13 +2829,13 @@ permitted).
diff --git a/master/apidoc/ol.parser.XML.html b/master/apidoc/ol.parser.XML.html
index f1205831b4..8f29b4dacb 100644
--- a/master/apidoc/ol.parser.XML.html
+++ b/master/apidoc/ol.parser.XML.html
@@ -970,13 +970,13 @@ provided).
diff --git a/master/apidoc/ol.parser.ogc.ExceptionReport.html b/master/apidoc/ol.parser.ogc.ExceptionReport.html
index 1e85293c29..fe339cf7f8 100644
--- a/master/apidoc/ol.parser.ogc.ExceptionReport.html
+++ b/master/apidoc/ol.parser.ogc.ExceptionReport.html
@@ -1138,13 +1138,13 @@ provided).
diff --git a/master/apidoc/ol.parser.ogc.OWSCommon_v1.html b/master/apidoc/ol.parser.ogc.OWSCommon_v1.html
index 82ae8ae471..51f2b42868 100644
--- a/master/apidoc/ol.parser.ogc.OWSCommon_v1.html
+++ b/master/apidoc/ol.parser.ogc.OWSCommon_v1.html
@@ -1001,13 +1001,13 @@ provided).
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 ebaa197bf7..23e935cff3 100644
--- a/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html
+++ b/master/apidoc/ol.parser.ogc.OWSCommon_v1_1_0.html
@@ -1001,13 +1001,13 @@ provided).
diff --git a/master/apidoc/ol.parser.ogc.Versioned.html b/master/apidoc/ol.parser.ogc.Versioned.html
index a94c392df6..0a0e78d220 100644
--- a/master/apidoc/ol.parser.ogc.Versioned.html
+++ b/master/apidoc/ol.parser.ogc.Versioned.html
@@ -822,13 +822,13 @@
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities.html b/master/apidoc/ol.parser.ogc.WMSCapabilities.html
index 2391bb133f..bfa8da0e44 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities.html
@@ -858,13 +858,13 @@
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html
index c9a8660b9d..342a0030f1 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1.html
@@ -1136,13 +1136,13 @@ provided).
diff --git a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html
index b82b48ecb4..c332f5e929 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1.html
@@ -1141,13 +1141,13 @@ provided).
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 6f37ccf29a..59c8f83624 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_0.html
@@ -1141,13 +1141,13 @@ provided).
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 19aad04e89..dc5b145c56 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_1_1.html
@@ -1141,13 +1141,13 @@ provided).
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 151280e994..be60b9071b 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
@@ -1141,13 +1141,13 @@ provided).
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 0a6d302a24..93c43211c3 100644
--- a/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html
+++ b/master/apidoc/ol.parser.ogc.WMSCapabilities_v1_3_0.html
@@ -1141,13 +1141,13 @@ provided).
diff --git a/master/apidoc/ol.parser.ogc.WMTSCapabilities.html b/master/apidoc/ol.parser.ogc.WMTSCapabilities.html
index 61554b96e7..e6a4254284 100644
--- a/master/apidoc/ol.parser.ogc.WMTSCapabilities.html
+++ b/master/apidoc/ol.parser.ogc.WMTSCapabilities.html
@@ -858,13 +858,13 @@
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 771140e448..06aa3b166b 100644
--- a/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html
+++ b/master/apidoc/ol.parser.ogc.WMTSCapabilities_v1_0_0.html
@@ -744,7 +744,7 @@ first child value exists.
Source:
- - wmtscapabilities_v1_0_0.js, line 152
+ - wmtscapabilities_v1_0_0.js, line 154
@@ -1136,13 +1136,13 @@ provided).
diff --git a/master/apidoc/ol.projection.EPSG3857.html b/master/apidoc/ol.projection.EPSG3857.html
index 8ada15ae0d..983ca0ea2d 100644
--- a/master/apidoc/ol.projection.EPSG3857.html
+++ b/master/apidoc/ol.projection.EPSG3857.html
@@ -453,7 +453,7 @@
Source:
-
+
@@ -539,7 +539,7 @@
Source:
-
+
@@ -579,6 +579,92 @@
+
+
+
+
+
+ getDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ The default tile grid.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+ol.tilegrid.TileGrid
+
+
+
+
+
+
+
+
@@ -625,7 +711,7 @@
Source:
-
+
@@ -770,7 +856,7 @@
Source:
-
+
@@ -810,6 +896,118 @@
+
+
+
+
+
+ setDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ The default tile grid. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1236,13 +1434,13 @@
diff --git a/master/apidoc/ol.projection.EPSG4326.html b/master/apidoc/ol.projection.EPSG4326.html
index 086321014d..44ef149381 100644
--- a/master/apidoc/ol.projection.EPSG4326.html
+++ b/master/apidoc/ol.projection.EPSG4326.html
@@ -354,7 +354,7 @@
Source:
-
+
@@ -440,7 +440,7 @@
Source:
-
+
@@ -480,6 +480,92 @@
+
+
+
+
+
+ getDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ The default tile grid.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+ol.tilegrid.TileGrid
+
+
+
+
+
+
+
+
@@ -526,7 +612,7 @@
Source:
-
+
@@ -671,7 +757,7 @@
Source:
-
+
@@ -711,6 +797,118 @@
+
+
+
+
+
+ setDefaultTileGrid
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ The default tile grid. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -731,13 +929,13 @@
diff --git a/master/apidoc/ol.renderer.Layer.html b/master/apidoc/ol.renderer.Layer.html
index 7e98820c85..6c947c6cd3 100644
--- a/master/apidoc/ol.renderer.Layer.html
+++ b/master/apidoc/ol.renderer.Layer.html
@@ -735,6 +735,205 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -2809,13 +3008,13 @@
diff --git a/master/apidoc/ol.renderer.Map.html b/master/apidoc/ol.renderer.Map.html
index f0928b4aa2..e70c5f55b4 100644
--- a/master/apidoc/ol.renderer.Map.html
+++ b/master/apidoc/ol.renderer.Map.html
@@ -1758,13 +1758,13 @@
diff --git a/master/apidoc/ol.renderer.canvas.ImageLayer.html b/master/apidoc/ol.renderer.canvas.ImageLayer.html
index 714148ddf4..318981c484 100644
--- a/master/apidoc/ol.renderer.canvas.ImageLayer.html
+++ b/master/apidoc/ol.renderer.canvas.ImageLayer.html
@@ -709,6 +709,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -3106,13 +3310,13 @@
diff --git a/master/apidoc/ol.renderer.canvas.Layer.html b/master/apidoc/ol.renderer.canvas.Layer.html
index 8350161446..24f2e9f791 100644
--- a/master/apidoc/ol.renderer.canvas.Layer.html
+++ b/master/apidoc/ol.renderer.canvas.Layer.html
@@ -852,6 +852,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -2991,13 +3195,13 @@
diff --git a/master/apidoc/ol.renderer.canvas.Map.html b/master/apidoc/ol.renderer.canvas.Map.html
index b270855d41..6a5f877682 100644
--- a/master/apidoc/ol.renderer.canvas.Map.html
+++ b/master/apidoc/ol.renderer.canvas.Map.html
@@ -1780,13 +1780,13 @@
diff --git a/master/apidoc/ol.renderer.canvas.TileLayer.html b/master/apidoc/ol.renderer.canvas.TileLayer.html
index 5cd56e7d79..b1b5675a55 100644
--- a/master/apidoc/ol.renderer.canvas.TileLayer.html
+++ b/master/apidoc/ol.renderer.canvas.TileLayer.html
@@ -146,7 +146,7 @@
Source:
- - canvastilelayerrenderer.js, line 26
+ - canvastilelayerrenderer.js, line 25
@@ -709,6 +709,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -948,7 +1152,7 @@
Source:
- - canvastilelayerrenderer.js, line 61
+ - canvastilelayerrenderer.js, line 66
@@ -1355,7 +1559,7 @@
Source:
- - canvastilelayerrenderer.js, line 69
+ - canvastilelayerrenderer.js, line 74
@@ -1436,7 +1640,7 @@
Source:
- - canvastilelayerrenderer.js, line 77
+ - canvastilelayerrenderer.js, line 82
@@ -2031,7 +2235,7 @@
Source:
- - canvastilelayerrenderer.js, line 85
+ - canvastilelayerrenderer.js, line 90
@@ -3106,13 +3310,13 @@
diff --git a/master/apidoc/ol.renderer.dom.ImageLayer.html b/master/apidoc/ol.renderer.dom.ImageLayer.html
index 2dd60d012b..da33de557a 100644
--- a/master/apidoc/ol.renderer.dom.ImageLayer.html
+++ b/master/apidoc/ol.renderer.dom.ImageLayer.html
@@ -760,6 +760,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -2603,7 +2807,7 @@
Source:
- - domimagelayerrenderer.js, line 119
+ - domimagelayerrenderer.js, line 120
@@ -3296,13 +3500,13 @@
diff --git a/master/apidoc/ol.renderer.dom.Layer.html b/master/apidoc/ol.renderer.dom.Layer.html
index c653fdb097..be91b56025 100644
--- a/master/apidoc/ol.renderer.dom.Layer.html
+++ b/master/apidoc/ol.renderer.dom.Layer.html
@@ -829,6 +829,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -3108,13 +3312,13 @@
diff --git a/master/apidoc/ol.renderer.dom.Map.html b/master/apidoc/ol.renderer.dom.Map.html
index 76a998fe3c..bf3e5f6e25 100644
--- a/master/apidoc/ol.renderer.dom.Map.html
+++ b/master/apidoc/ol.renderer.dom.Map.html
@@ -1719,13 +1719,13 @@
diff --git a/master/apidoc/ol.renderer.dom.TileLayer.html b/master/apidoc/ol.renderer.dom.TileLayer.html
index 1797f4028e..d5ddc6947d 100644
--- a/master/apidoc/ol.renderer.dom.TileLayer.html
+++ b/master/apidoc/ol.renderer.dom.TileLayer.html
@@ -760,6 +760,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -3189,13 +3393,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.FragmentShader.html b/master/apidoc/ol.renderer.webgl.FragmentShader.html
index 7f50a49bb4..22b2f575cf 100644
--- a/master/apidoc/ol.renderer.webgl.FragmentShader.html
+++ b/master/apidoc/ol.renderer.webgl.FragmentShader.html
@@ -385,13 +385,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.ImageLayer.html b/master/apidoc/ol.renderer.webgl.ImageLayer.html
index ece686d7d4..dc49adbfcf 100644
--- a/master/apidoc/ol.renderer.webgl.ImageLayer.html
+++ b/master/apidoc/ol.renderer.webgl.ImageLayer.html
@@ -505,6 +505,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -1277,6 +1481,65 @@
+
+
+
+
+
+ getProjectionMatrix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - webglimagelayerrenderer.js, line 121
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1395,65 +1658,6 @@
-
-
-
-
-
- getVertexCoordMatrix
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - webglimagelayerrenderer.js, line 121
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3421,13 +3625,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.Layer.html b/master/apidoc/ol.renderer.webgl.Layer.html
index ee18b06be6..11acfdb3d4 100644
--- a/master/apidoc/ol.renderer.webgl.Layer.html
+++ b/master/apidoc/ol.renderer.webgl.Layer.html
@@ -233,6 +233,52 @@
+
+
+
+
+
+
+
+
+
+ getProjectionMatrix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - webgllayerrenderer.js, line 103
+
+
+
+
+
+
+
@@ -325,52 +371,6 @@
-
-
-
-
-
-
-
-
-
- getVertexCoordMatrix
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - webgllayerrenderer.js, line 103
-
-
-
-
-
-
-
@@ -744,6 +744,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -3195,13 +3399,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.Map.html b/master/apidoc/ol.renderer.webgl.Map.html
index a20fe11fd7..26b4f7657a 100644
--- a/master/apidoc/ol.renderer.webgl.Map.html
+++ b/master/apidoc/ol.renderer.webgl.Map.html
@@ -2525,13 +2525,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.Shader.html b/master/apidoc/ol.renderer.webgl.Shader.html
index 139525e93a..7444e97450 100644
--- a/master/apidoc/ol.renderer.webgl.Shader.html
+++ b/master/apidoc/ol.renderer.webgl.Shader.html
@@ -356,13 +356,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.TileLayer.html b/master/apidoc/ol.renderer.webgl.TileLayer.html
index bbfb1a4759..9c3c1d11c5 100644
--- a/master/apidoc/ol.renderer.webgl.TileLayer.html
+++ b/master/apidoc/ol.renderer.webgl.TileLayer.html
@@ -505,6 +505,210 @@
+
+
+
+
+
+ createGetTileIfLoadedFunction
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ | Name |
+
+
+ Type |
+
+
+
+
+
+ Description |
+
+
+
+
+
+
+
+
+ isLoadedFunction |
+
+
+
+
+
+function(ol.Tile): boolean
+
+
+
+ |
+
+
+
+
+
+ Function to
+ determine if the tile is loaded. |
+
+
+
+
+
+
+ tileSource |
+
+
+
+
+
+ol.source.TileSource
+
+
+
+ |
+
+
+
+
+
+ Tile source. |
+
+
+
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - layerrenderer.js, line 271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Returns a tile if it is loaded.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+function(ol.TileCoord): ol.Tile
+
+
+
+
+
+
+
+
@@ -1196,6 +1400,65 @@
+
+
+
+
+
+ getProjectionMatrix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+ - webgltilelayerrenderer.js, line 249
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1395,65 +1658,6 @@
-
-
-
-
-
- getVertexCoordMatrix
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - webgltilelayerrenderer.js, line 249
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3421,13 +3625,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.VertexShader.html b/master/apidoc/ol.renderer.webgl.VertexShader.html
index 6e4583475a..9243fe9b82 100644
--- a/master/apidoc/ol.renderer.webgl.VertexShader.html
+++ b/master/apidoc/ol.renderer.webgl.VertexShader.html
@@ -385,13 +385,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html b/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html
index dfb3a91ca9..38a04107f4 100644
--- a/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html
+++ b/master/apidoc/ol.renderer.webgl.map.shader.Fragment.html
@@ -349,13 +349,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html b/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html
index e9fdd2f135..a889835d2c 100644
--- a/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html
+++ b/master/apidoc/ol.renderer.webgl.map.shader.Vertex.html
@@ -342,13 +342,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html
index 65e34ecad2..5a992adfcc 100644
--- a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html
+++ b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Fragment.html
@@ -342,13 +342,13 @@
diff --git a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html
index 85f812d4fe..f0e4f0883e 100644
--- a/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html
+++ b/master/apidoc/ol.renderer.webgl.tilelayerrenderer.shader.Vertex.html
@@ -342,13 +342,13 @@
diff --git a/master/apidoc/ol.source.BingMaps.html b/master/apidoc/ol.source.BingMaps.html
index c922fbb60f..2274ed2c48 100644
--- a/master/apidoc/ol.source.BingMaps.html
+++ b/master/apidoc/ol.source.BingMaps.html
@@ -123,7 +123,7 @@
Source:
- - bingmapssource.js, line 36
+ - bingmapssource.js, line 23
@@ -211,7 +211,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -275,7 +275,7 @@
Source:
-
+
@@ -339,7 +339,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -430,13 +430,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -446,8 +446,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -528,7 +528,7 @@ loaded tiles.
Source:
-
+
@@ -614,7 +614,7 @@ loaded tiles.
Source:
-
+
@@ -700,7 +700,7 @@ loaded tiles.
Source:
-
+
@@ -740,6 +740,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -786,7 +872,7 @@ loaded tiles.
Source:
-
+
@@ -872,7 +958,7 @@ loaded tiles.
Source:
-
+
@@ -936,7 +1022,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -954,143 +1040,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1137,7 +1086,7 @@ loaded tiles.
Source:
-
+
@@ -1266,7 +1215,7 @@ loaded tiles.
Source:
- - bingmapssource.js, line 71
+ - bingmapssource.js, line 59
@@ -1325,7 +1274,7 @@ loaded tiles.
Source:
- - bingmapssource.js, line 168
+ - bingmapssource.js, line 156
@@ -1437,7 +1386,7 @@ loaded tiles.
Source:
-
+
@@ -1549,7 +1498,7 @@ loaded tiles.
Source:
-
+
@@ -1661,7 +1610,7 @@ loaded tiles.
Source:
-
+
@@ -1765,6 +1714,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1796,7 +1768,7 @@ loaded tiles.
Source:
-
+
@@ -1860,7 +1832,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1898,13 +1870,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.DebugTileSource.html b/master/apidoc/ol.source.DebugTileSource.html
index 781c755a07..00a33527a3 100644
--- a/master/apidoc/ol.source.DebugTileSource.html
+++ b/master/apidoc/ol.source.DebugTileSource.html
@@ -202,7 +202,7 @@
Source:
-
+
@@ -253,7 +253,7 @@
Source:
-
+
@@ -308,7 +308,7 @@
Source:
-
+
@@ -367,7 +367,7 @@
Source:
- - debugtilesource.js, line 110
+ - debugtilesource.js, line 111
@@ -431,7 +431,7 @@
Source:
-
+
@@ -490,7 +490,7 @@
Source:
- - debugtilesource.js, line 118
+ - debugtilesource.js, line 119
@@ -581,13 +581,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -597,8 +597,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -679,7 +679,7 @@ loaded tiles.
Source:
-
+
@@ -765,7 +765,7 @@ loaded tiles.
Source:
-
+
@@ -851,7 +851,7 @@ loaded tiles.
Source:
-
+
@@ -891,6 +891,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -937,7 +1023,7 @@ loaded tiles.
Source:
-
+
@@ -1023,7 +1109,7 @@ loaded tiles.
Source:
-
+
@@ -1082,7 +1168,7 @@ loaded tiles.
Source:
- - debugtilesource.js, line 126
+ - debugtilesource.js, line 127
@@ -1146,7 +1232,7 @@ loaded tiles.
Source:
-
+
@@ -1280,7 +1366,7 @@ loaded tiles.
Source:
-
+
@@ -1392,7 +1478,7 @@ loaded tiles.
Source:
-
+
@@ -1504,7 +1590,7 @@ loaded tiles.
Source:
-
+
@@ -1608,6 +1694,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1639,7 +1748,7 @@ loaded tiles.
Source:
-
+
@@ -1677,13 +1786,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.ImageSource.html b/master/apidoc/ol.source.ImageSource.html
index 5c3697ad4f..21180ec879 100644
--- a/master/apidoc/ol.source.ImageSource.html
+++ b/master/apidoc/ol.source.ImageSource.html
@@ -198,7 +198,7 @@
Source:
-
+
@@ -249,7 +249,7 @@
Source:
-
+
@@ -346,7 +346,7 @@
Source:
-
+
@@ -473,6 +473,29 @@
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
@@ -499,7 +522,7 @@
Source:
-
+
@@ -585,7 +608,7 @@
Source:
-
+
@@ -692,7 +715,7 @@
Source:
-
+
@@ -778,7 +801,7 @@
Source:
-
+
@@ -864,7 +887,7 @@
Source:
-
+
@@ -950,7 +973,7 @@
Source:
-
+
@@ -1084,7 +1107,7 @@
Source:
-
+
@@ -1196,7 +1219,7 @@
Source:
-
+
@@ -1308,7 +1331,7 @@
Source:
-
+
@@ -1346,13 +1369,13 @@
diff --git a/master/apidoc/ol.source.ImageTileSource.html b/master/apidoc/ol.source.ImageTileSource.html
index 2cdca44a7c..f86697461c 100644
--- a/master/apidoc/ol.source.ImageTileSource.html
+++ b/master/apidoc/ol.source.ImageTileSource.html
@@ -202,7 +202,7 @@
Source:
-
+
@@ -253,7 +253,7 @@
Source:
-
+
@@ -299,7 +299,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -358,7 +358,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -422,7 +422,7 @@
Source:
-
+
@@ -481,7 +481,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -572,13 +572,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -588,8 +588,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -670,7 +670,7 @@ loaded tiles.
Source:
-
+
@@ -756,7 +756,7 @@ loaded tiles.
Source:
-
+
@@ -842,7 +842,7 @@ loaded tiles.
Source:
-
+
@@ -882,6 +882,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -928,7 +1014,7 @@ loaded tiles.
Source:
-
+
@@ -1014,7 +1100,7 @@ loaded tiles.
Source:
-
+
@@ -1073,7 +1159,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1091,138 +1177,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1269,7 +1223,7 @@ loaded tiles.
Source:
-
+
@@ -1403,7 +1357,7 @@ loaded tiles.
Source:
-
+
@@ -1515,7 +1469,7 @@ loaded tiles.
Source:
-
+
@@ -1627,7 +1581,7 @@ loaded tiles.
Source:
-
+
@@ -1731,6 +1685,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1762,7 +1739,7 @@ loaded tiles.
Source:
-
+
@@ -1821,7 +1798,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1859,13 +1836,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.MapQuestOSM.html b/master/apidoc/ol.source.MapQuestOSM.html
index f136e3f771..8de9f717b7 100644
--- a/master/apidoc/ol.source.MapQuestOSM.html
+++ b/master/apidoc/ol.source.MapQuestOSM.html
@@ -154,7 +154,7 @@
Source:
-
+
@@ -205,7 +205,7 @@
Source:
-
+
@@ -256,7 +256,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -320,7 +320,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -384,7 +384,7 @@
Source:
-
+
@@ -448,7 +448,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -539,13 +539,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -555,8 +555,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -637,7 +637,7 @@ loaded tiles.
Source:
-
+
@@ -723,7 +723,7 @@ loaded tiles.
Source:
-
+
@@ -809,7 +809,7 @@ loaded tiles.
Source:
-
+
@@ -849,6 +849,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -895,7 +981,7 @@ loaded tiles.
Source:
-
+
@@ -981,7 +1067,7 @@ loaded tiles.
Source:
-
+
@@ -1045,7 +1131,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1063,143 +1149,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1246,7 +1195,7 @@ loaded tiles.
Source:
-
+
@@ -1380,7 +1329,7 @@ loaded tiles.
Source:
-
+
@@ -1492,7 +1441,7 @@ loaded tiles.
Source:
-
+
@@ -1604,7 +1553,7 @@ loaded tiles.
Source:
-
+
@@ -1708,6 +1657,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1739,7 +1711,7 @@ loaded tiles.
Source:
-
+
@@ -1803,7 +1775,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1841,13 +1813,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.MapQuestOpenAerial.html b/master/apidoc/ol.source.MapQuestOpenAerial.html
index 4fe8bba8bb..46ea4363e7 100644
--- a/master/apidoc/ol.source.MapQuestOpenAerial.html
+++ b/master/apidoc/ol.source.MapQuestOpenAerial.html
@@ -75,7 +75,7 @@
Source:
- - mapquestsource.js, line 42
+ - mapquestsource.js, line 43
@@ -154,7 +154,7 @@
Source:
-
+
@@ -205,7 +205,7 @@
Source:
-
+
@@ -256,7 +256,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -320,7 +320,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -384,7 +384,7 @@
Source:
-
+
@@ -448,7 +448,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -539,13 +539,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -555,8 +555,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -637,7 +637,7 @@ loaded tiles.
Source:
-
+
@@ -723,7 +723,7 @@ loaded tiles.
Source:
-
+
@@ -809,7 +809,7 @@ loaded tiles.
Source:
-
+
@@ -849,6 +849,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -895,7 +981,7 @@ loaded tiles.
Source:
-
+
@@ -981,7 +1067,7 @@ loaded tiles.
Source:
-
+
@@ -1045,7 +1131,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1063,143 +1149,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1246,7 +1195,7 @@ loaded tiles.
Source:
-
+
@@ -1380,7 +1329,7 @@ loaded tiles.
Source:
-
+
@@ -1492,7 +1441,7 @@ loaded tiles.
Source:
-
+
@@ -1604,7 +1553,7 @@ loaded tiles.
Source:
-
+
@@ -1708,6 +1657,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1739,7 +1711,7 @@ loaded tiles.
Source:
-
+
@@ -1803,7 +1775,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1841,13 +1813,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.OpenStreetMap.html b/master/apidoc/ol.source.OpenStreetMap.html
index 8be04dc1f7..f2495f6214 100644
--- a/master/apidoc/ol.source.OpenStreetMap.html
+++ b/master/apidoc/ol.source.OpenStreetMap.html
@@ -154,7 +154,7 @@
Source:
-
+
@@ -205,7 +205,7 @@
Source:
-
+
@@ -256,7 +256,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -320,7 +320,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -384,7 +384,7 @@
Source:
-
+
@@ -448,7 +448,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -539,13 +539,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -555,8 +555,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -637,7 +637,7 @@ loaded tiles.
Source:
-
+
@@ -723,7 +723,7 @@ loaded tiles.
Source:
-
+
@@ -809,7 +809,7 @@ loaded tiles.
Source:
-
+
@@ -849,6 +849,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -895,7 +981,7 @@ loaded tiles.
Source:
-
+
@@ -981,7 +1067,7 @@ loaded tiles.
Source:
-
+
@@ -1045,7 +1131,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1063,143 +1149,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1246,7 +1195,7 @@ loaded tiles.
Source:
-
+
@@ -1380,7 +1329,7 @@ loaded tiles.
Source:
-
+
@@ -1492,7 +1441,7 @@ loaded tiles.
Source:
-
+
@@ -1604,7 +1553,7 @@ loaded tiles.
Source:
-
+
@@ -1708,6 +1657,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1739,7 +1711,7 @@ loaded tiles.
Source:
-
+
@@ -1803,7 +1775,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1841,13 +1813,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.SingleImageWMS.html b/master/apidoc/ol.source.SingleImageWMS.html
index d12765cb38..2902dee10a 100644
--- a/master/apidoc/ol.source.SingleImageWMS.html
+++ b/master/apidoc/ol.source.SingleImageWMS.html
@@ -123,7 +123,7 @@
Source:
- - singleimagewmssource.js, line 18
+ - singleimagewmssource.js, line 16
@@ -202,7 +202,7 @@
Source:
-
+
@@ -304,7 +304,7 @@
Source:
-
+
@@ -431,6 +431,29 @@
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
@@ -462,7 +485,7 @@
Source:
-
+
@@ -548,7 +571,7 @@
Source:
-
+
@@ -660,7 +683,7 @@
Source:
-
+
@@ -746,7 +769,7 @@
Source:
-
+
@@ -832,7 +855,7 @@
Source:
-
+
@@ -913,7 +936,7 @@
Source:
- - singleimagewmssource.js, line 82
+ - singleimagewmssource.js, line 51
@@ -977,7 +1000,7 @@
Source:
-
+
@@ -1111,7 +1134,7 @@
Source:
-
+
@@ -1223,7 +1246,7 @@
Source:
-
+
@@ -1335,7 +1358,7 @@
Source:
-
+
@@ -1373,13 +1396,13 @@
diff --git a/master/apidoc/ol.source.Source.html b/master/apidoc/ol.source.Source.html
index 508261e174..47a3cbc680 100644
--- a/master/apidoc/ol.source.Source.html
+++ b/master/apidoc/ol.source.Source.html
@@ -197,7 +197,7 @@
Source:
-
+
@@ -243,7 +243,7 @@
Source:
-
+
@@ -302,7 +302,7 @@
Source:
-
+
@@ -361,7 +361,7 @@
Source:
-
+
@@ -442,7 +442,7 @@
Source:
-
+
@@ -523,7 +523,7 @@
Source:
-
+
@@ -652,7 +652,7 @@
Source:
-
+
@@ -759,7 +759,7 @@
Source:
-
+
@@ -866,7 +866,7 @@
Source:
-
+
@@ -904,13 +904,13 @@
diff --git a/master/apidoc/ol.source.Stamen.html b/master/apidoc/ol.source.Stamen.html
index b612ede314..9daf3adae7 100644
--- a/master/apidoc/ol.source.Stamen.html
+++ b/master/apidoc/ol.source.Stamen.html
@@ -202,7 +202,7 @@
Source:
-
+
@@ -253,7 +253,7 @@
Source:
-
+
@@ -304,7 +304,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -368,7 +368,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -432,7 +432,7 @@
Source:
-
+
@@ -496,7 +496,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -587,13 +587,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -603,8 +603,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -685,7 +685,7 @@ loaded tiles.
Source:
-
+
@@ -771,7 +771,7 @@ loaded tiles.
Source:
-
+
@@ -857,7 +857,7 @@ loaded tiles.
Source:
-
+
@@ -897,6 +897,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -943,7 +1029,7 @@ loaded tiles.
Source:
-
+
@@ -1029,7 +1115,7 @@ loaded tiles.
Source:
-
+
@@ -1093,7 +1179,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1111,143 +1197,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1294,7 +1243,7 @@ loaded tiles.
Source:
-
+
@@ -1428,7 +1377,7 @@ loaded tiles.
Source:
-
+
@@ -1540,7 +1489,7 @@ loaded tiles.
Source:
-
+
@@ -1652,7 +1601,7 @@ loaded tiles.
Source:
-
+
@@ -1756,6 +1705,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1787,7 +1759,7 @@ loaded tiles.
Source:
-
+
@@ -1851,7 +1823,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1889,13 +1861,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.StaticImage.html b/master/apidoc/ol.source.StaticImage.html
index efee7c10a2..a984081056 100644
--- a/master/apidoc/ol.source.StaticImage.html
+++ b/master/apidoc/ol.source.StaticImage.html
@@ -202,7 +202,7 @@
Source:
-
+
@@ -304,7 +304,7 @@
Source:
-
+
@@ -414,7 +414,7 @@
Source:
- - staticimagesource.js, line 57
+ - staticimagesource.js, line 60
@@ -563,6 +563,29 @@
+
+
+
+ projection |
+
+
+
+
+
+ol.Projection
+
+
+
+ |
+
+
+
+
+
+ Projection. |
+
+
+
@@ -594,7 +617,7 @@
Source:
-
+
@@ -680,7 +703,7 @@
Source:
-
+
@@ -792,7 +815,7 @@
Source:
-
+
@@ -878,7 +901,7 @@
Source:
-
+
@@ -964,7 +987,7 @@
Source:
-
+
@@ -1045,7 +1068,7 @@
Source:
- - staticimagesource.js, line 45
+ - staticimagesource.js, line 47
@@ -1109,7 +1132,7 @@
Source:
-
+
@@ -1243,7 +1266,7 @@
Source:
-
+
@@ -1355,7 +1378,7 @@
Source:
-
+
@@ -1467,7 +1490,7 @@
Source:
-
+
@@ -1505,13 +1528,13 @@
diff --git a/master/apidoc/ol.source.TileJSON.html b/master/apidoc/ol.source.TileJSON.html
index 655be53146..1268446c9c 100644
--- a/master/apidoc/ol.source.TileJSON.html
+++ b/master/apidoc/ol.source.TileJSON.html
@@ -211,7 +211,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -275,7 +275,7 @@
Source:
-
+
@@ -339,7 +339,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -430,13 +430,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -446,8 +446,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -528,7 +528,7 @@ loaded tiles.
Source:
-
+
@@ -614,7 +614,7 @@ loaded tiles.
Source:
-
+
@@ -700,7 +700,7 @@ loaded tiles.
Source:
-
+
@@ -740,6 +740,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -786,7 +872,7 @@ loaded tiles.
Source:
-
+
@@ -872,7 +958,7 @@ loaded tiles.
Source:
-
+
@@ -936,7 +1022,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -954,143 +1040,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1137,7 +1086,7 @@ loaded tiles.
Source:
-
+
@@ -1389,7 +1338,7 @@ loaded tiles.
Source:
-
+
@@ -1501,7 +1450,7 @@ loaded tiles.
Source:
-
+
@@ -1613,7 +1562,7 @@ loaded tiles.
Source:
-
+
@@ -1717,6 +1666,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1748,7 +1720,7 @@ loaded tiles.
Source:
-
+
@@ -1812,7 +1784,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1850,13 +1822,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.TileSource.html b/master/apidoc/ol.source.TileSource.html
index 7efdb7e578..bc9109689d 100644
--- a/master/apidoc/ol.source.TileSource.html
+++ b/master/apidoc/ol.source.TileSource.html
@@ -123,7 +123,7 @@
Source:
-
+
@@ -197,7 +197,7 @@
Source:
-
+
@@ -243,7 +243,7 @@
Source:
-
+
@@ -289,7 +289,7 @@
Source:
-
+
@@ -340,7 +340,7 @@
Source:
-
+
@@ -386,7 +386,7 @@
Source:
-
+
@@ -436,7 +436,7 @@
Source:
-
+
@@ -500,7 +500,7 @@
Source:
-
+
@@ -591,13 +591,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -607,8 +607,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -684,7 +684,7 @@ loaded tiles.
Source:
-
+
@@ -770,7 +770,7 @@ loaded tiles.
Source:
-
+
@@ -856,7 +856,7 @@ loaded tiles.
Source:
-
+
@@ -896,6 +896,87 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -942,7 +1023,7 @@ loaded tiles.
Source:
-
+
@@ -1023,7 +1104,7 @@ loaded tiles.
Source:
-
+
@@ -1082,7 +1163,7 @@ loaded tiles.
Source:
-
+
@@ -1216,7 +1297,7 @@ loaded tiles.
Source:
-
+
@@ -1328,7 +1409,7 @@ loaded tiles.
Source:
-
+
@@ -1440,7 +1521,7 @@ loaded tiles.
Source:
-
+
@@ -1544,6 +1625,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1570,7 +1674,7 @@ loaded tiles.
Source:
-
+
@@ -1608,13 +1712,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.TiledWMS.html b/master/apidoc/ol.source.TiledWMS.html
index b73bf96177..5c7500d741 100644
--- a/master/apidoc/ol.source.TiledWMS.html
+++ b/master/apidoc/ol.source.TiledWMS.html
@@ -123,7 +123,7 @@
Source:
- - tiledwmssource.js, line 22
+ - tiledwmssource.js, line 19
@@ -202,7 +202,7 @@
Source:
-
+
@@ -253,7 +253,7 @@
Source:
-
+
@@ -304,7 +304,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -368,7 +368,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -432,7 +432,7 @@
Source:
-
+
@@ -496,7 +496,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -587,13 +587,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -603,8 +603,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -685,7 +685,7 @@ loaded tiles.
Source:
-
+
@@ -771,7 +771,7 @@ loaded tiles.
Source:
-
+
@@ -857,7 +857,7 @@ loaded tiles.
Source:
-
+
@@ -897,6 +897,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -943,7 +1029,7 @@ loaded tiles.
Source:
-
+
@@ -1029,7 +1115,7 @@ loaded tiles.
Source:
-
+
@@ -1093,7 +1179,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1111,143 +1197,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1294,7 +1243,7 @@ loaded tiles.
Source:
-
+
@@ -1428,7 +1377,7 @@ loaded tiles.
Source:
-
+
@@ -1540,7 +1489,7 @@ loaded tiles.
Source:
-
+
@@ -1652,7 +1601,7 @@ loaded tiles.
Source:
-
+
@@ -1756,6 +1705,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1787,7 +1759,7 @@ loaded tiles.
Source:
-
+
@@ -1851,7 +1823,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1889,13 +1861,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.source.XYZ.html b/master/apidoc/ol.source.XYZ.html
index d936047d12..079fdcbd00 100644
--- a/master/apidoc/ol.source.XYZ.html
+++ b/master/apidoc/ol.source.XYZ.html
@@ -202,7 +202,7 @@
Source:
-
+
@@ -253,7 +253,7 @@
Source:
-
+
@@ -304,7 +304,7 @@
Source:
- - imagetilesource.js, line 47
+ - imagetilesource.js, line 48
@@ -414,7 +414,7 @@
Source:
- - imagetilesource.js, line 71
+ - imagetilesource.js, line 72
@@ -478,7 +478,7 @@
Source:
-
+
@@ -542,7 +542,7 @@
Source:
- - imagetilesource.js, line 79
+ - imagetilesource.js, line 80
@@ -633,13 +633,13 @@ loaded tiles.
- isLoaded |
+ getTileIfLoaded |
-function(ol.Tile): boolean
+function(ol.TileCoord): ol.Tile
@@ -649,8 +649,8 @@ loaded tiles.
- | A function to determine if a
- tile is fully loaded. |
+ A function that
+ returns the tile only if it is fully loaded. |
@@ -731,7 +731,7 @@ loaded tiles.
Source:
-
+
@@ -817,7 +817,7 @@ loaded tiles.
Source:
-
+
@@ -903,7 +903,7 @@ loaded tiles.
Source:
-
+
@@ -943,6 +943,92 @@ loaded tiles.
+
+
+
+
+
+ getOpaque
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Inherited From:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns:
+
+
+
+ Opaque.
+
+
+
+
+
+ -
+ Type
+
+ -
+
+boolean
+
+
+
+
+
+
+
+
@@ -989,7 +1075,7 @@ loaded tiles.
Source:
-
+
@@ -1075,7 +1161,7 @@ loaded tiles.
Source:
-
+
@@ -1139,7 +1225,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 87
+ - imagetilesource.js, line 88
@@ -1157,143 +1243,6 @@ loaded tiles.
-
-
-
-
-
- getTileCoordUrl
-
-
-
-
-
-
-
-
-
-
-
-
- Parameters:
-
-
-
-
-
-
- | Name |
-
-
- Type |
-
-
-
-
-
- Description |
-
-
-
-
-
-
-
-
- tileCoord |
-
-
-
-
-
-ol.TileCoord
-
-
-
- |
-
-
-
-
-
- Tile coordinate. |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Inherited From:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Source:
- - imagetilesource.js, line 109
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Returns:
-
-
-
- Tile URL.
-
-
-
-
-
- -
- Type
-
- -
-
-string
-|
-
-undefined
-
-
-
-
-
-
-
-
@@ -1340,7 +1289,7 @@ loaded tiles.
Source:
-
+
@@ -1474,7 +1423,7 @@ loaded tiles.
Source:
-
+
@@ -1586,7 +1535,7 @@ loaded tiles.
Source:
-
+
@@ -1698,7 +1647,7 @@ loaded tiles.
Source:
-
+
@@ -1802,6 +1751,29 @@ loaded tiles.
+
+
+
+ tileGrid |
+
+
+
+
+
+ol.tilegrid.TileGrid
+
+
+
+ |
+
+
+
+
+
+ Tile grid. |
+
+
+
@@ -1833,7 +1805,7 @@ loaded tiles.
Source:
-
+
@@ -1897,7 +1869,7 @@ loaded tiles.
Source:
- - imagetilesource.js, line 117
+ - imagetilesource.js, line 112
@@ -1935,13 +1907,13 @@ loaded tiles.
diff --git a/master/apidoc/ol.tilegrid.TileGrid.html b/master/apidoc/ol.tilegrid.TileGrid.html
index aaba3f9b97..07080a3755 100644
--- a/master/apidoc/ol.tilegrid.TileGrid.html
+++ b/master/apidoc/ol.tilegrid.TileGrid.html
@@ -123,7 +123,7 @@
Source:
-
+
@@ -316,7 +316,7 @@
Source:
-
+
@@ -423,7 +423,7 @@
Source:
-
+
@@ -575,7 +575,7 @@
Source:
-
+
@@ -704,7 +704,7 @@
Source:
-
+
@@ -785,7 +785,7 @@
Source:
-
+
@@ -914,7 +914,7 @@
Source:
-
+
@@ -1043,7 +1043,7 @@
Source:
-
+
@@ -1201,7 +1201,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1353,7 +1353,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1482,7 +1482,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1634,7 +1634,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1786,7 +1786,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1938,7 +1938,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2067,7 +2067,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2196,7 +2196,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2256,13 +2256,13 @@ assigned the higher tile coordinate.
diff --git a/master/apidoc/ol.tilegrid.XYZ.html b/master/apidoc/ol.tilegrid.XYZ.html
index db996bd911..17859afbbc 100644
--- a/master/apidoc/ol.tilegrid.XYZ.html
+++ b/master/apidoc/ol.tilegrid.XYZ.html
@@ -318,7 +318,7 @@
Source:
-
+
@@ -475,7 +475,7 @@
Source:
-
+
@@ -609,7 +609,7 @@
Source:
-
+
@@ -695,7 +695,7 @@
Source:
-
+
@@ -829,7 +829,7 @@
Source:
-
+
@@ -963,7 +963,7 @@
Source:
-
+
@@ -1126,7 +1126,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1283,7 +1283,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1417,7 +1417,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1574,7 +1574,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1731,7 +1731,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -1888,7 +1888,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2022,7 +2022,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2156,7 +2156,7 @@ assigned the higher tile coordinate.
Source:
-
+
@@ -2216,13 +2216,13 @@ assigned the higher tile coordinate.
diff --git a/master/build/ol-simple.js b/master/build/ol-simple.js
index bbd22e6b4a..2ea43620f8 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,k;k=c?b.call(e,a[i],i,a):b(d,a[i]);0>1,l;l=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(k){d.push("*** "+k+" ***")}};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 k};
+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.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;cgoog.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],k=a[4],j=a[5],l=a[6],m=a[7],p=a[8],n=a[9],q=a[10],r=a[11],u=a[12],v=a[13],s=a[14],y=a[15],x=Math.cos(b),z=Math.sin(b),w=1-x,b=c*c*w+x,A=c*d*w+e*z,B=c*e*w-d*z,C=c*d*w-e*z,D=d*d*w+x,E=d*e*w+c*z,F=c*e*w+d*z,c=d*e*w-c*z,e=e*e*w+x;return goog.vec.Mat4.setFromValues(a,f*b+k*A+p*B,g*b+j*A+n*B,h*b+l*A+q*B,i*b+m*A+r*B,f*C+k*D+p*E,g*C+j*D+n*E,h*C+l*D+q*E,i*C+m*D+r*E,f*F+k*c+p*e,g*F+j*c+n*e,h*F+l*c+q*e,i*F+m*c+r*e,u,v,s,y)};
-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],k=a[11],j=Math.cos(b),l=Math.sin(b);a[4]=c*j+g*l;a[5]=d*j+h*l;a[6]=e*j+i*l;a[7]=f*j+k*l;a[8]=c*-l+g*j;a[9]=d*-l+h*j;a[10]=e*-l+i*j;a[11]=f*-l+k*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],k=a[11],j=Math.cos(b),l=Math.sin(b);a[0]=c*j+g*-l;a[1]=d*j+h*-l;a[2]=e*j+i*-l;a[3]=f*j+k*-l;a[8]=c*l+g*j;a[9]=d*l+h*j;a[10]=e*l+i*j;a[11]=f*l+k*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],k=a[7],j=Math.cos(b),l=Math.sin(b);a[0]=c*j+g*l;a[1]=d*j+h*l;a[2]=e*j+i*l;a[3]=f*j+k*l;a[4]=c*-l+g*j;a[5]=d*-l+h*j;a[6]=e*-l+i*j;a[7]=f*-l+k*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],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],z=a[13],w=a[14],t=a[15],v=Math.cos(b),u=Math.sin(b),x=1-v,b=c*c*x+v,A=c*d*x+e*u,B=c*e*x-d*u,C=c*d*x-e*u,D=d*d*x+v,E=d*e*x+c*u,F=c*e*x+d*u,c=d*e*x-c*u,e=e*e*x+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,z,w,t)};
+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.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?goog.fx.easing.inAndOut(2*a):1-goog.fx.easing.inAndOut(2*(a-0.5))};ol.easing.elastic=function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1};ol.easing.bounce=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};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.timea-this.delay_;)c--;if(0<=c){var a=this.points_[c],b=this.points_[b],c=b.x-a.x,d=b.y-a.y;this.angle_=Math.atan2(d,c);this.initialVelocity_=Math.sqrt(c*c+d*d)/(b.t-a.t);return this.initialVelocity_>this.minVelocity_}return!1};
@@ -540,7 +540,15 @@ ol.control.Attribution.prototype.getTileSourceAttributions=function(a,b){var c={
ol.control.Attribution.prototype.setMap=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);ol.control.Attribution.superClass_.setMap.call(this,a);goog.isNull(a)||(this.listenerKeys_=[goog.events.listen(a,ol.MapEventType.POSTRENDER,this.handleMapPostrender,!1,this)])};
ol.control.Attribution.prototype.updateElement_=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.showElement(this.element,!1),this.renderedVisible_=!1);else{var b={},c={},d=this.getMap().getLayers();goog.isDef(d)&&d.forEach(function(a){a=a.getSource();c[goog.getUid(a).toString()]=a;a=a.getAttributions();if(!goog.isNull(a)){var d,e;for(e=0;ec?(b="\u2032",a*=60):b="\u00b0":this.units_==ol.control.ScaleLineUnits.IMPERIAL?0.9144>c?(b="in",a/=0.0254):1609.344>c?(b="ft",a/=0.3048):(b="mi",a/=1609.344):this.units_==ol.control.ScaleLineUnits.NAUTICAL?(a/=1852,b="nm"):this.units_==ol.control.ScaleLineUnits.METRIC?1>c?(b="mm",a*=1E3):1E3>c?b="m":(b="km",a/=1E3):this.units_==ol.control.ScaleLineUnits.US?
+0.9144>c?(b="in",a*=39.37):1609.344>c?(b="ft",a/=0.30480061):(b="mi",a/=1609.3472):goog.asserts.assert(!1);for(var c=3*Math.floor(Math.log(this.minWidth_*a)/Math.log(10)),e,f;;){e=ol.control.ScaleLine.LEADING_DIGITS[c%3]*Math.pow(10,Math.floor(c/3));f=Math.round(e/a);if(f>=this.minWidth_)break;++c}e+=b;this.renderedHTML_!=e&&(this.renderedHTML_=this.innerElement_.innerHTML=e);this.renderedWidth_!=f&&(this.innerElement_.style.width=f+"px",this.renderedWidth_=f);this.renderedVisible_||(goog.style.showElement(this.element_,
+!0),this.renderedVisible_=!0)}};ol.control.ZOOM_DURATION=250;
ol.control.Zoom=function(a){var b=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomIn","class":"ol-zoom-in"});goog.events.listen(b,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],this.handleIn_,!1,this);var c=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomOut","class":"ol-zoom-out"});goog.events.listen(c,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],this.handleOut_,!1,this);b=goog.dom.createDom(goog.dom.TagName.DIV,"ol-zoom ol-unselectable",b,c);ol.control.Control.call(this,
{element:b,map:a.map,target:a.target});this.delta_=goog.isDef(a.delta)?a.delta:1};goog.inherits(ol.control.Zoom,ol.control.Control);ol.control.Zoom.prototype.handleIn_=function(a){a.preventDefault();a=this.getMap();a.requestRenderFrame();a.getView().zoom(a,this.delta_,void 0,ol.control.ZOOM_DURATION)};ol.control.Zoom.prototype.handleOut_=function(a){a.preventDefault();a=this.getMap();a.requestRenderFrame();a.getView().zoom(a,-this.delta_,void 0,ol.control.ZOOM_DURATION)};ol.interaction={};ol.interaction.Interaction=function(){};ol.interaction.DblClickZoom=function(a){this.delta_=a;ol.interaction.Interaction.call(this)};goog.inherits(ol.interaction.DblClickZoom,ol.interaction.Interaction);
ol.interaction.DblClickZoom.prototype.handleMapBrowserEvent=function(a){var b=a.browserEvent;if(a.type==ol.MapBrowserEvent.EventType.DBLCLICK&&a.isMouseActionButton()){var c=a.map,d=a.getCoordinate(),e=a.browserEvent.shiftKey?-this.delta_:this.delta_,f=c.getView();goog.asserts.assert(f instanceof ol.View2D);f.zoom(c,e,d);a.preventDefault();b.preventDefault()}};ol.interaction.condition={};ol.interaction.condition.altKeyOnly=function(a){return a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.altShiftKeysOnly=function(a){return a.altKey&&!a.platformModifierKey&&a.shiftKey};ol.interaction.condition.noModifierKeys=function(a){return!a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.platformModifierKeyOnly=function(a){return!a.altKey&&a.platformModifierKey&&!a.shiftKey};
@@ -576,7 +584,7 @@ ol.projection.EPSG4326.prototype.getPointResolution=function(a){return a};ol.pro
ol.Image.prototype.getExtent=function(){return this.extent_};ol.Image.prototype.getImageElement=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};ol.Image.prototype.getResolution=function(){return this.resolution_};ol.Image.prototype.getState=function(){return this.state};
ol.Image.prototype.handleImageError_=function(){this.state=ol.ImageState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.Image.prototype.handleImageLoad_=function(){this.state=ol.ImageState.LOADED;this.unlistenImage_();this.dispatchChangeEvent()};
ol.Image.prototype.load=function(){this.state==ol.ImageState.IDLE&&(this.state=ol.ImageState.LOADING,goog.asserts.assert(goog.isNull(this.imageListenerKeys_)),this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};
-ol.Image.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.PixelBounds=function(a,b,c,d){ol.Rectangle.call(this,a,b,c,d)};goog.inherits(ol.PixelBounds,ol.Rectangle);ol.tilegrid={};ol.DEFAULT_TILE_SIZE=256;
+ol.Image.prototype.unlistenImage_=function(){goog.asserts.assert(!goog.isNull(this.imageListenerKeys_));goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.PixelBounds=function(a,b,c,d){ol.Rectangle.call(this,a,b,c,d)};goog.inherits(ol.PixelBounds,ol.Rectangle);ol.tilegrid={};ol.DEFAULT_TILE_SIZE=256;ol.DEFAULT_MAX_ZOOM=42;
ol.tilegrid.TileGrid=function(a){this.resolutions_=a.resolutions;goog.asserts.assert(goog.array.isSorted(this.resolutions_,function(a,c){return c-a},!0));this.numResolutions_=this.resolutions_.length;this.origin_=goog.isDef(a.origin)?a.origin:null;this.origins_=null;goog.isDef(a.origins)&&(this.origins_=a.origins,goog.asserts.assert(this.origins_.length==this.resolutions_.length));goog.asserts.assert(goog.isNull(this.origin_)&&!goog.isNull(this.origins_)||!goog.isNull(this.origin_)&&goog.isNull(this.origins_));
this.tileSizes_=null;goog.isDef(a.tileSizes)&&(this.tileSizes_=a.tileSizes,goog.asserts.assert(this.tileSizes_.length==this.resolutions_.length));this.tileSize_=goog.isDef(a.tileSize)?a.tileSize:goog.isNull(this.tileSizes_)?new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE):null;goog.asserts.assert(goog.isNull(this.tileSize_)&&!goog.isNull(this.tileSizes_)||!goog.isNull(this.tileSize_)&&goog.isNull(this.tileSizes_))};
ol.tilegrid.TileGrid.prototype.forEachTileCoordParentTileRange=function(a,b,c){for(var d=this.getTileCoordExtent(a),a=a.z-1;0<=a&&!b.call(c,a,this.getTileRangeForExtentAndZ(d,a));)--a};ol.tilegrid.TileGrid.prototype.getOrigin=function(a){return goog.isNull(this.origin_)?(goog.asserts.assert(!goog.isNull(this.origins_)),goog.asserts.assert(0<=a&&ad;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix3d("+c+")")}else if(ol.dom.BrowserFeature.CAN_USE_CSS_TRANSFORM){b=[goog.vec.Mat4.getElement(b,0,0),goog.vec.Mat4.getElement(b,1,0),goog.vec.Mat4.getElement(b,0,1),goog.vec.Mat4.getElement(b,1,1),goog.vec.Mat4.getElement(b,0,3),goog.vec.Mat4.getElement(b,1,3)];if(goog.isDef(c)){e=
Array(6);for(d=0;6>d;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix("+c+")")}else ol.dom.BrowserFeature.CAN_USE_MATRIX_FILTER?goog.asserts.assert(!1):(a=a.style,a.left=Math.round(goog.vec.Mat4.getElement(b,0,3))+"px",a.top=Math.round(goog.vec.Mat4.getElement(b,1,3))+"px")};ol.renderer.dom={};ol.renderer.dom.Layer=function(a,b,c){ol.renderer.Layer.call(this,a,b);this.target=c};goog.inherits(ol.renderer.dom.Layer,ol.renderer.Layer);ol.renderer.dom.Layer.prototype.disposeInternal=function(){goog.dom.removeNode(this.target);ol.renderer.dom.Layer.superClass_.disposeInternal.call(this)};ol.renderer.dom.Layer.prototype.getTarget=function(){return this.target};ol.renderer.dom.ImageLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.className="ol-layer-image";c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.image_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()};goog.inherits(ol.renderer.dom.ImageLayer,ol.renderer.dom.Layer);ol.renderer.dom.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};
-ol.renderer.dom.ImageLayer.prototype.renderFrame=function(a){var b=a.view2DState,c=b.center,d=b.resolution,e=b.rotation,b=this.image_,f=this.getImageLayer().getImageSource(),g=a.viewHints;!g[ol.ViewHint.ANIMATING]&&!g[ol.ViewHint.INTERACTING]&&(f=f.getImage(a.extent,d),goog.isNull(f)||(g=f.getState(),g==ol.ImageState.IDLE?(goog.events.listenOnce(f,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),f.load()):g==ol.ImageState.LOADED&&(b=f)));if(!goog.isNull(b)){var g=b.getExtent(),h=b.getResolution(),
-f=goog.vec.Mat4.createNumber();goog.vec.Mat4.makeIdentity(f);goog.vec.Mat4.translate(f,a.size.width/2,a.size.height/2,0);goog.vec.Mat4.rotateZ(f,e);goog.vec.Mat4.scale(f,h/d,h/d,1);goog.vec.Mat4.translate(f,(g.minX-c.x)/h,(c.y-g.maxY)/h,0);b!=this.image_&&(c=b.getImageElement(this),c.style.position="absolute",goog.dom.removeChildren(this.target),goog.dom.appendChild(this.target,c),this.image_=b);this.setTransform(f);this.updateAttributions(a.attributions,b.getAttributions())}};
+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=this.getTileLayer().getTileSource(),e=goog.getUid(d).toString(),f=d.getTileGrid(),g=f.getZForResolution(c.resolution),h=f.getResolution(g),h=f.getTileRangeForExtentAndResolution(a.extent,h),i={};i[g]={};var k=goog.bind(d.findLoadedTiles,d,i,function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED}),j,l,m,p,n;for(p=h.minX;p<=h.maxX;++p)for(n=h.minY;n<=h.maxY;++n)if(m=new ol.TileCoord(g,p,n),
-j=d.getTile(m),!goog.isNull(j)){l=j.getState();if(l==ol.TileState.IDLE)goog.events.listenOnce(j,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,d,m),l=f.getTileCoordCenter(m),a.tileQueue.enqueue(j,e,l);else if(l==ol.TileState.LOADED){i[g][m.toString()]=j;continue}else if(l==ol.TileState.ERROR)continue;f.forEachTileCoordParentTileRange(m,k)}m=goog.array.map(goog.object.getKeys(i),Number);goog.array.sort(m);var e={},q;for(p=0;pj&&goog.dom.insertChildAt(this.target,k.target,0)}else!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING]&&k.removeTilesOutsideExtent(a.extent);else goog.dom.removeNode(k.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,d,g,h);d.useLowResolutionTiles(g,a.extent);this.scheduleExpireCache(a,d)}else this.renderedVisible_&&(goog.style.showElement(this.target,!1),this.renderedVisible_=!1)};
+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)if(n=new ol.TileCoord(h,p,q),k=e.getTile(n,g,d),!goog.isNull(k)){m=k.getState();if(m==ol.TileState.IDLE)goog.events.listenOnce(k,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,e,n),m=g.getTileCoordCenter(n),a.tileQueue.enqueue(k,f,m);else if(m==ol.TileState.LOADED){l[h][n.toString()]=k;continue}else if(m==ol.TileState.ERROR)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.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_};
@@ -657,33 +667,33 @@ ol.vec.Mat4.makeSaturation=function(a,b){goog.vec.Mat4.setFromValues(a,0.213+0.7
goog.inherits(ol.renderer.webgl.Layer,ol.renderer.Layer);ol.renderer.webgl.Layer.prototype.getColorMatrix=function(){this.colorMatrixDirty_&&this.updateColorMatrix_();return this.colorMatrix_};ol.renderer.webgl.Layer.prototype.getMapRenderer=function(){return ol.renderer.webgl.Layer.superClass_.getMapRenderer.call(this)};
ol.renderer.webgl.Layer.prototype.handleLayerBrightnessChange=function(){var a=this.getLayer().getBrightness();ol.vec.Mat4.makeBrightness(this.brightnessMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleLayerContrastChange=function(){var a=this.getLayer().getContrast();ol.vec.Mat4.makeContrast(this.contrastMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};
ol.renderer.webgl.Layer.prototype.handleLayerHueChange=function(){var a=this.getLayer().getHue();ol.vec.Mat4.makeHue(this.hueMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleLayerSaturationChange=function(){var a=this.getLayer().getSaturation();ol.vec.Mat4.makeSaturation(this.saturationMatrix_,a);this.colorMatrixDirty_=!0;this.dispatchChangeEvent()};ol.renderer.webgl.Layer.prototype.handleWebGLContextLost=goog.nullFunction;
-ol.renderer.webgl.Layer.prototype.updateColorMatrix_=function(){var a=this.colorMatrix_;goog.vec.Mat4.makeIdentity(a);goog.vec.Mat4.multMat(a,this.contrastMatrix_,a);goog.vec.Mat4.multMat(a,this.brightnessMatrix_,a);goog.vec.Mat4.multMat(a,this.saturationMatrix_,a);goog.vec.Mat4.multMat(a,this.hueMatrix_,a);this.colorMatrixDirty_=!1};ol.renderer.webgl.ImageLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.texture_=this.image_=null;this.texCoordMatrix_=goog.vec.Mat4.createNumberIdentity();this.vertexCoordMatrix_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.webgl.ImageLayer,ol.renderer.webgl.Layer);
+ol.renderer.webgl.Layer.prototype.updateColorMatrix_=function(){var a=this.colorMatrix_;goog.vec.Mat4.makeIdentity(a);goog.vec.Mat4.multMat(a,this.contrastMatrix_,a);goog.vec.Mat4.multMat(a,this.brightnessMatrix_,a);goog.vec.Mat4.multMat(a,this.saturationMatrix_,a);goog.vec.Mat4.multMat(a,this.hueMatrix_,a);this.colorMatrixDirty_=!1};ol.renderer.webgl.ImageLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.texture_=this.image_=null;this.texCoordMatrix_=goog.vec.Mat4.createNumberIdentity();this.projectionMatrix_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.webgl.ImageLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.ImageLayer.prototype.createTexture_=function(a){var a=a.getImageElement(this),b=this.getMapRenderer().getGL(),c=b.createTexture();b.bindTexture(goog.webgl.TEXTURE_2D,c);b.texImage2D(goog.webgl.TEXTURE_2D,0,goog.webgl.RGBA,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,a);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_S,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_T,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,
goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);return c};ol.renderer.webgl.ImageLayer.prototype.disposeInternal=function(){var a=this.getMapRenderer().getGL();a.isContextLost()||a.deleteTexture(this.texture_);ol.renderer.webgl.ImageLayer.superClass_.disposeInternal.call(this)};ol.renderer.webgl.ImageLayer.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix_};
-ol.renderer.webgl.ImageLayer.prototype.getTexture=function(){return this.texture_};ol.renderer.webgl.ImageLayer.prototype.getVertexCoordMatrix=function(){return this.vertexCoordMatrix_};ol.renderer.webgl.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.webgl.ImageLayer.prototype.handleWebGLContextLost=function(){this.texture_=null};
-ol.renderer.webgl.ImageLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer().getGL(),c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,c=this.image_,g=this.texture_,h=this.getImageLayer().getImageSource(),i=a.viewHints;!i[ol.ViewHint.ANIMATING]&&!i[ol.ViewHint.INTERACTING]&&(h=h.getImage(a.extent,e),goog.isNull(h)||(i=h.getState(),i==ol.ImageState.IDLE?(goog.events.listenOnce(h,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),h.load()):i==ol.ImageState.LOADED&&(c=h,
-g=this.createTexture_(h),goog.isNull(this.texture_)||a.postRenderFunctions.push(goog.partial(function(a,b){a.isContextLost()||a.deleteTexture(b)},b,this.texture_)))));goog.isNull(c)||(goog.asserts.assert(!goog.isNull(g)),b=this.getMapRenderer().getCanvas(),this.updateVertexCoordMatrix_(b.width,b.height,d,e,f,c.getExtent()),d=this.texCoordMatrix_,goog.vec.Mat4.makeIdentity(d),goog.vec.Mat4.scale(d,1,-1,1),goog.vec.Mat4.translate(d,0,-1,0),this.image_=c,this.texture_=g,this.updateAttributions(a.attributions,
-c.getAttributions()))};ol.renderer.webgl.ImageLayer.prototype.updateVertexCoordMatrix_=function(a,b,c,d,e,f){a*=d;b*=d;d=this.vertexCoordMatrix_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.scale(d,2/a,2/b,1);goog.vec.Mat4.rotateZ(d,-e);goog.vec.Mat4.translate(d,f.minX-c.x,f.minY-c.y,0);goog.vec.Mat4.scale(d,f.getWidth()/2,f.getHeight()/2,1);goog.vec.Mat4.translate(d,1,1,0)};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){var c=new goog.structs.Node(a,b),d=this.nodes_;d.push(c);this.moveUp_(d.length-1)};
+ol.renderer.webgl.ImageLayer.prototype.getTexture=function(){return this.texture_};ol.renderer.webgl.ImageLayer.prototype.getProjectionMatrix=function(){return this.projectionMatrix_};ol.renderer.webgl.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.webgl.ImageLayer.prototype.handleWebGLContextLost=function(){this.texture_=null};
+ol.renderer.webgl.ImageLayer.prototype.renderFrame=function(a){var b=this.getMapRenderer().getGL(),c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,g=this.image_,h=this.texture_,i=this.getImageLayer().getImageSource(),l=a.viewHints;!l[ol.ViewHint.ANIMATING]&&!l[ol.ViewHint.INTERACTING]&&(c=i.getImage(a.extent,e,c.projection),goog.isNull(c)||(i=c.getState(),i==ol.ImageState.IDLE?(goog.events.listenOnce(c,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),c.load()):i==ol.ImageState.LOADED&&
+(g=c,h=this.createTexture_(c),goog.isNull(this.texture_)||a.postRenderFunctions.push(goog.partial(function(a,b){a.isContextLost()||a.deleteTexture(b)},b,this.texture_)))));goog.isNull(g)||(goog.asserts.assert(!goog.isNull(h)),b=this.getMapRenderer().getCanvas(),this.updateProjectionMatrix_(b.width,b.height,d,e,f,g.getExtent()),d=this.texCoordMatrix_,goog.vec.Mat4.makeIdentity(d),goog.vec.Mat4.scale(d,1,-1,1),goog.vec.Mat4.translate(d,0,-1,0),this.image_=g,this.texture_=h,this.updateAttributions(a.attributions,
+g.getAttributions()))};ol.renderer.webgl.ImageLayer.prototype.updateProjectionMatrix_=function(a,b,c,d,e,f){a*=d;b*=d;d=this.projectionMatrix_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.scale(d,2/a,2/b,1);goog.vec.Mat4.rotateZ(d,-e);goog.vec.Mat4.translate(d,f.minX-c.x,f.minY-c.y,0);goog.vec.Mat4.scale(d,f.getWidth()/2,f.getHeight()/2,1);goog.vec.Mat4.translate(d,1,1,0)};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){var c=new goog.structs.Node(a,b),d=this.nodes_;d.push(c);this.moveUp_(d.length-1)};
goog.structs.Heap.prototype.insertAll=function(a){var b,c;if(a instanceof goog.structs.Heap){if(b=a.getKeys(),c=a.getValues(),0>=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()};
goog.structs.Heap.prototype.peek=function(){var a=this.nodes_;return 0==a.length?void 0:a[0].getValue()};goog.structs.Heap.prototype.peekKey=function(){return this.nodes_[0]&&this.nodes_[0].getKey()};goog.structs.Heap.prototype.moveDown_=function(a){for(var b=this.nodes_,c=b.length,d=b[a];a>1;){var e=this.getLeftChildIndex_(a),f=this.getRightChildIndex_(a),e=fd.getKey())break;b[a]=b[e];a=e}b[a]=d};
goog.structs.Heap.prototype.moveUp_=function(a){for(var b=this.nodes_,c=b[a];0c.getKey())b[a]=b[d],a=d;else break}b[a]=c};goog.structs.Heap.prototype.getLeftChildIndex_=function(a){return 2*a+1};goog.structs.Heap.prototype.getRightChildIndex_=function(a){return 2*a+2};goog.structs.Heap.prototype.getParentIndex_=function(a){return a-1>>1};
goog.structs.Heap.prototype.getValues=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;dc;++c)d=b.remove(),a.bindTileTexture(d,goog.webgl.LINEAR,goog.webgl.LINEAR)},b,k));v?(this.renderedTileRange_=j,this.renderedFramebufferExtent_=l):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,a.animate=!0)}this.updateUsedTiles(a.usedTiles,f,i,j);f.useLowResolutionTiles(i,a.extent);this.scheduleExpireCache(a,f);goog.vec.Mat4.makeIdentity(this.texCoordMatrix_);goog.vec.Mat4.translate(this.texCoordMatrix_,(d.center.x-l.minX)/(l.maxX-l.minX),(d.center.y-
-l.minY)/(l.maxY-l.minY),0);goog.vec.Mat4.rotateZ(this.texCoordMatrix_,d.rotation);goog.vec.Mat4.scale(this.texCoordMatrix_,a.size.width*d.resolution/(l.maxX-l.minX),a.size.height*d.resolution/(l.maxY-l.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.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 z={};z[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,z,j),j=new goog.structs.PriorityQueue,w=!0,t,v,r=k.minX;r<=
+k.maxX;++r)for(v=k.minY;v<=k.maxY;++v)if(s=new ol.TileCoord(l,r,v),n=g.getTile(s,i,e),!goog.isNull(n)){t=n.getState();if(t==ol.TileState.IDLE)goog.events.listenOnce(n,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),this.updateWantedTiles(a.wantedTiles,g,s),t=i.getTileCoordCenter(s),a.tileQueue.enqueue(n,h,t);else if(t==ol.TileState.LOADED)if(b.isTileTextureLoaded(n)){z[l][s.toString()]=n;continue}else t=i.getTileCoordCenter(s),w=t.x-f.x,t=t.y-f.y,w=Math.sqrt(w*w+t*t),j.enqueue(w,n);else if(t==
+ol.TileState.ERROR)continue;w=!1;i.forEachTileCoordParentTileRange(s,p)}e=goog.array.map(goog.object.getKeys(z),Number);goog.array.sort(e);var u=goog.vec.Vec4.createFloat32();goog.array.forEach(e,function(a){goog.object.forEach(z[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(u,e,f,2*(d.minX-m.minX)/q.width-1,2*(d.minY-m.minY)/q.height-1);c.uniform4fv(this.locations_.uTileOffset,u);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));w?(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.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_};
@@ -691,8 +701,8 @@ ol.structs.LRUCache.prototype.getCount=function(){return this.count_};ol.structs
ol.structs.LRUCache.prototype.peekLast=function(){goog.asserts.assert(!goog.isNull(this.oldest_));return this.oldest_.value_};ol.structs.LRUCache.prototype.peekLastKey=function(){goog.asserts.assert(!goog.isNull(this.oldest_));return this.oldest_.key_};
ol.structs.LRUCache.prototype.pop=function(){goog.asserts.assert(!goog.isNull(this.oldest_));goog.asserts.assert(!goog.isNull(this.newest_));var a=this.oldest_;goog.asserts.assert(a.key_ in this.entries_);delete this.entries_[a.key_];goog.isNull(a.newer)||(a.newer.older=null);this.oldest_=a.newer;goog.isNull(this.oldest_)&&(this.newest_=null);--this.count_;return a.value_};
ol.structs.LRUCache.prototype.set=function(a,b){goog.asserts.assert(!(a in{}));goog.asserts.assert(!(a in this.entries_));var c={key_:a,newer:null,older:this.newest_,value_:b};goog.isNull(this.newest_)?this.oldest_=c:this.newest_.newer=c;this.newest_=c;this.entries_[a]=c;++this.count_};ol.webgl={};ol.webgl.CONTEXT_IDS_=["webgl","webgl-experimental","webkit-3d","moz-webgl"];ol.webgl.WebGLContextEventType={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"};ol.webgl.getContext=function(a,b){var c,d,e=ol.webgl.CONTEXT_IDS_.length;for(d=0;dol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK&&a.postRenderFunctions.push(goog.bind(this.expireCache_,
-this))};ol.renderer.webgl.SUPPORTED=ol.webgl.SUPPORTED;ol.RendererHints={};ol.ENABLE_CANVAS=!0;ol.ENABLE_DOM=!0;ol.ENABLE_WEBGL=!0;ol.RendererHint={CANVAS:"canvas",DOM:"dom",WEBGL:"webgl"};ol.DEFAULT_RENDERER_HINTS=[ol.RendererHint.WEBGL,ol.RendererHint.CANVAS,ol.RendererHint.DOM];ol.MapProperty={BACKGROUND_COLOR:"backgroundColor",LAYERS:"layers",SIZE:"size",VIEW:"view"};
+c.height,this.canvasSize_=c);b.bindFramebuffer(goog.webgl.FRAMEBUFFER,null);var d=a.backgroundColor;b.clearColor(d.r/255,d.g/255,d.b/255,d.a);b.clear(goog.webgl.COLOR_BUFFER_BIT);b.enable(goog.webgl.BLEND);b.viewport(0,0,c.width,c.height);c=this.getProgram(this.fragmentShader_,this.vertexShader_);b.useProgram(c);goog.isNull(this.locations_)&&(this.locations_={a_position:b.getAttribLocation(c,"a_position"),a_texCoord:b.getAttribLocation(c,"a_texCoord"),u_colorMatrix:b.getUniformLocation(c,"u_colorMatrix"),
+u_texCoordMatrix:b.getUniformLocation(c,"u_texCoordMatrix"),u_projectionMatrix:b.getUniformLocation(c,"u_projectionMatrix"),u_opacity:b.getUniformLocation(c,"u_opacity"),u_texture:b.getUniformLocation(c,"u_texture")});goog.isNull(this.arrayBuffer_)?(c=b.createBuffer(),b.bindBuffer(goog.webgl.ARRAY_BUFFER,c),b.bufferData(goog.webgl.ARRAY_BUFFER,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),goog.webgl.STATIC_DRAW),this.arrayBuffer_=c):b.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);
+b.enableVertexAttribArray(this.locations_.a_position);b.vertexAttribPointer(this.locations_.a_position,2,goog.webgl.FLOAT,!1,16,0);b.enableVertexAttribArray(this.locations_.a_texCoord);b.vertexAttribPointer(this.locations_.a_texCoord,2,goog.webgl.FLOAT,!1,16,8);b.uniform1i(this.locations_.u_texture,0);goog.array.forEach(a.layersArray,function(c){var d=a.layerStates[goog.getUid(c)];d.visible&&d.ready&&(d=this.getLayerRenderer(c),b.uniformMatrix4fv(this.locations_.u_texCoordMatrix,!1,d.getTexCoordMatrix()),
+b.uniformMatrix4fv(this.locations_.u_projectionMatrix,!1,d.getProjectionMatrix()),b.uniformMatrix4fv(this.locations_.u_colorMatrix,!1,d.getColorMatrix()),b.uniform1f(this.locations_.u_opacity,c.getOpacity()),b.bindTexture(goog.webgl.TEXTURE_2D,d.getTexture()),b.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4))},this);this.renderedVisible_||(goog.style.showElement(this.canvas_,!0),this.renderedVisible_=!0);this.calculateMatrices2D(a);this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK&&
+a.postRenderFunctions.push(goog.bind(this.expireCache_,this))};ol.renderer.webgl.SUPPORTED=ol.webgl.SUPPORTED;ol.RendererHints={};ol.ENABLE_CANVAS=!0;ol.ENABLE_DOM=!0;ol.ENABLE_WEBGL=!0;ol.RendererHint={CANVAS:"canvas",DOM:"dom",WEBGL:"webgl"};ol.DEFAULT_RENDERER_HINTS=[ol.RendererHint.WEBGL,ol.RendererHint.CANVAS,ol.RendererHint.DOM];ol.MapProperty={BACKGROUND_COLOR:"backgroundColor",LAYERS:"layers",SIZE:"size",VIEW:"view"};
ol.Map=function(a){ol.Object.call(this);goog.DEBUG&&(this.logger=goog.debug.Logger.getLogger("ol.map."+goog.getUid(this)));a=ol.Map.createOptionsInternal(a);this.animationDelay_=new goog.async.AnimationDelay(this.renderFrame_,void 0,this);this.registerDisposable(this.animationDelay_);this.coordinateToPixelMatrix_=goog.vec.Mat4.createNumber();this.pixelToCoordinateMatrix_=goog.vec.Mat4.createNumber();this.frameState_=null;this.freezeRenderingCount_=0;this.dirty_=!1;this.target_=a.target;this.viewPropertyListenerKey_=
null;this.viewport_=goog.dom.createDom(goog.dom.TagName.DIV,"ol-viewport");this.viewport_.style.position="relative";this.viewport_.style.overflow="hidden";this.viewport_.style.width="100%";this.viewport_.style.height="100%";this.viewport_.style.msTouchAction="none";goog.dom.appendChild(this.target_,this.viewport_);this.overlayContainer_=goog.dom.createDom(goog.dom.TagName.DIV,"ol-overlaycontainer");goog.events.listen(this.overlayContainer_,[goog.events.EventType.CLICK,ol.BrowserFeature.HAS_TOUCH?
goog.events.EventType.TOUCHSTART:goog.events.EventType.MOUSEDOWN],goog.events.Event.stopPropagation);goog.dom.appendChild(this.viewport_,this.overlayContainer_);var b=new ol.MapBrowserEventHandler(this);goog.events.listen(b,goog.object.getValues(ol.MapBrowserEvent.EventType),this.handleMapBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.KeyHandler(document);goog.events.listen(b,goog.events.KeyHandler.EventType.KEY,this.handleBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.MouseWheelHandler(this.viewport_);
@@ -735,7 +745,7 @@ backgroundColor:goog.isDef(f)?f:new ol.Color(255,255,255,1),coordinateToPixelMat
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(0=this.branches_&&this.cancel()};
-goog.async.Deferred.prototype.pause_=function(){this.paused_++};goog.async.Deferred.prototype.unpause_=function(){this.paused_--;0==this.paused_&&this.hasFired()&&this.fire_()};goog.async.Deferred.prototype.continue_=function(a,b){this.resback_(a,b);this.unpause_()};goog.async.Deferred.prototype.resback_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};
-goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCancelled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCancelled_=!1}};goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!1,a)};
-goog.async.Deferred.prototype.assertNotDeferred_=function(a){goog.asserts.assert(!(a instanceof goog.async.Deferred),"Deferred instances can only be chained if they are the result of a callback")};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};
-goog.async.Deferred.prototype.addCallbacks=function(a,b,c){goog.asserts.assert(!this.chained_,"Chained Deferreds can not be re-used");this.chain_.push([a,b,c]);this.hasFired()&&this.fire_();return this};goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this};goog.async.Deferred.prototype.awaitDeferred=function(a){return this.addCallback(goog.bind(a.branch,a))};
-goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};goog.async.Deferred.prototype.isError=function(a){return a instanceof Error};goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.chain_,function(a){return goog.isFunction(a[1])})};
-goog.async.Deferred.prototype.fire_=function(){this.unhandledExceptionTimeoutId_&&(this.hasFired()&&this.hasErrback_())&&(goog.global.clearTimeout(this.unhandledExceptionTimeoutId_),delete this.unhandledExceptionTimeoutId_);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.chain_.length&&0==this.paused_;){var d=this.chain_.shift(),e=d[0],f=d[1],d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=this.hadError_&&
-(g==a||this.isError(g)),this.result_=a=g);a instanceof goog.async.Deferred&&(c=!0,this.pause_())}catch(h){a=h,this.hadError_=!0,this.hasErrback_()||(b=!0)}}this.result_=a;c&&this.paused_&&(a.addCallbacks(goog.bind(this.continue_,this,!0),goog.bind(this.continue_,this,!1)),a.chained_=!0);b&&(this.unhandledExceptionTimeoutId_=goog.global.setTimeout(function(){throw a;},0))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};
-goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.cancelled=function(){var a=new goog.async.Deferred;a.cancel();return a};goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);
-goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError";goog.async.Deferred.CancelledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CancelledError,goog.debug.Error);goog.async.Deferred.CancelledError.prototype.message="Deferred was cancelled";goog.async.Deferred.CancelledError.prototype.name="CancelledError";goog.net={};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[];goog.net.jsloader.loadMany=function(a,b){if(a.length){var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(!c){var a=goog.net.jsloader.scriptsToLoad_,d=function(){var c=a.shift(),c=goog.net.jsloader.load(c,b);a.length&&c.addBoth(d)};d()}}};
-goog.net.jsloader.load=function(a,b){var c=b||{},d=c.document||document,e=goog.dom.createElement(goog.dom.TagName.SCRIPT),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,i=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;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.source.ImageTileSource=function(a){ol.source.TileSource.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.tileUrlFunction=goog.isDef(a.tileUrlFunction)?a.tileUrlFunction:ol.TileUrlFunction.nullTileUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:"anonymous";this.tileCache_=new ol.TileCache};goog.inherits(ol.source.ImageTileSource,ol.source.TileSource);ol.source.ImageTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};
-ol.source.ImageTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};ol.source.ImageTileSource.prototype.getTile=function(a){var b=a.toString();if(this.tileCache_.containsKey(b))return this.tileCache_.get(b);var c=this.getTileCoordUrl(a);goog.isDef(c)?(a=new ol.ImageTile(a,c,this.crossOrigin_),this.tileCache_.set(b,a)):a=null;return a};ol.source.ImageTileSource.prototype.getTileCoordUrl=function(a){return this.tileUrlFunction(a)};
-ol.source.ImageTileSource.prototype.useTile=function(a){a=a.toString();this.tileCache_.containsKey(a)&&this.tileCache_.get(a)};ol.tilegrid.XYZ=function(a){var b=Array(a.maxZoom+1),c,d=2*ol.projection.EPSG3857.HALF_SIZE/ol.DEFAULT_TILE_SIZE;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);ol.tilegrid.TileGrid.call(this,{origin:new ol.Coordinate(-ol.projection.EPSG3857.HALF_SIZE,ol.projection.EPSG3857.HALF_SIZE),resolutions:b,tileSize:new ol.Size(ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE)})};goog.inherits(ol.tilegrid.XYZ,ol.tilegrid.TileGrid);
-ol.tilegrid.XYZ.prototype.forEachTileCoordParentTileRange=function(a,b,c){for(var d=a.x,e=a.y,a=a.z,f;;){a-=1;if(0>a)break;d>>=1;e>>=1;f=new ol.TileRange(d,e,d,e);if(b.call(c,a,f))break}};ol.BingMapsStyle={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",ROAD:"Road",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"};
-ol.source.BingMaps=function(a){ol.source.ImageTileSource.call(this,{projection:ol.projection.getFromCode("EPSG:3857")});this.culture_=goog.isDef(a.culture)?a.culture:"en-us";this.ready_=!1;var b=new goog.Uri("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style);(new goog.net.Jsonp(b,"jsonp")).send({include:"ImageryProviders",key:a.key},goog.bind(this.handleImageryMetadataResponse,this))};goog.inherits(ol.source.BingMaps,ol.source.ImageTileSource);
-ol.source.BingMaps.prototype.handleImageryMetadataResponse=function(a){goog.asserts.assert("ValidCredentials"==a.authenticationResultCode);goog.asserts.assert(200==a.statusCode);goog.asserts.assert("OK"==a.statusDescription);goog.asserts.assert(1==a.resourceSets.length);a=a.resourceSets[0];goog.asserts.assert(1==a.resources.length);var b=a.resources[0],c=b.zoomMin,d=b.zoomMax,a=new ol.Size(b.imageWidth,b.imageHeight),e=new ol.tilegrid.XYZ({maxZoom:d,tileSize:a});this.tileGrid=e;this.tileUrlFunction=
-ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.ze||b<=e)return null;b=goog.math.modulo(a.x,b);return new ol.TileCoord(a.z,b,e)},ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.culture_);return function(a){return goog.isNull(a)?void 0:c.replace("{quadkey}",a.quadKey())}})));var f=ol.projection.getTransform(ol.projection.getFromCode("EPSG:4326"),
-this.getProjection()),a=goog.array.map(b.imageryProviders,function(a){var b=a.attribution,c={};goog.array.forEach(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new ol.Extent(a[1],a[0],a[3],a[2])).transform(f),g,h;for(g=b;g<=d;++g)h=g.toString(),b=e.getTileRangeForExtentAndZ(a,g),h in c?c[h].push(b):c[h]=[b]});return new ol.Attribution(b,c)});this.setAttributions(a);this.ready_=!0;this.dispatchLoadEvent()};ol.source.BingMaps.prototype.isReady=function(){return this.ready_};ol.Ellipsoid=function(a,b){this.a=a;this.flattening=b;this.b=this.a*(1-this.flattening)};
-ol.Ellipsoid.prototype.vincenty=function(a,b,c,d){var c=goog.isDef(c)?c:1E-12,e=goog.isDef(d)?d:100,f=this.flattening,g=goog.math.toRadians(a.y),d=goog.math.toRadians(b.y),h=goog.math.toRadians(b.x-a.x),b=Math.atan((1-f)*Math.tan(g)),a=Math.cos(b),b=Math.sin(b),g=Math.atan((1-f)*Math.tan(d)),d=Math.cos(g),g=Math.sin(g),i=h,k,j,l;j=Infinity;for(var m,p,n;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.createWMSParams=function(a,b,c){return function(d,e,f){if(!goog.isNull(d)){var g=e.getTileSize(d.z),d=e.getTileCoordExtent(d);return ol.source.wms.getUrl(a,b,d,g,f,c)}}};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 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_=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};
ol.control.MousePosition.prototype.setMap=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);ol.control.MousePosition.superClass_.setMap.call(this,a);if(!goog.isNull(a)){var b=a.getViewport();this.listenerKeys_=[goog.events.listen(b,goog.events.EventType.MOUSEMOVE,this.handleMouseMove,!1,this),goog.events.listen(b,goog.events.EventType.MOUSEOUT,this.handleMouseOut,!1,this),goog.events.listen(a,ol.MapEventType.POSTRENDER,
@@ -830,8 +809,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"),k=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!==k?parseInt(k,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"),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));
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,0=this.branches_&&this.cancel()};
+goog.async.Deferred.prototype.pause_=function(){this.paused_++};goog.async.Deferred.prototype.unpause_=function(){this.paused_--;0==this.paused_&&this.hasFired()&&this.fire_()};goog.async.Deferred.prototype.continue_=function(a,b){this.resback_(a,b);this.unpause_()};goog.async.Deferred.prototype.resback_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};
+goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCancelled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCancelled_=!1}};goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.resback_(!1,a)};
+goog.async.Deferred.prototype.assertNotDeferred_=function(a){goog.asserts.assert(!(a instanceof goog.async.Deferred),"Deferred instances can only be chained if they are the result of a callback")};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};
+goog.async.Deferred.prototype.addCallbacks=function(a,b,c){goog.asserts.assert(!this.chained_,"Chained Deferreds can not be re-used");this.chain_.push([a,b,c]);this.hasFired()&&this.fire_();return this};goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this};goog.async.Deferred.prototype.awaitDeferred=function(a){return this.addCallback(goog.bind(a.branch,a))};
+goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};goog.async.Deferred.prototype.isError=function(a){return a instanceof Error};goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.chain_,function(a){return goog.isFunction(a[1])})};
+goog.async.Deferred.prototype.fire_=function(){this.unhandledExceptionTimeoutId_&&(this.hasFired()&&this.hasErrback_())&&(goog.global.clearTimeout(this.unhandledExceptionTimeoutId_),delete this.unhandledExceptionTimeoutId_);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.chain_.length&&0==this.paused_;){var d=this.chain_.shift(),e=d[0],f=d[1],d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=this.hadError_&&
+(g==a||this.isError(g)),this.result_=a=g);a instanceof goog.async.Deferred&&(c=!0,this.pause_())}catch(h){a=h,this.hadError_=!0,this.hasErrback_()||(b=!0)}}this.result_=a;c&&this.paused_&&(a.addCallbacks(goog.bind(this.continue_,this,!0),goog.bind(this.continue_,this,!1)),a.chained_=!0);b&&(this.unhandledExceptionTimeoutId_=goog.global.setTimeout(function(){throw a;},0))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};
+goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.cancelled=function(){var a=new goog.async.Deferred;a.cancel();return a};goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);
+goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError";goog.async.Deferred.CancelledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CancelledError,goog.debug.Error);goog.async.Deferred.CancelledError.prototype.message="Deferred was cancelled";goog.async.Deferred.CancelledError.prototype.name="CancelledError";goog.net={};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[];goog.net.jsloader.loadMany=function(a,b){if(a.length){var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(!c){var a=goog.net.jsloader.scriptsToLoad_,d=function(){var c=a.shift(),c=goog.net.jsloader.load(c,b);a.length&&c.addBoth(d)};d()}}};
+goog.net.jsloader.load=function(a,b){var c=b||{},d=c.document||document,e=goog.dom.createElement(goog.dom.TagName.SCRIPT),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,i=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;0a)break;d>>=1;e>>=1;f=new ol.TileRange(d,e,d,e);if(b.call(c,a,f))break}};ol.source.BingMaps=function(a){ol.source.ImageTileSource.call(this,{opaque:!0,projection:ol.projection.getFromCode("EPSG:3857")});this.culture_=goog.isDef(a.culture)?a.culture:"en-us";this.ready_=!1;var b=new goog.Uri("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style);(new goog.net.Jsonp(b,"jsonp")).send({include:"ImageryProviders",key:a.key},goog.bind(this.handleImageryMetadataResponse,this))};goog.inherits(ol.source.BingMaps,ol.source.ImageTileSource);
+ol.source.BingMaps.prototype.handleImageryMetadataResponse=function(a){goog.asserts.assert("ValidCredentials"==a.authenticationResultCode);goog.asserts.assert(200==a.statusCode);goog.asserts.assert("OK"==a.statusDescription);goog.asserts.assert(1==a.resourceSets.length);a=a.resourceSets[0];goog.asserts.assert(1==a.resources.length);var b=a.resources[0],c=b.zoomMin,d=b.zoomMax,a=new ol.Size(b.imageWidth,b.imageHeight),e=new ol.tilegrid.XYZ({maxZoom:d,tileSize:a});this.tileGrid=e;this.tileUrlFunction=
+ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.ze||b<=e)return null;b=goog.math.modulo(a.x,b);return new ol.TileCoord(a.z,b,e)},ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(b.imageUrlSubdomains,function(a){var c=b.imageUrl.replace("{subdomain}",a).replace("{culture}",this.culture_);return function(a){return goog.isNull(a)?void 0:c.replace("{quadkey}",a.quadKey())}})));var f=ol.projection.getTransform(ol.projection.getFromCode("EPSG:4326"),
+this.getProjection()),a=goog.array.map(b.imageryProviders,function(a){var b=a.attribution,c={};goog.array.forEach(a.coverageAreas,function(a){var b=a.zoomMin,d=a.zoomMax,a=a.bbox,a=(new ol.Extent(a[1],a[0],a[3],a[2])).transform(f),g,h;for(g=b;g<=d;++g)h=g.toString(),b=e.getTileRangeForExtentAndZ(a,g),h in c?c[h].push(b):c[h]=[b]});return new ol.Attribution(b,c)});this.setAttributions(a);this.ready_=!0;this.dispatchLoadEvent()};ol.source.BingMaps.prototype.isReady=function(){return this.ready_};ol.DebugTile_=function(a,b){ol.Tile.call(this,a);this.state=ol.TileState.LOADED;this.tileCoord_=a;this.tileSize_=b.getTileSize(a.z);this.canvasByContext_={}};goog.inherits(ol.DebugTile_,ol.Tile);
ol.DebugTile_.prototype.getImage=function(a){a=goog.isDef(a)?goog.getUid(a):-1;if(a in this.canvasByContext_)return this.canvasByContext_[a];var b=this.tileSize_,c=goog.dom.createElement(goog.dom.TagName.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.tileCoord_.toString(),b.width/2,b.height/2);return this.canvasByContext_[a]=
-c};ol.source.DebugTileSource=function(a){ol.source.TileSource.call(this,{extent:a.extent,projection:a.projection,tileGrid:a.tileGrid});this.tileCache_=new ol.TileCache};goog.inherits(ol.source.DebugTileSource,ol.source.TileSource);ol.source.DebugTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.DebugTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
+c};ol.source.DebugTileSource=function(a){ol.source.TileSource.call(this,{extent:a.extent,opaque:!1,projection:a.projection,tileGrid:a.tileGrid});this.tileCache_=new ol.TileCache};goog.inherits(ol.source.DebugTileSource,ol.source.TileSource);ol.source.DebugTileSource.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.DebugTileSource.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
ol.source.DebugTileSource.prototype.getTile=function(a){var b=a.toString();if(this.tileCache_.containsKey(b))return this.tileCache_.get(b);a=new ol.DebugTile_(a,this.tileGrid);this.tileCache_.set(b,a);return a};ol.source.XYZ=function(a){var b=a.projection||ol.projection.getFromCode("EPSG:3857"),c=ol.TileUrlFunction.nullTileUrlFunction;goog.isDef(a.tileUrlFunction)?c=a.tileUrlFunction:goog.isDef(a.urls)?c=ol.TileUrlFunction.createFromTemplates(a.urls):goog.isDef(a.url)&&(c=ol.TileUrlFunction.createFromTemplate(a.url));var d=new ol.tilegrid.XYZ({maxZoom:a.maxZoom}),e=a.extent,c=goog.isDefAndNotNull(e)?ol.TileUrlFunction.withTileCoordTransform(function(b){if(a.maxZoomh||c<=h)return null;c=goog.math.modulo(b.x,c);return!d.getTileCoordExtent(new ol.TileCoord(b.z,c,b.y)).intersects(e)?null:new ol.TileCoord(b.z,c,h)},c):ol.TileUrlFunction.withTileCoordTransform(function(b){if(a.maxZoomd||c<=d)return null;c=goog.math.modulo(b.x,c);return new ol.TileCoord(b.z,c,d)},c);ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:b,tileGrid:d,tileUrlFunction:c})};
-goog.inherits(ol.source.XYZ,ol.source.ImageTileSource);ol.source.MapQuestOSM=function(){var a=[new ol.Attribution('Tiles Courtesy of MapQuest
'),new ol.Attribution('Data © OpenStreetMap contributors, CC BY-SA')];ol.source.XYZ.call(this,{attributions:a,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})};
-goog.inherits(ol.source.MapQuestOSM,ol.source.XYZ);ol.source.MapQuestOpenAerial=function(){var a=[new ol.Attribution('Tiles Courtesy of MapQuest
'),new ol.Attribution("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")];ol.source.XYZ.call(this,{attributions:a,maxZoom:18,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})};
-goog.inherits(ol.source.MapQuestOpenAerial,ol.source.XYZ);ol.source.OpenStreetMap=function(){var a=new ol.Attribution('© OpenStreetMap contributors, CC BY-SA');ol.source.XYZ.call(this,{attributions:[a],maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})};goog.inherits(ol.source.OpenStreetMap,ol.source.XYZ);ol.source.SingleImageWMS=function(a){var b=ol.projection.createProjection(a.projection,"EPSG:3857"),c=b.getExtent(),c=goog.isDef(a.extent)?a.extent:c,d=goog.isDef(a.version)?a.version:"1.3",e={SERVICE:"WMS",VERSION:d,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:!0};e["1.3"<=d?"CRS":"SRS"]=b.getCode();goog.object.extend(e,a.params);d=b.getAxisOrientation();a.url?(e=goog.uri.utils.appendParamsFromMap(a.url,e),e=ol.ImageUrlFunction.createBboxParam(e,d)):e=ol.ImageUrlFunction.nullImageUrlFunction;
-ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:c,projection:b,resolutions:a.resolutions,imageUrlFunction:e});this.image_=null;this.ratio_=1.5};goog.inherits(ol.source.SingleImageWMS,ol.source.ImageSource);
-ol.source.SingleImageWMS.prototype.getImage=function(a,b){var b=this.findNearestResolution(b),c=this.image_;if(!goog.isNull(c)&&c.getResolution()==b&&c.getExtent().containsExtent(a))return c;a=new ol.Extent(a.minX,a.minY,a.maxX,a.maxY);a.scaleFromCenter(this.ratio_);var c=a.getWidth()/b,d=a.getHeight()/b,c=new ol.Size(c,d);return this.image_=this.createImage(a,b,c)};ol.source.StamenFlavor={TERRAIN_BACKGROUND:"background",TERRAIN_LABELS:"labels",TERRAIN_LINES:"lines",TONER_2010:"2010",TONER_2011:"2011",TONER_2011_LABELS:"2011-labels",TONER_2011_LINES:"2011-lines",TONER_2011_LITE:"2011-lite",TONER_BACKGROUND:"background",TONER_HYBRID:"hybrid",TONER_LABELS:"labels",TONER_LINES:"lines",TONER_LITE:"lite"};ol.source.StamenProvider={TERRAIN:"terrain",TONER:"toner",WATERCOLOR:"watercolor"};ol.source.StamenProviderConfig={};
+goog.inherits(ol.source.XYZ,ol.source.ImageTileSource);ol.source.MapQuestOSM=function(){var a=[new ol.Attribution('Tiles Courtesy of MapQuest
'),new ol.Attribution('Data © OpenStreetMap contributors, CC BY-SA')];ol.source.XYZ.call(this,{attributions:a,opaque:!0,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})};
+goog.inherits(ol.source.MapQuestOSM,ol.source.XYZ);ol.source.MapQuestOpenAerial=function(){var a=[new ol.Attribution('Tiles Courtesy of MapQuest
'),new ol.Attribution("Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency")];ol.source.XYZ.call(this,{attributions:a,maxZoom:18,opaque:!0,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})};
+goog.inherits(ol.source.MapQuestOpenAerial,ol.source.XYZ);ol.source.OpenStreetMap=function(){var a=new ol.Attribution('© OpenStreetMap contributors, CC BY-SA');ol.source.XYZ.call(this,{attributions:[a],opaque:!0,maxZoom:18,url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"})};goog.inherits(ol.source.OpenStreetMap,ol.source.XYZ);ol.source.SingleImageWMS=function(a){var b=goog.isDef(a.url)?ol.ImageUrlFunction.createWMSParams(a.url,a.params,a.version):ol.ImageUrlFunction.nullImageUrlFunction;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,imageUrlFunction:b});this.image_=null;this.ratio_=1.5};goog.inherits(ol.source.SingleImageWMS,ol.source.ImageSource);
+ol.source.SingleImageWMS.prototype.getImage=function(a,b,c){var b=this.findNearestResolution(b),d=this.image_;if(!goog.isNull(d)&&d.getResolution()==b&&d.getExtent().containsExtent(a))return d;a=new ol.Extent(a.minX,a.minY,a.maxX,a.maxY);a.scaleFromCenter(this.ratio_);var d=a.getWidth()/b,e=a.getHeight()/b,d=new ol.Size(d,e);return this.image_=this.createImage(a,b,d,c)};ol.source.StamenFlavor={TERRAIN_BACKGROUND:"background",TERRAIN_LABELS:"labels",TERRAIN_LINES:"lines",TONER_2010:"2010",TONER_2011:"2011",TONER_2011_LABELS:"2011-labels",TONER_2011_LINES:"2011-lines",TONER_2011_LITE:"2011-lite",TONER_BACKGROUND:"background",TONER_HYBRID:"hybrid",TONER_LABELS:"labels",TONER_LINES:"lines",TONER_LITE:"lite"};ol.source.StamenProvider={TERRAIN:"terrain",TONER:"toner",WATERCOLOR:"watercolor"};ol.source.StamenProviderConfig={};
ol.source.StamenProviderConfig[ol.source.StamenProvider.TERRAIN]={type:"jpg",minZoom:4,maxZoom:18};ol.source.StamenProviderConfig[ol.source.StamenProvider.TONER]={type:"png",minZoom:0,maxZoom:20};ol.source.StamenProviderConfig[ol.source.StamenProvider.WATERCOLOR]={type:"jpg",minZoom:3,maxZoom:16};
-ol.source.Stamen=function(a){var b=new ol.Attribution('Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.'),c=a.provider;goog.isDef(a.flavor)&&(c+="-"+a.flavor);a=ol.source.StamenProviderConfig[a.provider];ol.source.XYZ.call(this,{attributions:[b],maxZoom:a.maxZoom,url:"http://{a-d}.tile.stamen.com/"+
-c+"/{z}/{x}/{y}."+a.type})};goog.inherits(ol.source.Stamen,ol.source.XYZ);ol.source.StaticImage=function(a){var b=ol.source.StaticImage.createImageFunction(a.url),c=a.imageExtent,d=a.imageSize,e=c.getHeight()/d.height;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,imageUrlFunction:b,resolutions:[e]});this.image_=this.createImage(c,e,d)};goog.inherits(ol.source.StaticImage,ol.source.ImageSource);
+ol.source.Stamen=function(a){var b=new ol.Attribution('Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.'),c=a.provider;goog.isDef(a.flavor)&&(c+="-"+a.flavor);a=ol.source.StamenProviderConfig[a.provider];ol.source.XYZ.call(this,{attributions:[b],maxZoom:a.maxZoom,opaque:!1,url:"http://{a-d}.tile.stamen.com/"+
+c+"/{z}/{x}/{y}."+a.type})};goog.inherits(ol.source.Stamen,ol.source.XYZ);ol.source.StaticImage=function(a){var b=ol.source.StaticImage.createImageFunction(a.url),c=a.imageExtent,d=a.imageSize,e=c.getHeight()/d.height,f=goog.isDef(a.projection)?a.projection:null;ol.source.ImageSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,imageUrlFunction:b,resolutions:[e]});this.image_=this.createImage(c,e,d,f)};goog.inherits(ol.source.StaticImage,ol.source.ImageSource);
ol.source.StaticImage.prototype.getImage=function(a){return a.intersects(this.image_.getExtent())?this.image_:null};ol.source.StaticImage.createImageFunction=function(a){return function(){return a}};ol.tilejson={};ol.tilejson.grids_=[];var grid=function(a){ol.tilejson.grids_.push(a)};goog.exportSymbol("grid",grid);ol.source.TileJSON=function(a){ol.source.ImageTileSource.call(this,{projection:ol.projection.getFromCode("EPSG:3857")});this.ready_=!1;this.deferred_=goog.net.jsloader.load(a.uri,{cleanupWhenDone:!0});this.deferred_.addCallback(this.handleTileJSONResponse,this)};goog.inherits(ol.source.TileJSON,ol.source.ImageTileSource);
ol.source.TileJSON.prototype.handleTileJSONResponse=function(){var a=ol.tilejson.grids_.pop(),b=ol.projection.getFromCode("EPSG:4326"),c,d;goog.isDef(a.bounds)?(c=a.bounds,c=new ol.Extent(c[0],c[1],c[2],c[3]),d=c.transform(ol.projection.getTransform(b,this.getProjection())),this.setExtent(d)):d=c=null;goog.isDef(a.scheme);goog.isDef(a.scheme)&&goog.asserts.assert("xyz"==a.scheme);var e=a.minzoom||0;goog.asserts.assert(0===e);var f=a.maxzoom||22,g=new ol.tilegrid.XYZ({maxZoom:f});this.tileGrid=g;this.tileUrlFunction=
ol.TileUrlFunction.withTileCoordTransform(function(a){if(a.zc||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){var b=ol.projection.createProjection(a.projection,"EPSG:3857"),c=b.getExtent(),d=goog.isDef(a.extent)?a.extent:c,e=goog.isDef(a.version)?a.version:"1.3",f;f=goog.isDef(a.tileGrid)?a.tileGrid:ol.tilegrid.createForProjection(b,a.maxZoom);var g={SERVICE:"WMS",VERSION:e,REQUEST:"GetMap",STYLES:"",FORMAT:"image/png",TRANSPARENT:!0};g["1.3"<=e?"CRS":"SRS"]=b.getCode();goog.object.extend(g,a.params);var h=b.getAxisOrientation();a.urls?(e=goog.array.map(a.urls,function(a){a=
-goog.uri.utils.appendParamsFromMap(a,g);return ol.TileUrlFunction.createBboxParam(a,f,h)}),e=ol.TileUrlFunction.createFromTileUrlFunctions(e)):a.url?(e=goog.uri.utils.appendParamsFromMap(a.url,g),e=ol.TileUrlFunction.createBboxParam(e,f,h)):e=ol.TileUrlFunction.nullTileUrlFunction;ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:d,tileGrid:f,projection:b,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(a){if(f.getResolutions().length<=
-a.z)return null;var b=a.x,e=f.getTileCoordExtent(a);d.minX===c.minX&&d.maxX===c.maxX&&(e=Math.ceil((d.maxX-d.minX)/(e.maxX-e.minX)),b=goog.math.modulo(b,e),e=f.getTileCoordExtent(new ol.TileCoord(a.z,b,a.y)));return!e.intersects(d)?null:new ol.TileCoord(a.z,b,a.y)},e)})};goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.sphere.WGS84=new ol.Sphere(6378137);ol.AnchoredElementOptionsType={};ol.MapOptionsType={};ol.View2DOptionsType={};ol.animation.BounceOptionsType={};ol.animation.PanOptionsType={};ol.animation.RotateOptionsType={};ol.animation.ZoomOptionsType={};ol.control.AttributionOptionsType={};ol.control.MousePositionOptionsType={};ol.control.ZoomOptionsType={};ol.layer.LayerOptionsType={};ol.source.BingMapsOptionsType={};ol.source.DebugTileSourceOptionsType={};ol.source.SingleImageWMSOptionsType={};ol.source.StamenOptionsType={};
-ol.source.StaticImageOptionsType={};ol.source.TiledWMSOptionsType={};ol.tilegrid.TileGridOptionsType={};ol.tilegrid.XYZOptionsType={};
+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.version,c;a.urls?(c=goog.array.map(a.urls,function(c){return ol.TileUrlFunction.createWMSParams(c,a.params,b)}),c=ol.TileUrlFunction.createFromTileUrlFunctions(c)):c=a.url?ol.TileUrlFunction.createWMSParams(a.url,a.params,b):ol.TileUrlFunction.nullTileUrlFunction;var d=goog.isDef(a.transparent)?a.transparent:!0;ol.source.ImageTileSource.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,tileGrid:a.tileGrid,
+opaque:!d,projection:a.projection,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(b,c,d){if(c.getResolutions().length<=b.z)return null;var h=b.x,i=c.getTileCoordExtent(b),l=d.getExtent(),d=goog.isDef(a.extent)?a.extent:l;d.minX===l.minX&&d.maxX===l.maxX&&(i=Math.ceil((d.maxX-d.minX)/(i.maxX-i.minX)),h=goog.math.modulo(h,i),i=c.getTileCoordExtent(new ol.TileCoord(b.z,h,b.y)));return!i.intersects(d)?null:new ol.TileCoord(b.z,h,b.y)},c)})};goog.inherits(ol.source.TiledWMS,ol.source.ImageTileSource);ol.sphere.WGS84=new ol.Sphere(6378137);ol.AnchoredElementOptionsType={};ol.MapOptionsType={};ol.View2DOptionsType={};ol.animation.BounceOptionsType={};ol.animation.PanOptionsType={};ol.animation.RotateOptionsType={};ol.animation.ZoomOptionsType={};ol.control.AttributionOptionsType={};ol.control.MousePositionOptionsType={};ol.control.ScaleLineOptionsType={};ol.control.ZoomOptionsType={};ol.layer.LayerOptionsType={};ol.source.BingMapsOptionsType={};ol.source.DebugTileSourceOptionsType={};ol.source.SingleImageWMSOptionsType={};
+ol.source.StamenOptionsType={};ol.source.StaticImageOptionsType={};ol.source.TiledWMSOptionsType={};ol.tilegrid.TileGridOptionsType={};ol.tilegrid.XYZOptionsType={};
diff --git a/master/build/ol-whitespace.js b/master/build/ol-whitespace.js
index 947fbc42f9..f5082dd7ba 100644
--- a/master/build/ol-whitespace.js
+++ b/master/build/ol-whitespace.js
@@ -1,1809 +1,19689 @@
-var COMPILED=false;var goog=goog||{};goog.NODE_JS=false;goog.global=goog.NODE_JS?eval("global"):this;goog.DEBUG=true;goog.LOCALE="en";goog.provide=function(name){if(!COMPILED){if(goog.isProvided_(name))throw Error('Namespace "'+name+'" already declared.');delete goog.implicitNamespaces_[name];var namespace=name;while(namespace=namespace.substring(0,namespace.lastIndexOf("."))){if(goog.getObjectByName(namespace))break;goog.implicitNamespaces_[namespace]=true}}goog.exportPath_(name)};
-goog.setTestOnly=function(opt_message){if(COMPILED&&!goog.DEBUG){opt_message=opt_message||"";throw Error("Importing test-only code into non-debug environment"+opt_message?": "+opt_message:".");}};if(!COMPILED){goog.isProvided_=function(name){return!goog.implicitNamespaces_[name]&&!!goog.getObjectByName(name)};goog.implicitNamespaces_={}}goog.isExistingGlobalVariable_=function(goog){return String(eval("typeof "+goog))!=="undefined"};
-goog.exportPath_=function(name,opt_object,opt_objectToExportTo){var parts=name.split(".");var cur=opt_objectToExportTo||goog.global;if(!(parts[0]in cur)&&cur.execScript)cur.execScript("var "+parts[0]);if(goog.NODE_JS&&cur===goog.global)if(goog.isExistingGlobalVariable_(parts[0])){cur=eval(parts[0]);parts.shift()}for(var part;parts.length&&(part=parts.shift());)if(!parts.length&&goog.isDef(opt_object))cur[part]=opt_object;else if(cur[part])cur=cur[part];else cur=cur[part]={}};
-goog.getObjectByName=function(name,opt_obj){var parts=name.split(".");var cur=opt_obj||goog.global;if(goog.NODE_JS&&cur===goog.global)if(goog.isExistingGlobalVariable_(parts[0])){cur=eval(parts[0]);parts.shift()}for(var part;part=parts.shift();)if(goog.isDefAndNotNull(cur[part]))cur=cur[part];else return null;return cur};goog.globalize=function(obj,opt_global){var global=opt_global||goog.global;for(var x in obj)global[x]=obj[x]};
-goog.addDependency=function(relPath,provides,requires){if(!COMPILED){var provide,require;var path=relPath.replace(/\\/g,"/");var deps=goog.dependencies_;for(var i=0;provide=provides[i];i++){deps.nameToPath[provide]=path;if(!(path in deps.pathToNames))deps.pathToNames[path]={};deps.pathToNames[path][provide]=true}for(var j=0;require=requires[j];j++){if(!(path in deps.requires))deps.requires[path]={};deps.requires[path][require]=true}}};goog.ENABLE_DEBUG_LOADER=true;
-goog.require=function(name){if(!COMPILED){if(goog.isProvided_(name))return;if(goog.ENABLE_DEBUG_LOADER){var path=goog.getPathFromDeps_(name);if(path){goog.included_[path]=true;goog.writeScripts_();return}}var errorMessage="goog.require could not find: "+name;if(goog.global.console)goog.global.console["error"](errorMessage);throw Error(errorMessage);}};goog.basePath="";goog.global.CLOSURE_BASE_PATH;goog.global.CLOSURE_NO_DEPS;goog.global.CLOSURE_IMPORT_SCRIPT;goog.nullFunction=function(){};
-goog.identityFunction=function(opt_returnValue,var_args){return opt_returnValue};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(ctor){ctor.getInstance=function(){if(ctor.instance_)return ctor.instance_;if(goog.DEBUG)goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=ctor;return ctor.instance_=new ctor}};goog.instantiatedSingletons_=[];
-if(!COMPILED&&goog.ENABLE_DEBUG_LOADER){goog.included_={};goog.dependencies_={pathToNames:{},nameToPath:{},requires:{},visited:{},written:{}};goog.inHtmlDocument_=function(){var doc=goog.global.document;return typeof doc!="undefined"&&"write"in doc};goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH){goog.basePath=goog.global.CLOSURE_BASE_PATH;return}else if(!goog.inHtmlDocument_())return;var doc=goog.global.document;var scripts=doc.getElementsByTagName("script");for(var i=scripts.length-
-1;i>=0;--i){var src=scripts[i].src;var qmark=src.lastIndexOf("?");var l=qmark==-1?src.length:qmark;if(src.substr(l-7,7)=="base.js"){goog.basePath=src.substr(0,l-7);return}}};goog.importScript_=function(src){var importScript=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;if(!goog.dependencies_.written[src]&&importScript(src))goog.dependencies_.written[src]=true};goog.writeScriptTag_=function(src){if(goog.inHtmlDocument_()){var doc=goog.global.document;doc.write('