postrunner 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -3
- data/lib/postrunner/ActivitiesDB.rb +8 -9
- data/lib/postrunner/Activity.rb +7 -1
- data/lib/postrunner/ActivityView.rb +10 -2
- data/lib/postrunner/DataSources.rb +100 -0
- data/lib/postrunner/DeviceList.rb +40 -17
- data/lib/postrunner/Log.rb +25 -0
- data/lib/postrunner/Main.rb +9 -8
- data/lib/postrunner/RuntimeConfig.rb +1 -0
- data/lib/postrunner/TrackView.rb +39 -62
- data/lib/postrunner/version.rb +1 -1
- data/misc/openlayers/ol.css +1 -0
- data/misc/openlayers/ol.js +948 -0
- data/postrunner.gemspec +2 -2
- data/spec/PostRunner_spec.rb +22 -23
- data/spec/spec_helper.rb +34 -4
- metadata +11 -1214
- data/misc/openlayers/.gitignore +0 -7
- data/misc/openlayers/OpenLayers.debug.js +0 -85622
- data/misc/openlayers/OpenLayers.js +0 -1443
- data/misc/openlayers/OpenLayers.light.debug.js +0 -37230
- data/misc/openlayers/OpenLayers.light.js +0 -592
- data/misc/openlayers/OpenLayers.mobile.debug.js +0 -41831
- data/misc/openlayers/OpenLayers.mobile.js +0 -681
- data/misc/openlayers/apidoc_config/Languages.txt +0 -113
- data/misc/openlayers/apidoc_config/Menu.txt +0 -520
- data/misc/openlayers/apidoc_config/OL.css +0 -20
- data/misc/openlayers/apidoc_config/Topics.txt +0 -105
- data/misc/openlayers/art/arrows.svg +0 -127
- data/misc/openlayers/art/layer-switcher-maximize.svg +0 -128
- data/misc/openlayers/art/layer-switcher-minimize.svg +0 -142
- data/misc/openlayers/art/marker.svg +0 -25
- data/misc/openlayers/art/measuring-stick-off.svg +0 -36
- data/misc/openlayers/art/measuring-stick-on.svg +0 -36
- data/misc/openlayers/art/panning-hand-off.svg +0 -44
- data/misc/openlayers/art/panning-hand-on.svg +0 -44
- data/misc/openlayers/art/slider.svg +0 -71
- data/misc/openlayers/art/zoom-world.svg +0 -193
- data/misc/openlayers/art/zoombar.svg +0 -73
- data/misc/openlayers/authors.txt +0 -56
- data/misc/openlayers/build/README.txt +0 -46
- data/misc/openlayers/build/build.py +0 -158
- data/misc/openlayers/build/buildUncompressed.py +0 -25
- data/misc/openlayers/build/closure-compiler/Externs.js +0 -50
- data/misc/openlayers/build/full.cfg +0 -14
- data/misc/openlayers/build/license.txt +0 -57
- data/misc/openlayers/build/light.cfg +0 -32
- data/misc/openlayers/build/lite.cfg +0 -17
- data/misc/openlayers/build/mobile.cfg +0 -36
- data/misc/openlayers/build/tests.cfg +0 -11
- data/misc/openlayers/doc_config/Data/ClassHierarchy.nd +0 -0
- data/misc/openlayers/doc_config/Data/ConfigFileInfo.nd +0 -0
- data/misc/openlayers/doc_config/Data/FileInfo.nd +0 -323
- data/misc/openlayers/doc_config/Data/ImageFileInfo.nd +0 -0
- data/misc/openlayers/doc_config/Data/ImageReferenceTable.nd +0 -0
- data/misc/openlayers/doc_config/Data/IndexInfo.nd +0 -0
- data/misc/openlayers/doc_config/Data/PreviousMenuState.nd +0 -0
- data/misc/openlayers/doc_config/Data/PreviousSettings.nd +0 -0
- data/misc/openlayers/doc_config/Data/SymbolTable.nd +0 -0
- data/misc/openlayers/doc_config/Languages.txt +0 -113
- data/misc/openlayers/doc_config/Menu.txt +0 -520
- data/misc/openlayers/doc_config/OL.css +0 -20
- data/misc/openlayers/doc_config/Topics.txt +0 -102
- data/misc/openlayers/examples/Jugl.js +0 -8
- data/misc/openlayers/examples/KMLParser.html +0 -57
- data/misc/openlayers/examples/SLDSelect.html +0 -202
- data/misc/openlayers/examples/WMSDescribeLayerParser.html +0 -52
- data/misc/openlayers/examples/accelerometer.html +0 -100
- data/misc/openlayers/examples/accessible-click-control.html +0 -69
- data/misc/openlayers/examples/accessible-click-control.js +0 -199
- data/misc/openlayers/examples/accessible-panel.html +0 -130
- data/misc/openlayers/examples/accessible-panel.js +0 -64
- data/misc/openlayers/examples/accessible.html +0 -167
- data/misc/openlayers/examples/all-overlays-google.html +0 -34
- data/misc/openlayers/examples/all-overlays-google.js +0 -19
- data/misc/openlayers/examples/all-overlays.html +0 -76
- data/misc/openlayers/examples/anchor-permalink.html +0 -29
- data/misc/openlayers/examples/anchor-permalink.js +0 -13
- data/misc/openlayers/examples/animated_panning.html +0 -98
- data/misc/openlayers/examples/animator.js +0 -670
- data/misc/openlayers/examples/arcgis93rest.html +0 -69
- data/misc/openlayers/examples/arcgiscache_ags.html +0 -221
- data/misc/openlayers/examples/arcgiscache_direct.html +0 -108
- data/misc/openlayers/examples/arcgiscache_jsonp.html +0 -106
- data/misc/openlayers/examples/arcims-thematic.html +0 -82
- data/misc/openlayers/examples/arcims.html +0 -57
- data/misc/openlayers/examples/attribution.html +0 -60
- data/misc/openlayers/examples/behavior-fixed-http-gml.html +0 -56
- data/misc/openlayers/examples/bing-tiles-restrictedzoom.html +0 -43
- data/misc/openlayers/examples/bing-tiles-restrictedzoom.js +0 -37
- data/misc/openlayers/examples/bing-tiles.html +0 -39
- data/misc/openlayers/examples/bing-tiles.js +0 -31
- data/misc/openlayers/examples/bing.html +0 -64
- data/misc/openlayers/examples/bootstrap.html +0 -81
- data/misc/openlayers/examples/bootstrap.js +0 -31
- data/misc/openlayers/examples/boxes-vector.html +0 -59
- data/misc/openlayers/examples/boxes.html +0 -58
- data/misc/openlayers/examples/browser.html +0 -152
- data/misc/openlayers/examples/browser.js +0 -241
- data/misc/openlayers/examples/buffer.html +0 -54
- data/misc/openlayers/examples/cache-read.html +0 -36
- data/misc/openlayers/examples/cache-read.js +0 -36
- data/misc/openlayers/examples/cache-write.html +0 -37
- data/misc/openlayers/examples/cache-write.js +0 -46
- data/misc/openlayers/examples/canvas-hit-detection.html +0 -31
- data/misc/openlayers/examples/canvas-hit-detection.js +0 -88
- data/misc/openlayers/examples/canvas-inspector.html +0 -53
- data/misc/openlayers/examples/canvas-inspector.js +0 -91
- data/misc/openlayers/examples/canvas.html +0 -35
- data/misc/openlayers/examples/canvas.js +0 -57
- data/misc/openlayers/examples/cartodb-geojson.html +0 -71
- data/misc/openlayers/examples/click-handler.html +0 -232
- data/misc/openlayers/examples/click.html +0 -91
- data/misc/openlayers/examples/clientzoom.html +0 -72
- data/misc/openlayers/examples/clientzoom.js +0 -39
- data/misc/openlayers/examples/controls.html +0 -86
- data/misc/openlayers/examples/cql-format.html +0 -54
- data/misc/openlayers/examples/cql-format.js +0 -61
- data/misc/openlayers/examples/cross-origin-xml.html +0 -32
- data/misc/openlayers/examples/cross-origin-xml.js +0 -25
- data/misc/openlayers/examples/cross-origin.html +0 -36
- data/misc/openlayers/examples/cross-origin.js +0 -39
- data/misc/openlayers/examples/custom-control.html +0 -68
- data/misc/openlayers/examples/custom-style.html +0 -66
- data/misc/openlayers/examples/data/4_m_citylights_lg.gif +0 -0
- data/misc/openlayers/examples/data/line.json +0 -10
- data/misc/openlayers/examples/data/point.json +0 -8
- data/misc/openlayers/examples/data/poly.json +0 -9
- data/misc/openlayers/examples/data/roads.json +0 -349
- data/misc/openlayers/examples/data/tazdem.tiff +0 -0
- data/misc/openlayers/examples/debug.html +0 -77
- data/misc/openlayers/examples/document-drag.html +0 -43
- data/misc/openlayers/examples/donut.html +0 -62
- data/misc/openlayers/examples/donut.js +0 -44
- data/misc/openlayers/examples/drag-feature.html +0 -114
- data/misc/openlayers/examples/draw-feature.html +0 -143
- data/misc/openlayers/examples/draw-undo-redo.html +0 -38
- data/misc/openlayers/examples/draw-undo-redo.js +0 -45
- data/misc/openlayers/examples/dynamic-text-layer.html +0 -101
- data/misc/openlayers/examples/editing-methods.html +0 -58
- data/misc/openlayers/examples/editing-methods.js +0 -83
- data/misc/openlayers/examples/editingtoolbar-outside.html +0 -56
- data/misc/openlayers/examples/editingtoolbar.html +0 -55
- data/misc/openlayers/examples/encoded-polyline.html +0 -47
- data/misc/openlayers/examples/events.html +0 -155
- data/misc/openlayers/examples/example-list.html +0 -302
- data/misc/openlayers/examples/example.html +0 -25
- data/misc/openlayers/examples/example.js +0 -23
- data/misc/openlayers/examples/feature-events.html +0 -46
- data/misc/openlayers/examples/feature-events.js +0 -67
- data/misc/openlayers/examples/filter-strategy.html +0 -54
- data/misc/openlayers/examples/filter-strategy.js +0 -84
- data/misc/openlayers/examples/filter.html +0 -107
- data/misc/openlayers/examples/fractional-zoom.html +0 -72
- data/misc/openlayers/examples/fullScreen.html +0 -53
- data/misc/openlayers/examples/fullScreen.js +0 -20
- data/misc/openlayers/examples/fusiontables.html +0 -35
- data/misc/openlayers/examples/fusiontables.js +0 -51
- data/misc/openlayers/examples/game-accel-ball.html +0 -82
- data/misc/openlayers/examples/geojson-reprojected.html +0 -46
- data/misc/openlayers/examples/geojson-reprojected.js +0 -27
- data/misc/openlayers/examples/geojson-reprojected.json +0 -1
- data/misc/openlayers/examples/geojson.html +0 -77
- data/misc/openlayers/examples/geolocation.html +0 -41
- data/misc/openlayers/examples/geolocation.js +0 -112
- data/misc/openlayers/examples/georss-flickr.html +0 -119
- data/misc/openlayers/examples/georss-markers.html +0 -45
- data/misc/openlayers/examples/georss.html +0 -63
- data/misc/openlayers/examples/georss.xml +0 -378
- data/misc/openlayers/examples/getfeature-wfs.html +0 -84
- data/misc/openlayers/examples/getfeatureinfo-control.html +0 -221
- data/misc/openlayers/examples/getfeatureinfo-popup.html +0 -96
- data/misc/openlayers/examples/gml-layer.html +0 -48
- data/misc/openlayers/examples/gml/line.xml +0 -42
- data/misc/openlayers/examples/gml/multipoint.xml +0 -70
- data/misc/openlayers/examples/gml/multipolygon.xml +0 -106
- data/misc/openlayers/examples/gml/owls.xml +0 -156
- data/misc/openlayers/examples/gml/point.xml +0 -42
- data/misc/openlayers/examples/gml/polygon.xml +0 -89
- data/misc/openlayers/examples/google-static.html +0 -39
- data/misc/openlayers/examples/google-static.js +0 -61
- data/misc/openlayers/examples/google-v3-alloverlays.html +0 -33
- data/misc/openlayers/examples/google-v3-alloverlays.js +0 -35
- data/misc/openlayers/examples/google-v3.html +0 -35
- data/misc/openlayers/examples/google-v3.js +0 -39
- data/misc/openlayers/examples/google.html +0 -69
- data/misc/openlayers/examples/graphic-name.html +0 -42
- data/misc/openlayers/examples/graphic-name.js +0 -67
- data/misc/openlayers/examples/graticule.html +0 -116
- data/misc/openlayers/examples/gutter.html +0 -55
- data/misc/openlayers/examples/highlight-feature.html +0 -88
- data/misc/openlayers/examples/hover-handler.html +0 -216
- data/misc/openlayers/examples/image-layer.html +0 -76
- data/misc/openlayers/examples/img/check-round-green.png +0 -0
- data/misc/openlayers/examples/img/check-round-grey.png +0 -0
- data/misc/openlayers/examples/img/list.png +0 -0
- data/misc/openlayers/examples/img/locate.png +0 -0
- data/misc/openlayers/examples/img/marker_shadow.png +0 -0
- data/misc/openlayers/examples/img/minus1.png +0 -0
- data/misc/openlayers/examples/img/mobile-layers.png +0 -0
- data/misc/openlayers/examples/img/mobile-loc.png +0 -0
- data/misc/openlayers/examples/img/mobile-zoombar.png +0 -0
- data/misc/openlayers/examples/img/openlayers.png +0 -0
- data/misc/openlayers/examples/img/popupMatrix.jpg +0 -0
- data/misc/openlayers/examples/img/small.jpg +0 -0
- data/misc/openlayers/examples/img/thinlong.jpg +0 -0
- data/misc/openlayers/examples/img/widelong.jpg +0 -0
- data/misc/openlayers/examples/img/wideshort.jpg +0 -0
- data/misc/openlayers/examples/intersects.html +0 -193
- data/misc/openlayers/examples/kamap.html +0 -45
- data/misc/openlayers/examples/kamap.txt +0 -508
- data/misc/openlayers/examples/kinetic.html +0 -44
- data/misc/openlayers/examples/kinetic.js +0 -27
- data/misc/openlayers/examples/kml-layer.html +0 -36
- data/misc/openlayers/examples/kml-layer.js +0 -22
- data/misc/openlayers/examples/kml-pointtrack.html +0 -40
- data/misc/openlayers/examples/kml-pointtrack.js +0 -52
- data/misc/openlayers/examples/kml-track.html +0 -42
- data/misc/openlayers/examples/kml-track.js +0 -40
- data/misc/openlayers/examples/kml-track.kml +0 -3359
- data/misc/openlayers/examples/kml/lines.kml +0 -275
- data/misc/openlayers/examples/kml/styles.kml +0 -21
- data/misc/openlayers/examples/kml/sundials.kml +0 -2273
- data/misc/openlayers/examples/label-scale.html +0 -34
- data/misc/openlayers/examples/label-scale.js +0 -72
- data/misc/openlayers/examples/late-render.html +0 -48
- data/misc/openlayers/examples/layer-opacity.html +0 -95
- data/misc/openlayers/examples/layerLoadMonitoring.html +0 -135
- data/misc/openlayers/examples/layerswitcher.html +0 -60
- data/misc/openlayers/examples/light-basic.html +0 -35
- data/misc/openlayers/examples/light-basic.js +0 -67
- data/misc/openlayers/examples/lite.html +0 -39
- data/misc/openlayers/examples/mapbox.html +0 -30
- data/misc/openlayers/examples/mapbox.js +0 -21
- data/misc/openlayers/examples/mapguide.html +0 -155
- data/misc/openlayers/examples/mapquest.html +0 -28
- data/misc/openlayers/examples/mapquest.js +0 -36
- data/misc/openlayers/examples/mapserver.html +0 -41
- data/misc/openlayers/examples/mapserver_untiled.html +0 -43
- data/misc/openlayers/examples/marker-shadow.html +0 -152
- data/misc/openlayers/examples/markerResize.html +0 -60
- data/misc/openlayers/examples/markers.html +0 -59
- data/misc/openlayers/examples/markersTextLayer.html +0 -41
- data/misc/openlayers/examples/measure.html +0 -203
- data/misc/openlayers/examples/mobile-base.js +0 -167
- data/misc/openlayers/examples/mobile-drawing.html +0 -52
- data/misc/openlayers/examples/mobile-drawing.js +0 -71
- data/misc/openlayers/examples/mobile-jq.html +0 -76
- data/misc/openlayers/examples/mobile-jq.js +0 -159
- data/misc/openlayers/examples/mobile-layers.html +0 -62
- data/misc/openlayers/examples/mobile-layers.js +0 -71
- data/misc/openlayers/examples/mobile-navigation.html +0 -52
- data/misc/openlayers/examples/mobile-navigation.js +0 -24
- data/misc/openlayers/examples/mobile-sencha.html +0 -184
- data/misc/openlayers/examples/mobile-sencha.js +0 -198
- data/misc/openlayers/examples/mobile-wmts-vienna.css +0 -205
- data/misc/openlayers/examples/mobile-wmts-vienna.html +0 -27
- data/misc/openlayers/examples/mobile-wmts-vienna.js +0 -281
- data/misc/openlayers/examples/mobile.html +0 -56
- data/misc/openlayers/examples/mobile.js +0 -39
- data/misc/openlayers/examples/modify-feature.html +0 -193
- data/misc/openlayers/examples/mouse-position.html +0 -67
- data/misc/openlayers/examples/mousewheel-interval.html +0 -63
- data/misc/openlayers/examples/multiserver.html +0 -52
- data/misc/openlayers/examples/multitouch.html +0 -28
- data/misc/openlayers/examples/mvs.html +0 -129
- data/misc/openlayers/examples/navigation-control.html +0 -44
- data/misc/openlayers/examples/navigation-history.html +0 -62
- data/misc/openlayers/examples/navtoolbar-alwaysZoom.html +0 -85
- data/misc/openlayers/examples/navtoolbar-outsidemap.html +0 -47
- data/misc/openlayers/examples/navtoolbar.html +0 -46
- data/misc/openlayers/examples/offline-storage.html +0 -44
- data/misc/openlayers/examples/offline-storage.js +0 -199
- data/misc/openlayers/examples/openls.html +0 -88
- data/misc/openlayers/examples/ordering.html +0 -221
- data/misc/openlayers/examples/osm-google.html +0 -32
- data/misc/openlayers/examples/osm-google.js +0 -23
- data/misc/openlayers/examples/osm-grayscale.html +0 -77
- data/misc/openlayers/examples/osm-marker-popup.html +0 -32
- data/misc/openlayers/examples/osm-marker-popup.js +0 -39
- data/misc/openlayers/examples/osm.html +0 -41
- data/misc/openlayers/examples/osm/sutton_coldfield.osm +0 -662
- data/misc/openlayers/examples/overviewmap.html +0 -120
- data/misc/openlayers/examples/pan-zoom-panels.html +0 -97
- data/misc/openlayers/examples/panel.html +0 -99
- data/misc/openlayers/examples/point-grid.html +0 -75
- data/misc/openlayers/examples/point-grid.js +0 -33
- data/misc/openlayers/examples/point-track-markers.html +0 -72
- data/misc/openlayers/examples/polar-projections.html +0 -41
- data/misc/openlayers/examples/polar-projections.js +0 -84
- data/misc/openlayers/examples/popupMatrix.html +0 -652
- data/misc/openlayers/examples/proxy.cgi +0 -81
- data/misc/openlayers/examples/regular-polygons.html +0 -177
- data/misc/openlayers/examples/resize-features.html +0 -101
- data/misc/openlayers/examples/restricted-extent.html +0 -77
- data/misc/openlayers/examples/rotate-features.html +0 -113
- data/misc/openlayers/examples/select-feature-multilayer.html +0 -129
- data/misc/openlayers/examples/select-feature-openpopup.html +0 -106
- data/misc/openlayers/examples/select-feature.html +0 -170
- data/misc/openlayers/examples/setextent.html +0 -39
- data/misc/openlayers/examples/simplify-linestring.html +0 -103
- data/misc/openlayers/examples/simplify-linestring.js +0 -599
- data/misc/openlayers/examples/single-tile.html +0 -33
- data/misc/openlayers/examples/single-tile.js +0 -20
- data/misc/openlayers/examples/sld-parser.html +0 -70
- data/misc/openlayers/examples/sld.html +0 -31
- data/misc/openlayers/examples/sld.js +0 -102
- data/misc/openlayers/examples/snap-grid.html +0 -78
- data/misc/openlayers/examples/snap-grid.js +0 -81
- data/misc/openlayers/examples/snap-split.html +0 -281
- data/misc/openlayers/examples/snapping.html +0 -324
- data/misc/openlayers/examples/sos.html +0 -189
- data/misc/openlayers/examples/spherical-mercator.html +0 -120
- data/misc/openlayers/examples/split-feature.html +0 -116
- data/misc/openlayers/examples/strategy-bbox.html +0 -106
- data/misc/openlayers/examples/strategy-cluster-extended.html +0 -125
- data/misc/openlayers/examples/strategy-cluster-extended.js +0 -247
- data/misc/openlayers/examples/strategy-cluster-threshold.html +0 -149
- data/misc/openlayers/examples/strategy-cluster.html +0 -238
- data/misc/openlayers/examples/strategy-paging.html +0 -115
- data/misc/openlayers/examples/style-rules.html +0 -49
- data/misc/openlayers/examples/style-rules.js +0 -99
- data/misc/openlayers/examples/style.css +0 -143
- data/misc/openlayers/examples/style.mobile-jq.css +0 -62
- data/misc/openlayers/examples/stylemap.html +0 -100
- data/misc/openlayers/examples/styles-context.html +0 -117
- data/misc/openlayers/examples/styles-rotation.html +0 -93
- data/misc/openlayers/examples/styles-unique.html +0 -109
- data/misc/openlayers/examples/sundials-spherical-mercator.html +0 -111
- data/misc/openlayers/examples/sundials.html +0 -107
- data/misc/openlayers/examples/symbolizers-fill-stroke-graphic.html +0 -141
- data/misc/openlayers/examples/tasmania/TasmaniaCities.xml +0 -40
- data/misc/openlayers/examples/tasmania/TasmaniaRoads.xml +0 -204
- data/misc/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml +0 -92
- data/misc/openlayers/examples/tasmania/TasmaniaWaterBodies.xml +0 -162
- data/misc/openlayers/examples/tasmania/sld-tasmania.xml +0 -594
- data/misc/openlayers/examples/teleportation.html +0 -76
- data/misc/openlayers/examples/textfile.txt +0 -4
- data/misc/openlayers/examples/tile-origin.html +0 -38
- data/misc/openlayers/examples/tile-origin.js +0 -16
- data/misc/openlayers/examples/tilecache.html +0 -58
- data/misc/openlayers/examples/tms.html +0 -62
- data/misc/openlayers/examples/transform-feature.html +0 -123
- data/misc/openlayers/examples/transition.html +0 -70
- data/misc/openlayers/examples/using-proj4js.html +0 -109
- data/misc/openlayers/examples/using-proj4js.js +0 -132
- data/misc/openlayers/examples/utfgrid-geography-class.html +0 -51
- data/misc/openlayers/examples/utfgrid-geography-class.js +0 -62
- data/misc/openlayers/examples/utfgrid.html +0 -64
- data/misc/openlayers/examples/utfgrid.js +0 -61
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/2.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/2.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/2.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/0/0/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/1/0/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/1/0/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/1/1/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/1/1/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/0/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/0/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/0/2.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/0/3.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/1/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/1/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/1/2.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/1/3.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/2/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/2/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/2/2.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/2/3.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/3/0.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/3/1.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/3/2.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/geography-class/2/3/3.grid.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/2.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/2.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/0.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/1.json +0 -1
- data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/2.json +0 -1
- data/misc/openlayers/examples/utfgrid_twogrids.html +0 -51
- data/misc/openlayers/examples/utfgrid_twogrids.js +0 -70
- data/misc/openlayers/examples/vector-features-with-text.html +0 -138
- data/misc/openlayers/examples/vector-features.html +0 -149
- data/misc/openlayers/examples/vector-formats.html +0 -240
- data/misc/openlayers/examples/web-mercator.html +0 -50
- data/misc/openlayers/examples/web-mercator.js +0 -37
- data/misc/openlayers/examples/wfs-filter.html +0 -35
- data/misc/openlayers/examples/wfs-filter.js +0 -48
- data/misc/openlayers/examples/wfs-protocol-transactions.html +0 -104
- data/misc/openlayers/examples/wfs-protocol-transactions.js +0 -106
- data/misc/openlayers/examples/wfs-protocol.html +0 -55
- data/misc/openlayers/examples/wfs-reprojection.html +0 -42
- data/misc/openlayers/examples/wfs-reprojection.js +0 -60
- data/misc/openlayers/examples/wfs-snap-split.html +0 -292
- data/misc/openlayers/examples/wfs-spatial-filter.html +0 -37
- data/misc/openlayers/examples/wfs-spatial-filter.js +0 -36
- data/misc/openlayers/examples/wfs-states.html +0 -34
- data/misc/openlayers/examples/wfs-states.js +0 -35
- data/misc/openlayers/examples/wmc.html +0 -150
- data/misc/openlayers/examples/wms-long-url.html +0 -44
- data/misc/openlayers/examples/wms-long-url.js +0 -26
- data/misc/openlayers/examples/wms-untiled.html +0 -48
- data/misc/openlayers/examples/wms-v13.html +0 -57
- data/misc/openlayers/examples/wms.html +0 -49
- data/misc/openlayers/examples/wmst.html +0 -63
- data/misc/openlayers/examples/wmts-capabilities.html +0 -43
- data/misc/openlayers/examples/wmts-capabilities.js +0 -58
- data/misc/openlayers/examples/wmts-getfeatureinfo.html +0 -74
- data/misc/openlayers/examples/wmts-getfeatureinfo.js +0 -94
- data/misc/openlayers/examples/wmts.html +0 -41
- data/misc/openlayers/examples/wmts.js +0 -35
- data/misc/openlayers/examples/wps-client.html +0 -31
- data/misc/openlayers/examples/wps-client.js +0 -75
- data/misc/openlayers/examples/wps.html +0 -89
- data/misc/openlayers/examples/wps.js +0 -353
- data/misc/openlayers/examples/wrapDateLine.html +0 -73
- data/misc/openlayers/examples/xhtml.html +0 -42
- data/misc/openlayers/examples/xml.html +0 -161
- data/misc/openlayers/examples/xml/features.xml +0 -2
- data/misc/openlayers/examples/xml/georss-flickr.xml +0 -730
- data/misc/openlayers/examples/xml/track1.xml +0 -98
- data/misc/openlayers/examples/xml/wmsdescribelayer.xml +0 -5
- data/misc/openlayers/examples/xyz-esri.html +0 -45
- data/misc/openlayers/examples/yelp-georss.xml +0 -147
- data/misc/openlayers/examples/zoom.html +0 -68
- data/misc/openlayers/examples/zoom.js +0 -34
- data/misc/openlayers/examples/zoomLevels.html +0 -81
- data/misc/openlayers/examples/zoomify.html +0 -70
- data/misc/openlayers/img/blank.gif +0 -0
- data/misc/openlayers/img/cloud-popup-relative.png +0 -0
- data/misc/openlayers/img/drag-rectangle-off.png +0 -0
- data/misc/openlayers/img/drag-rectangle-on.png +0 -0
- data/misc/openlayers/img/east-mini.png +0 -0
- data/misc/openlayers/img/layer-switcher-maximize.png +0 -0
- data/misc/openlayers/img/layer-switcher-minimize.png +0 -0
- data/misc/openlayers/img/marker-blue.png +0 -0
- data/misc/openlayers/img/marker-gold.png +0 -0
- data/misc/openlayers/img/marker-green.png +0 -0
- data/misc/openlayers/img/marker.png +0 -0
- data/misc/openlayers/img/measuring-stick-off.png +0 -0
- data/misc/openlayers/img/measuring-stick-on.png +0 -0
- data/misc/openlayers/img/north-mini.png +0 -0
- data/misc/openlayers/img/panning-hand-off.png +0 -0
- data/misc/openlayers/img/panning-hand-on.png +0 -0
- data/misc/openlayers/img/slider.png +0 -0
- data/misc/openlayers/img/south-mini.png +0 -0
- data/misc/openlayers/img/west-mini.png +0 -0
- data/misc/openlayers/img/zoom-minus-mini.png +0 -0
- data/misc/openlayers/img/zoom-plus-mini.png +0 -0
- data/misc/openlayers/img/zoom-world-mini.png +0 -0
- data/misc/openlayers/img/zoombar.png +0 -0
- data/misc/openlayers/lib/Firebug/errorIcon.png +0 -0
- data/misc/openlayers/lib/Firebug/firebug.css +0 -209
- data/misc/openlayers/lib/Firebug/firebug.html +0 -23
- data/misc/openlayers/lib/Firebug/firebug.js +0 -674
- data/misc/openlayers/lib/Firebug/firebugx.js +0 -10
- data/misc/openlayers/lib/Firebug/infoIcon.png +0 -0
- data/misc/openlayers/lib/Firebug/license.txt +0 -30
- data/misc/openlayers/lib/Firebug/readme.txt +0 -13
- data/misc/openlayers/lib/Firebug/warningIcon.png +0 -0
- data/misc/openlayers/lib/OpenLayers.js +0 -429
- data/misc/openlayers/lib/OpenLayers/Animation.js +0 -102
- data/misc/openlayers/lib/OpenLayers/BaseTypes.js +0 -463
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -837
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -121
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Date.js +0 -123
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -189
- data/misc/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -215
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -143
- data/misc/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -89
- data/misc/openlayers/lib/OpenLayers/Console.js +0 -250
- data/misc/openlayers/lib/OpenLayers/Control.js +0 -371
- data/misc/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -182
- data/misc/openlayers/lib/OpenLayers/Control/Attribution.js +0 -104
- data/misc/openlayers/lib/OpenLayers/Control/Button.js +0 -44
- data/misc/openlayers/lib/OpenLayers/Control/CacheRead.js +0 -156
- data/misc/openlayers/lib/OpenLayers/Control/CacheWrite.js +0 -257
- data/misc/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -366
- data/misc/openlayers/lib/OpenLayers/Control/DragPan.js +0 -156
- data/misc/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -229
- data/misc/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -81
- data/misc/openlayers/lib/OpenLayers/Control/Geolocate.js +0 -192
- data/misc/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -597
- data/misc/openlayers/lib/OpenLayers/Control/Graticule.js +0 -377
- data/misc/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -142
- data/misc/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -521
- data/misc/openlayers/lib/OpenLayers/Control/Measure.js +0 -379
- data/misc/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -835
- data/misc/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -227
- data/misc/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -57
- data/misc/openlayers/lib/OpenLayers/Control/Navigation.js +0 -345
- data/misc/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
- data/misc/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -750
- data/misc/openlayers/lib/OpenLayers/Control/Pan.js +0 -95
- data/misc/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -73
- data/misc/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -233
- data/misc/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -408
- data/misc/openlayers/lib/OpenLayers/Control/Panel.js +0 -431
- data/misc/openlayers/lib/OpenLayers/Control/Permalink.js +0 -257
- data/misc/openlayers/lib/OpenLayers/Control/PinchZoom.js +0 -157
- data/misc/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -567
- data/misc/openlayers/lib/OpenLayers/Control/Scale.js +0 -100
- data/misc/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -220
- data/misc/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -643
- data/misc/openlayers/lib/OpenLayers/Control/Snapping.js +0 -560
- data/misc/openlayers/lib/OpenLayers/Control/Split.js +0 -494
- data/misc/openlayers/lib/OpenLayers/Control/TouchNavigation.js +0 -182
- data/misc/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -624
- data/misc/openlayers/lib/OpenLayers/Control/UTFGrid.js +0 -240
- data/misc/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -532
- data/misc/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -400
- data/misc/openlayers/lib/OpenLayers/Control/Zoom.js +0 -138
- data/misc/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -129
- data/misc/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -29
- data/misc/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -29
- data/misc/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -35
- data/misc/openlayers/lib/OpenLayers/Events.js +0 -1170
- data/misc/openlayers/lib/OpenLayers/Events/buttonclick.js +0 -206
- data/misc/openlayers/lib/OpenLayers/Events/featureclick.js +0 -321
- data/misc/openlayers/lib/OpenLayers/Feature.js +0 -225
- data/misc/openlayers/lib/OpenLayers/Feature/Vector.js +0 -510
- data/misc/openlayers/lib/OpenLayers/Filter.js +0 -87
- data/misc/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -267
- data/misc/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -87
- data/misc/openlayers/lib/OpenLayers/Filter/Function.js +0 -49
- data/misc/openlayers/lib/OpenLayers/Filter/Logical.js +0 -121
- data/misc/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -122
- data/misc/openlayers/lib/OpenLayers/Format.js +0 -123
- data/misc/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
- data/misc/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -46
- data/misc/openlayers/lib/OpenLayers/Format/Atom.js +0 -712
- data/misc/openlayers/lib/OpenLayers/Format/CQL.js +0 -452
- data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
- data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -240
- data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
- data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -457
- data/misc/openlayers/lib/OpenLayers/Format/Context.js +0 -334
- data/misc/openlayers/lib/OpenLayers/Format/EncodedPolyline.js +0 -557
- data/misc/openlayers/lib/OpenLayers/Format/Filter.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -504
- data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -184
- data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -222
- data/misc/openlayers/lib/OpenLayers/Format/GML.js +0 -923
- data/misc/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -645
- data/misc/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
- data/misc/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -477
- data/misc/openlayers/lib/OpenLayers/Format/GPX.js +0 -385
- data/misc/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
- data/misc/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -409
- data/misc/openlayers/lib/OpenLayers/Format/JSON.js +0 -398
- data/misc/openlayers/lib/OpenLayers/Format/KML.js +0 -1517
- data/misc/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js +0 -108
- data/misc/openlayers/lib/OpenLayers/Format/OSM.js +0 -465
- data/misc/openlayers/lib/OpenLayers/Format/OWSCommon.js +0 -78
- data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -318
- data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -62
- data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -116
- data/misc/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -86
- data/misc/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -595
- data/misc/openlayers/lib/OpenLayers/Format/QueryStringFilter.js +0 -183
- data/misc/openlayers/lib/OpenLayers/Format/SLD.js +0 -81
- data/misc/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1309
- data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -46
- data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0_GeoServer.js +0 -149
- data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -48
- data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
- data/misc/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -190
- data/misc/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -302
- data/misc/openlayers/lib/OpenLayers/Format/Text.js +0 -151
- data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities.js +0 -47
- data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1.js +0 -55
- data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js +0 -170
- data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_1_0.js +0 -109
- data/misc/openlayers/lib/OpenLayers/Format/WCSGetCoverage.js +0 -199
- data/misc/openlayers/lib/OpenLayers/Format/WFS.js +0 -223
- data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -47
- data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -129
- data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -115
- data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -63
- data/misc/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -234
- data/misc/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
- data/misc/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -446
- data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -174
- data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -189
- data/misc/openlayers/lib/OpenLayers/Format/WKT.js +0 -392
- data/misc/openlayers/lib/OpenLayers/Format/WMC.js +0 -182
- data/misc/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -1267
- data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -104
- data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -149
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -56
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -368
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -122
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -57
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -60
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js +0 -85
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
- data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
- data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -122
- data/misc/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -296
- data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -230
- data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -251
- data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities.js +0 -48
- data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities/v1_0_0.js +0 -119
- data/misc/openlayers/lib/OpenLayers/Format/WPSDescribeProcess.js +0 -185
- data/misc/openlayers/lib/OpenLayers/Format/WPSExecute.js +0 -395
- data/misc/openlayers/lib/OpenLayers/Format/XLS.js +0 -68
- data/misc/openlayers/lib/OpenLayers/Format/XLS/v1.js +0 -304
- data/misc/openlayers/lib/OpenLayers/Format/XLS/v1_1_0.js +0 -48
- data/misc/openlayers/lib/OpenLayers/Format/XML.js +0 -897
- data/misc/openlayers/lib/OpenLayers/Format/XML/VersionedOGC.js +0 -212
- data/misc/openlayers/lib/OpenLayers/Geometry.js +0 -500
- data/misc/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -563
- data/misc/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -89
- data/misc/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -646
- data/misc/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -433
- data/misc/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -258
- data/misc/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -66
- data/misc/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -42
- data/misc/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
- data/misc/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -255
- data/misc/openlayers/lib/OpenLayers/Handler.js +0 -325
- data/misc/openlayers/lib/OpenLayers/Handler/Box.js +0 -244
- data/misc/openlayers/lib/OpenLayers/Handler/Click.js +0 -505
- data/misc/openlayers/lib/OpenLayers/Handler/Drag.js +0 -547
- data/misc/openlayers/lib/OpenLayers/Handler/Feature.js +0 -434
- data/misc/openlayers/lib/OpenLayers/Handler/Hover.js +0 -180
- data/misc/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -117
- data/misc/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -264
- data/misc/openlayers/lib/OpenLayers/Handler/Path.js +0 -543
- data/misc/openlayers/lib/OpenLayers/Handler/Pinch.js +0 -239
- data/misc/openlayers/lib/OpenLayers/Handler/Point.js +0 -556
- data/misc/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -305
- data/misc/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -429
- data/misc/openlayers/lib/OpenLayers/Icon.js +0 -243
- data/misc/openlayers/lib/OpenLayers/Kinetic.js +0 -178
- data/misc/openlayers/lib/OpenLayers/Lang.js +0 -134
- data/misc/openlayers/lib/OpenLayers/Lang/ar.js +0 -32
- data/misc/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Lang/bg.js +0 -25
- data/misc/openlayers/lib/OpenLayers/Lang/br.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/ca.js +0 -89
- data/misc/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -45
- data/misc/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -80
- data/misc/openlayers/lib/OpenLayers/Lang/de.js +0 -55
- data/misc/openlayers/lib/OpenLayers/Lang/el.js +0 -19
- data/misc/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
- data/misc/openlayers/lib/OpenLayers/Lang/en.js +0 -89
- data/misc/openlayers/lib/OpenLayers/Lang/es.js +0 -90
- data/misc/openlayers/lib/OpenLayers/Lang/fi.js +0 -32
- data/misc/openlayers/lib/OpenLayers/Lang/fr.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
- data/misc/openlayers/lib/OpenLayers/Lang/gl.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/gsw.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/hr.js +0 -37
- data/misc/openlayers/lib/OpenLayers/Lang/hsb.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/hu.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Lang/ia.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/id.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Lang/io.js +0 -19
- data/misc/openlayers/lib/OpenLayers/Lang/is.js +0 -27
- data/misc/openlayers/lib/OpenLayers/Lang/it.js +0 -80
- data/misc/openlayers/lib/OpenLayers/Lang/ja.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Lang/km.js +0 -23
- data/misc/openlayers/lib/OpenLayers/Lang/ksh.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/lt.js +0 -47
- data/misc/openlayers/lib/OpenLayers/Lang/nb.js +0 -82
- data/misc/openlayers/lib/OpenLayers/Lang/nds.js +0 -37
- data/misc/openlayers/lib/OpenLayers/Lang/nl.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/nn.js +0 -19
- data/misc/openlayers/lib/OpenLayers/Lang/oc.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/pl.js +0 -89
- data/misc/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -54
- data/misc/openlayers/lib/OpenLayers/Lang/pt.js +0 -55
- data/misc/openlayers/lib/OpenLayers/Lang/ro.js +0 -69
- data/misc/openlayers/lib/OpenLayers/Lang/ru.js +0 -56
- data/misc/openlayers/lib/OpenLayers/Lang/sk.js +0 -44
- data/misc/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -45
- data/misc/openlayers/lib/OpenLayers/Lang/te.js +0 -27
- data/misc/openlayers/lib/OpenLayers/Lang/vi.js +0 -53
- data/misc/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -80
- data/misc/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -81
- data/misc/openlayers/lib/OpenLayers/Layer.js +0 -1377
- data/misc/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -225
- data/misc/openlayers/lib/OpenLayers/Layer/ArcGISCache.js +0 -480
- data/misc/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -425
- data/misc/openlayers/lib/OpenLayers/Layer/Bing.js +0 -333
- data/misc/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
- data/misc/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -441
- data/misc/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -319
- data/misc/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -265
- data/misc/openlayers/lib/OpenLayers/Layer/Google.js +0 -809
- data/misc/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -351
- data/misc/openlayers/lib/OpenLayers/Layer/Grid.js +0 -1343
- data/misc/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
- data/misc/openlayers/lib/OpenLayers/Layer/Image.js +0 -259
- data/misc/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -192
- data/misc/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -143
- data/misc/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -443
- data/misc/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -181
- data/misc/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
- data/misc/openlayers/lib/OpenLayers/Layer/OSM.js +0 -123
- data/misc/openlayers/lib/OpenLayers/Layer/PointGrid.js +0 -299
- data/misc/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -125
- data/misc/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -146
- data/misc/openlayers/lib/OpenLayers/Layer/TMS.js +0 -202
- data/misc/openlayers/lib/OpenLayers/Layer/Text.js +0 -267
- data/misc/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -140
- data/misc/openlayers/lib/OpenLayers/Layer/UTFGrid.js +0 -184
- data/misc/openlayers/lib/OpenLayers/Layer/Vector.js +0 -1007
- data/misc/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -154
- data/misc/openlayers/lib/OpenLayers/Layer/WMS.js +0 -267
- data/misc/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -510
- data/misc/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -105
- data/misc/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -172
- data/misc/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -260
- data/misc/openlayers/lib/OpenLayers/Map.js +0 -2867
- data/misc/openlayers/lib/OpenLayers/Marker.js +0 -241
- data/misc/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
- data/misc/openlayers/lib/OpenLayers/Popup.js +0 -1065
- data/misc/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -195
- data/misc/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
- data/misc/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -227
- data/misc/openlayers/lib/OpenLayers/Projection.js +0 -322
- data/misc/openlayers/lib/OpenLayers/Protocol.js +0 -291
- data/misc/openlayers/lib/OpenLayers/Protocol/CSW.js +0 -30
- data/misc/openlayers/lib/OpenLayers/Protocol/CSW/v2_0_2.js +0 -127
- data/misc/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -580
- data/misc/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
- data/misc/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -133
- data/misc/openlayers/lib/OpenLayers/Protocol/Script.js +0 -377
- data/misc/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -86
- data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -453
- data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
- data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -68
- data/misc/openlayers/lib/OpenLayers/Renderer.js +0 -432
- data/misc/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -906
- data/misc/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1053
- data/misc/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -1012
- data/misc/openlayers/lib/OpenLayers/Renderer/VML.js +0 -985
- data/misc/openlayers/lib/OpenLayers/Request.js +0 -429
- data/misc/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -458
- data/misc/openlayers/lib/OpenLayers/Rule.js +0 -236
- data/misc/openlayers/lib/OpenLayers/SingleFile.js +0 -78
- data/misc/openlayers/lib/OpenLayers/Spherical.js +0 -67
- data/misc/openlayers/lib/OpenLayers/Strategy.js +0 -121
- data/misc/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -290
- data/misc/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -283
- data/misc/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -159
- data/misc/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -135
- data/misc/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -233
- data/misc/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -141
- data/misc/openlayers/lib/OpenLayers/Strategy/Save.js +0 -231
- data/misc/openlayers/lib/OpenLayers/Style.js +0 -448
- data/misc/openlayers/lib/OpenLayers/Style2.js +0 -112
- data/misc/openlayers/lib/OpenLayers/StyleMap.js +0 -161
- data/misc/openlayers/lib/OpenLayers/Symbolizer.js +0 -55
- data/misc/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -74
- data/misc/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -157
- data/misc/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -88
- data/misc/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
- data/misc/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -70
- data/misc/openlayers/lib/OpenLayers/Tile.js +0 -292
- data/misc/openlayers/lib/OpenLayers/Tile/Image.js +0 -510
- data/misc/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -233
- data/misc/openlayers/lib/OpenLayers/Tile/UTFGrid.js +0 -252
- data/misc/openlayers/lib/OpenLayers/TileManager.js +0 -462
- data/misc/openlayers/lib/OpenLayers/Tween.js +0 -361
- data/misc/openlayers/lib/OpenLayers/Util.js +0 -1773
- data/misc/openlayers/lib/OpenLayers/Util/vendorPrefix.js +0 -131
- data/misc/openlayers/lib/OpenLayers/WPSClient.js +0 -223
- data/misc/openlayers/lib/OpenLayers/WPSProcess.js +0 -501
- data/misc/openlayers/lib/Rico/Color.js +0 -253
- data/misc/openlayers/lib/Rico/Corner.js +0 -339
- data/misc/openlayers/lib/Rico/license.js +0 -19
- data/misc/openlayers/lib/deprecated.js +0 -5842
- data/misc/openlayers/license.txt +0 -27
- data/misc/openlayers/licenses/APACHE-2.0.txt +0 -202
- data/misc/openlayers/licenses/BSD-LICENSE.txt +0 -28
- data/misc/openlayers/licenses/MIT-LICENSE.txt +0 -18
- data/misc/openlayers/notes/2.12.md +0 -391
- data/misc/openlayers/notes/2.13.md +0 -159
- data/misc/openlayers/readme.md +0 -79
- data/misc/openlayers/tests/Animation.html +0 -96
- data/misc/openlayers/tests/BaseTypes.html +0 -387
- data/misc/openlayers/tests/BaseTypes/Bounds.html +0 -738
- data/misc/openlayers/tests/BaseTypes/Class.html +0 -350
- data/misc/openlayers/tests/BaseTypes/Date.html +0 -191
- data/misc/openlayers/tests/BaseTypes/Element.html +0 -195
- data/misc/openlayers/tests/BaseTypes/LonLat.html +0 -241
- data/misc/openlayers/tests/BaseTypes/Pixel.html +0 -123
- data/misc/openlayers/tests/BaseTypes/Size.html +0 -67
- data/misc/openlayers/tests/Console.html +0 -39
- data/misc/openlayers/tests/Control.html +0 -107
- data/misc/openlayers/tests/Control/ArgParser.html +0 -26
- data/misc/openlayers/tests/Control/Attribution.html +0 -60
- data/misc/openlayers/tests/Control/Button.html +0 -17
- data/misc/openlayers/tests/Control/CacheRead.html +0 -108
- data/misc/openlayers/tests/Control/CacheWrite.html +0 -90
- data/misc/openlayers/tests/Control/DragFeature.html +0 -383
- data/misc/openlayers/tests/Control/DragPan.html +0 -104
- data/misc/openlayers/tests/Control/DrawFeature.html +0 -160
- data/misc/openlayers/tests/Control/EditingToolbar.html +0 -33
- data/misc/openlayers/tests/Control/Geolocate.html +0 -129
- data/misc/openlayers/tests/Control/GetFeature.html +0 -177
- data/misc/openlayers/tests/Control/Graticule.html +0 -66
- data/misc/openlayers/tests/Control/KeyboardDefaults.html +0 -173
- data/misc/openlayers/tests/Control/LayerSwitcher.html +0 -249
- data/misc/openlayers/tests/Control/Measure.html +0 -386
- data/misc/openlayers/tests/Control/ModifyFeature.html +0 -828
- data/misc/openlayers/tests/Control/MousePosition.html +0 -109
- data/misc/openlayers/tests/Control/NavToolbar.html +0 -45
- data/misc/openlayers/tests/Control/Navigation.html +0 -200
- data/misc/openlayers/tests/Control/NavigationHistory.html +0 -245
- data/misc/openlayers/tests/Control/OverviewMap.html +0 -266
- data/misc/openlayers/tests/Control/Pan.html +0 -201
- data/misc/openlayers/tests/Control/PanPanel.html +0 -61
- data/misc/openlayers/tests/Control/PanZoom.html +0 -244
- data/misc/openlayers/tests/Control/PanZoomBar.html +0 -245
- data/misc/openlayers/tests/Control/Panel.html +0 -382
- data/misc/openlayers/tests/Control/Permalink.html +0 -453
- data/misc/openlayers/tests/Control/PinchZoom.html +0 -134
- data/misc/openlayers/tests/Control/SLDSelect.html +0 -239
- data/misc/openlayers/tests/Control/Scale.html +0 -54
- data/misc/openlayers/tests/Control/ScaleLine.html +0 -187
- data/misc/openlayers/tests/Control/SelectFeature.html +0 -632
- data/misc/openlayers/tests/Control/Snapping.html +0 -448
- data/misc/openlayers/tests/Control/Split.html +0 -319
- data/misc/openlayers/tests/Control/TouchNavigation.html +0 -155
- data/misc/openlayers/tests/Control/TransformFeature.html +0 -129
- data/misc/openlayers/tests/Control/UTFGrid.html +0 -120
- data/misc/openlayers/tests/Control/WMSGetFeatureInfo.html +0 -644
- data/misc/openlayers/tests/Control/WMTSGetFeatureInfo.html +0 -334
- data/misc/openlayers/tests/Control/Zoom.html +0 -83
- data/misc/openlayers/tests/Control/ZoomBox.html +0 -54
- data/misc/openlayers/tests/Control/ZoomIn.html +0 -101
- data/misc/openlayers/tests/Control/ZoomOut.html +0 -100
- data/misc/openlayers/tests/Control/ZoomToMaxExtent.html +0 -102
- data/misc/openlayers/tests/Events.html +0 -487
- data/misc/openlayers/tests/Events/buttonclick.html +0 -214
- data/misc/openlayers/tests/Events/featureclick.html +0 -91
- data/misc/openlayers/tests/Extras.html +0 -21
- data/misc/openlayers/tests/Feature.html +0 -205
- data/misc/openlayers/tests/Feature/Vector.html +0 -170
- data/misc/openlayers/tests/Filter.html +0 -31
- data/misc/openlayers/tests/Filter/Comparison.html +0 -373
- data/misc/openlayers/tests/Filter/FeatureId.html +0 -67
- data/misc/openlayers/tests/Filter/Logical.html +0 -144
- data/misc/openlayers/tests/Filter/Spatial.html +0 -112
- data/misc/openlayers/tests/Format.html +0 -23
- data/misc/openlayers/tests/Format/ArcXML.html +0 -277
- data/misc/openlayers/tests/Format/ArcXML/Features.html +0 -69
- data/misc/openlayers/tests/Format/Atom.html +0 -450
- data/misc/openlayers/tests/Format/CQL.html +0 -364
- data/misc/openlayers/tests/Format/CSWGetDomain.html +0 -23
- data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.html +0 -56
- data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.js +0 -18
- data/misc/openlayers/tests/Format/CSWGetRecords.html +0 -23
- data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.html +0 -88
- data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.js +0 -50
- data/misc/openlayers/tests/Format/EncodedPolyline.html +0 -372
- data/misc/openlayers/tests/Format/Filter.html +0 -21
- data/misc/openlayers/tests/Format/Filter/v1.html +0 -404
- data/misc/openlayers/tests/Format/Filter/v1_0_0.html +0 -295
- data/misc/openlayers/tests/Format/Filter/v1_1_0.html +0 -402
- data/misc/openlayers/tests/Format/GML.html +0 -462
- data/misc/openlayers/tests/Format/GML/cases.js +0 -232
- data/misc/openlayers/tests/Format/GML/v2.html +0 -684
- data/misc/openlayers/tests/Format/GML/v3.html +0 -828
- data/misc/openlayers/tests/Format/GPX.html +0 -179
- data/misc/openlayers/tests/Format/GeoJSON.html +0 -468
- data/misc/openlayers/tests/Format/GeoRSS.html +0 -122
- data/misc/openlayers/tests/Format/JSON.html +0 -53
- data/misc/openlayers/tests/Format/KML.html +0 -1437
- data/misc/openlayers/tests/Format/OGCExceptionReport.html +0 -100
- data/misc/openlayers/tests/Format/OSM.html +0 -115
- data/misc/openlayers/tests/Format/OWSCommon/v1_0_0.html +0 -34
- data/misc/openlayers/tests/Format/OWSCommon/v1_1_0.html +0 -34
- data/misc/openlayers/tests/Format/OWSContext/v0_3_1.html +0 -278
- data/misc/openlayers/tests/Format/QueryStringFilter.html +0 -306
- data/misc/openlayers/tests/Format/SLD.html +0 -36
- data/misc/openlayers/tests/Format/SLD/v1_0_0.html +0 -1028
- data/misc/openlayers/tests/Format/SLD/v1_0_0_GeoServer.html +0 -228
- data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.html +0 -80
- data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.js +0 -484
- data/misc/openlayers/tests/Format/SOSGetFeatureOfInterest.html +0 -80
- data/misc/openlayers/tests/Format/SOSGetObservation.html +0 -183
- data/misc/openlayers/tests/Format/Text.html +0 -49
- data/misc/openlayers/tests/Format/WCSCapabilities.html +0 -43
- data/misc/openlayers/tests/Format/WCSCapabilities/v1.html +0 -87
- data/misc/openlayers/tests/Format/WCSGetCoverage.html +0 -80
- data/misc/openlayers/tests/Format/WFS.html +0 -81
- data/misc/openlayers/tests/Format/WFSCapabilities.html +0 -43
- data/misc/openlayers/tests/Format/WFSCapabilities/v1.html +0 -179
- data/misc/openlayers/tests/Format/WFSDescribeFeatureType.html +0 -436
- data/misc/openlayers/tests/Format/WFST.html +0 -23
- data/misc/openlayers/tests/Format/WFST/v1.html +0 -455
- data/misc/openlayers/tests/Format/WFST/v1_0_0.html +0 -135
- data/misc/openlayers/tests/Format/WFST/v1_1_0.html +0 -236
- data/misc/openlayers/tests/Format/WKT.html +0 -297
- data/misc/openlayers/tests/Format/WMC.html +0 -315
- data/misc/openlayers/tests/Format/WMC/v1.html +0 -266
- data/misc/openlayers/tests/Format/WMC/v1_1_0.html +0 -86
- data/misc/openlayers/tests/Format/WMSCapabilities.html +0 -20
- data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1.html +0 -5209
- data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1_WMSC.html +0 -348
- data/misc/openlayers/tests/Format/WMSCapabilities/v1_3_0.html +0 -614
- data/misc/openlayers/tests/Format/WMSDescribeLayer.html +0 -65
- data/misc/openlayers/tests/Format/WMSGetFeatureInfo.html +0 -319
- data/misc/openlayers/tests/Format/WMTSCapabilities.html +0 -20
- data/misc/openlayers/tests/Format/WMTSCapabilities/v1_0_0.html +0 -1042
- data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.html +0 -30
- data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.js +0 -112
- data/misc/openlayers/tests/Format/WPSDescribeProcess.html +0 -206
- data/misc/openlayers/tests/Format/WPSExecute.html +0 -549
- data/misc/openlayers/tests/Format/XLS/v1_1_0.html +0 -98
- data/misc/openlayers/tests/Format/XML.html +0 -900
- data/misc/openlayers/tests/Format/XML/VersionedOGC.html +0 -51
- data/misc/openlayers/tests/Geometry.html +0 -356
- data/misc/openlayers/tests/Geometry/Collection.html +0 -431
- data/misc/openlayers/tests/Geometry/Curve.html +0 -157
- data/misc/openlayers/tests/Geometry/LineString.html +0 -443
- data/misc/openlayers/tests/Geometry/LinearRing.html +0 -362
- data/misc/openlayers/tests/Geometry/MultiLineString.html +0 -267
- data/misc/openlayers/tests/Geometry/MultiPoint.html +0 -130
- data/misc/openlayers/tests/Geometry/MultiPolygon.html +0 -34
- data/misc/openlayers/tests/Geometry/Point.html +0 -244
- data/misc/openlayers/tests/Geometry/Polygon.html +0 -420
- data/misc/openlayers/tests/Handler.html +0 -265
- data/misc/openlayers/tests/Handler/Box.html +0 -106
- data/misc/openlayers/tests/Handler/Click.html +0 -735
- data/misc/openlayers/tests/Handler/Drag.html +0 -603
- data/misc/openlayers/tests/Handler/Feature.html +0 -698
- data/misc/openlayers/tests/Handler/Hover.html +0 -136
- data/misc/openlayers/tests/Handler/Keyboard.html +0 -150
- data/misc/openlayers/tests/Handler/MouseWheel.html +0 -182
- data/misc/openlayers/tests/Handler/Path.html +0 -1464
- data/misc/openlayers/tests/Handler/Pinch.html +0 -285
- data/misc/openlayers/tests/Handler/Point.html +0 -600
- data/misc/openlayers/tests/Handler/Polygon.html +0 -1161
- data/misc/openlayers/tests/Handler/RegularPolygon.html +0 -235
- data/misc/openlayers/tests/Icon.html +0 -68
- data/misc/openlayers/tests/Kinetic.html +0 -132
- data/misc/openlayers/tests/Lang.html +0 -106
- data/misc/openlayers/tests/Layer.html +0 -910
- data/misc/openlayers/tests/Layer/ArcGIS93Rest.html +0 -324
- data/misc/openlayers/tests/Layer/ArcGISCache.html +0 -256
- data/misc/openlayers/tests/Layer/ArcGISCache.json +0 -334
- data/misc/openlayers/tests/Layer/ArcIMS.html +0 -123
- data/misc/openlayers/tests/Layer/Bing.html +0 -200
- data/misc/openlayers/tests/Layer/EventPane.html +0 -172
- data/misc/openlayers/tests/Layer/FixedZoomLevels.html +0 -137
- data/misc/openlayers/tests/Layer/GeoRSS.html +0 -210
- data/misc/openlayers/tests/Layer/Google.html +0 -369
- data/misc/openlayers/tests/Layer/Google/v3.html +0 -337
- data/misc/openlayers/tests/Layer/Grid.html +0 -1593
- data/misc/openlayers/tests/Layer/HTTPRequest.html +0 -229
- data/misc/openlayers/tests/Layer/Image.html +0 -164
- data/misc/openlayers/tests/Layer/KaMap.html +0 -287
- data/misc/openlayers/tests/Layer/MapGuide.html +0 -177
- data/misc/openlayers/tests/Layer/MapServer.html +0 -238
- data/misc/openlayers/tests/Layer/Markers.html +0 -156
- data/misc/openlayers/tests/Layer/OSM.html +0 -16
- data/misc/openlayers/tests/Layer/PointGrid.html +0 -232
- data/misc/openlayers/tests/Layer/PointTrack.html +0 -79
- data/misc/openlayers/tests/Layer/SphericalMercator.html +0 -126
- data/misc/openlayers/tests/Layer/TMS.html +0 -262
- data/misc/openlayers/tests/Layer/Text.html +0 -211
- data/misc/openlayers/tests/Layer/TileCache.html +0 -203
- data/misc/openlayers/tests/Layer/UTFGrid.html +0 -131
- data/misc/openlayers/tests/Layer/Vector.html +0 -879
- data/misc/openlayers/tests/Layer/Vector/RootContainer.html +0 -63
- data/misc/openlayers/tests/Layer/WMS.html +0 -583
- data/misc/openlayers/tests/Layer/WMTS.html +0 -1491
- data/misc/openlayers/tests/Layer/WrapDateLine.html +0 -188
- data/misc/openlayers/tests/Layer/XYZ.html +0 -266
- data/misc/openlayers/tests/Layer/atom-1.0.xml +0 -34
- data/misc/openlayers/tests/Layer/data_Layer_Text_textfile.txt +0 -3
- data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_2.txt +0 -3
- data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_overflow.txt +0 -3
- data/misc/openlayers/tests/Layer/georss.txt +0 -378
- data/misc/openlayers/tests/Map.html +0 -2255
- data/misc/openlayers/tests/Marker.html +0 -163
- data/misc/openlayers/tests/Marker/Box.html +0 -183
- data/misc/openlayers/tests/OLLoader.js +0 -26
- data/misc/openlayers/tests/OpenLayers1.html +0 -18
- data/misc/openlayers/tests/OpenLayers2.html +0 -19
- data/misc/openlayers/tests/OpenLayers3.html +0 -19
- data/misc/openlayers/tests/OpenLayers4.html +0 -18
- data/misc/openlayers/tests/OpenLayersJsFiles.html +0 -27
- data/misc/openlayers/tests/Popup.html +0 -219
- data/misc/openlayers/tests/Popup/Anchored.html +0 -37
- data/misc/openlayers/tests/Popup/FramedCloud.html +0 -18
- data/misc/openlayers/tests/Projection.html +0 -87
- data/misc/openlayers/tests/Protocol.html +0 -63
- data/misc/openlayers/tests/Protocol/CSW.html +0 -90
- data/misc/openlayers/tests/Protocol/HTTP.html +0 -842
- data/misc/openlayers/tests/Protocol/SOS.html +0 -57
- data/misc/openlayers/tests/Protocol/Script.html +0 -282
- data/misc/openlayers/tests/Protocol/WFS.html +0 -471
- data/misc/openlayers/tests/README.txt +0 -16
- data/misc/openlayers/tests/Renderer.html +0 -96
- data/misc/openlayers/tests/Renderer/Canvas.html +0 -501
- data/misc/openlayers/tests/Renderer/Elements.html +0 -651
- data/misc/openlayers/tests/Renderer/SVG.html +0 -441
- data/misc/openlayers/tests/Renderer/VML.html +0 -454
- data/misc/openlayers/tests/Request.html +0 -524
- data/misc/openlayers/tests/Request/XMLHttpRequest.html +0 -59
- data/misc/openlayers/tests/Rule.html +0 -123
- data/misc/openlayers/tests/SingleFile1.html +0 -15
- data/misc/openlayers/tests/SingleFile2.html +0 -15
- data/misc/openlayers/tests/SingleFile3.html +0 -15
- data/misc/openlayers/tests/Strategy.html +0 -94
- data/misc/openlayers/tests/Strategy/BBOX.html +0 -361
- data/misc/openlayers/tests/Strategy/Cluster.html +0 -148
- data/misc/openlayers/tests/Strategy/Filter.html +0 -135
- data/misc/openlayers/tests/Strategy/Fixed.html +0 -253
- data/misc/openlayers/tests/Strategy/Paging.html +0 -113
- data/misc/openlayers/tests/Strategy/Refresh.html +0 -177
- data/misc/openlayers/tests/Strategy/Save.html +0 -127
- data/misc/openlayers/tests/Style.html +0 -426
- data/misc/openlayers/tests/Style2.html +0 -56
- data/misc/openlayers/tests/StyleMap.html +0 -44
- data/misc/openlayers/tests/Symbolizer.html +0 -31
- data/misc/openlayers/tests/Symbolizer/Line.html +0 -42
- data/misc/openlayers/tests/Symbolizer/Point.html +0 -52
- data/misc/openlayers/tests/Symbolizer/Polygon.html +0 -44
- data/misc/openlayers/tests/Symbolizer/Raster.html +0 -32
- data/misc/openlayers/tests/Symbolizer/Text.html +0 -42
- data/misc/openlayers/tests/Test.AnotherWay.baseadditions.js +0 -191
- data/misc/openlayers/tests/Test.AnotherWay.css +0 -243
- data/misc/openlayers/tests/Test.AnotherWay.geom_eq.js +0 -139
- data/misc/openlayers/tests/Test.AnotherWay.js +0 -2498
- data/misc/openlayers/tests/Test.AnotherWay.xml_eq.js +0 -311
- data/misc/openlayers/tests/Tile.html +0 -130
- data/misc/openlayers/tests/Tile/Image.html +0 -490
- data/misc/openlayers/tests/Tile/Image/IFrame.html +0 -183
- data/misc/openlayers/tests/Tile/UTFGrid.html +0 -306
- data/misc/openlayers/tests/TileManager.html +0 -137
- data/misc/openlayers/tests/Tween.html +0 -116
- data/misc/openlayers/tests/Util.html +0 -1180
- data/misc/openlayers/tests/Util/vendorPrefix.html +0 -117
- data/misc/openlayers/tests/Util_common.js +0 -64
- data/misc/openlayers/tests/Util_w3c.html +0 -35
- data/misc/openlayers/tests/WPSClient.html +0 -108
- data/misc/openlayers/tests/WPSProcess.html +0 -188
- data/misc/openlayers/tests/atom-1.0.xml +0 -34
- data/misc/openlayers/tests/auto-tests.html +0 -2447
- data/misc/openlayers/tests/data/geos_wkt_intersects.js +0 -495
- data/misc/openlayers/tests/data/osm.js +0 -14
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/2.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/2.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/2.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/demo-1.1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/2.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/2.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/0.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/1.json +0 -1
- data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/2.json +0 -1
- data/misc/openlayers/tests/data_Layer_Text_textfile.txt +0 -3
- data/misc/openlayers/tests/data_Layer_Text_textfile_2.txt +0 -3
- data/misc/openlayers/tests/data_Layer_Text_textfile_overflow.txt +0 -3
- data/misc/openlayers/tests/deprecated/Ajax.html +0 -28
- data/misc/openlayers/tests/deprecated/BaseTypes/Class.html +0 -142
- data/misc/openlayers/tests/deprecated/BaseTypes/Element.html +0 -56
- data/misc/openlayers/tests/deprecated/Control/MouseToolbar.html +0 -60
- data/misc/openlayers/tests/deprecated/Geometry/Rectangle.html +0 -77
- data/misc/openlayers/tests/deprecated/Layer/GML.html +0 -61
- data/misc/openlayers/tests/deprecated/Layer/MapServer.html +0 -59
- data/misc/openlayers/tests/deprecated/Layer/MapServer/Untiled.html +0 -158
- data/misc/openlayers/tests/deprecated/Layer/WFS.html +0 -178
- data/misc/openlayers/tests/deprecated/Layer/WMS.html +0 -60
- data/misc/openlayers/tests/deprecated/Layer/WMS/Post.html +0 -89
- data/misc/openlayers/tests/deprecated/Layer/Yahoo.html +0 -121
- data/misc/openlayers/tests/deprecated/Layer/mice.xml +0 -156
- data/misc/openlayers/tests/deprecated/Layer/owls.xml +0 -156
- data/misc/openlayers/tests/deprecated/Popup/AnchoredBubble.html +0 -61
- data/misc/openlayers/tests/deprecated/Protocol/SQL.html +0 -24
- data/misc/openlayers/tests/deprecated/Protocol/SQL/Gears.html +0 -474
- data/misc/openlayers/tests/deprecated/Renderer/SVG2.html +0 -399
- data/misc/openlayers/tests/deprecated/Tile/WFS.html +0 -215
- data/misc/openlayers/tests/deprecated/Util.html +0 -20
- data/misc/openlayers/tests/georss.txt +0 -378
- data/misc/openlayers/tests/grid_inittiles.html +0 -30
- data/misc/openlayers/tests/index.html +0 -6
- data/misc/openlayers/tests/list-tests.html +0 -260
- data/misc/openlayers/tests/manual/ajax.html +0 -49
- data/misc/openlayers/tests/manual/ajax.txt +0 -1
- data/misc/openlayers/tests/manual/alloverlays-mixed.html +0 -55
- data/misc/openlayers/tests/manual/arcims-2117.html +0 -103
- data/misc/openlayers/tests/manual/arkansas.rss +0 -9
- data/misc/openlayers/tests/manual/big-georss.html +0 -33
- data/misc/openlayers/tests/manual/box-quirks.html +0 -52
- data/misc/openlayers/tests/manual/box-strict.html +0 -46
- data/misc/openlayers/tests/manual/clip-features-svg.html +0 -128
- data/misc/openlayers/tests/manual/dateline-sketch.html +0 -66
- data/misc/openlayers/tests/manual/dateline-smallextent.html +0 -61
- data/misc/openlayers/tests/manual/draw-feature.html +0 -73
- data/misc/openlayers/tests/manual/feature-handler.html +0 -126
- data/misc/openlayers/tests/manual/geodesic.html +0 -160
- data/misc/openlayers/tests/manual/geojson-geomcoll-reprojection.html +0 -74
- data/misc/openlayers/tests/manual/google-fullscreen-overlay.html +0 -54
- data/misc/openlayers/tests/manual/google-panning.html +0 -122
- data/misc/openlayers/tests/manual/google-resize.html +0 -55
- data/misc/openlayers/tests/manual/google-tilt.html +0 -37
- data/misc/openlayers/tests/manual/google-v3-resize.html +0 -54
- data/misc/openlayers/tests/manual/loadend.html +0 -73
- data/misc/openlayers/tests/manual/map-events.html +0 -38
- data/misc/openlayers/tests/manual/memory/Marker-2258.html +0 -60
- data/misc/openlayers/tests/manual/memory/PanZoom-2323.html +0 -41
- data/misc/openlayers/tests/manual/memory/RemoveChild-2170.html +0 -56
- data/misc/openlayers/tests/manual/memory/VML-2170.html +0 -49
- data/misc/openlayers/tests/manual/multiple-google-layers.html +0 -135
- data/misc/openlayers/tests/manual/overviewmap-projection.html +0 -70
- data/misc/openlayers/tests/manual/page-position.html +0 -103
- data/misc/openlayers/tests/manual/pan-redraw-svg.html +0 -58
- data/misc/openlayers/tests/manual/popup-keepInMap.html +0 -100
- data/misc/openlayers/tests/manual/reflow.html +0 -59
- data/misc/openlayers/tests/manual/renderedDimensions.html +0 -113
- data/misc/openlayers/tests/manual/select-feature-right-click.html +0 -86
- data/misc/openlayers/tests/manual/select-feature.html +0 -75
- data/misc/openlayers/tests/manual/tiles-loading.html +0 -122
- data/misc/openlayers/tests/manual/tween.html +0 -82
- data/misc/openlayers/tests/manual/vector-features-performance.html +0 -149
- data/misc/openlayers/tests/manual/vector-layer-zindex.html +0 -143
- data/misc/openlayers/tests/mice.xml +0 -156
- data/misc/openlayers/tests/node.js/mockdom.js +0 -104
- data/misc/openlayers/tests/node.js/node-tests.cfg +0 -12
- data/misc/openlayers/tests/node.js/node.js +0 -1
- data/misc/openlayers/tests/node.js/run-test.js +0 -26
- data/misc/openlayers/tests/node.js/run.sh +0 -10
- data/misc/openlayers/tests/owls.xml +0 -156
- data/misc/openlayers/tests/run-tests.html +0 -155
- data/misc/openlayers/tests/selenium/remotecontrol/config.cfg +0 -48
- data/misc/openlayers/tests/selenium/remotecontrol/selenium.py +0 -1846
- data/misc/openlayers/tests/selenium/remotecontrol/setup.txt +0 -8
- data/misc/openlayers/tests/selenium/remotecontrol/test_ol.py +0 -95
- data/misc/openlayers/tests/speed/geometry.html +0 -43
- data/misc/openlayers/tests/speed/string_format.html +0 -29
- data/misc/openlayers/tests/speed/vector-renderers.html +0 -25
- data/misc/openlayers/tests/speed/vector-renderers.js +0 -70
- data/misc/openlayers/tests/speed/wmc_speed.html +0 -30
- data/misc/openlayers/tests/speed/wmscaps.html +0 -52
- data/misc/openlayers/tests/speed/wmscaps.js +0 -4956
- data/misc/openlayers/tests/speed/wmscaps.xml +0 -4954
- data/misc/openlayers/tests/throws.js +0 -82
- data/misc/openlayers/theme/default/google.css +0 -9
- data/misc/openlayers/theme/default/google.tidy.css +0 -1
- data/misc/openlayers/theme/default/ie6-style.css +0 -10
- data/misc/openlayers/theme/default/ie6-style.tidy.css +0 -1
- data/misc/openlayers/theme/default/img/add_point_off.png +0 -0
- data/misc/openlayers/theme/default/img/add_point_on.png +0 -0
- data/misc/openlayers/theme/default/img/blank.gif +0 -0
- data/misc/openlayers/theme/default/img/close.gif +0 -0
- data/misc/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
- data/misc/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
- data/misc/openlayers/theme/default/img/draw_line_off.png +0 -0
- data/misc/openlayers/theme/default/img/draw_line_on.png +0 -0
- data/misc/openlayers/theme/default/img/draw_point_off.png +0 -0
- data/misc/openlayers/theme/default/img/draw_point_on.png +0 -0
- data/misc/openlayers/theme/default/img/draw_polygon_off.png +0 -0
- data/misc/openlayers/theme/default/img/draw_polygon_on.png +0 -0
- data/misc/openlayers/theme/default/img/editing_tool_bar.png +0 -0
- data/misc/openlayers/theme/default/img/move_feature_off.png +0 -0
- data/misc/openlayers/theme/default/img/move_feature_on.png +0 -0
- data/misc/openlayers/theme/default/img/navigation_history.png +0 -0
- data/misc/openlayers/theme/default/img/overview_replacement.gif +0 -0
- data/misc/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
- data/misc/openlayers/theme/default/img/pan-panel.png +0 -0
- data/misc/openlayers/theme/default/img/pan_off.png +0 -0
- data/misc/openlayers/theme/default/img/pan_on.png +0 -0
- data/misc/openlayers/theme/default/img/panning-hand-off.png +0 -0
- data/misc/openlayers/theme/default/img/panning-hand-on.png +0 -0
- data/misc/openlayers/theme/default/img/remove_point_off.png +0 -0
- data/misc/openlayers/theme/default/img/remove_point_on.png +0 -0
- data/misc/openlayers/theme/default/img/ruler.png +0 -0
- data/misc/openlayers/theme/default/img/save_features_off.png +0 -0
- data/misc/openlayers/theme/default/img/save_features_on.png +0 -0
- data/misc/openlayers/theme/default/img/view_next_off.png +0 -0
- data/misc/openlayers/theme/default/img/view_next_on.png +0 -0
- data/misc/openlayers/theme/default/img/view_previous_off.png +0 -0
- data/misc/openlayers/theme/default/img/view_previous_on.png +0 -0
- data/misc/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
- data/misc/openlayers/theme/default/img/zoom-panel.png +0 -0
- data/misc/openlayers/theme/default/style.css +0 -516
- data/misc/openlayers/theme/default/style.mobile.css +0 -70
- data/misc/openlayers/theme/default/style.mobile.tidy.css +0 -1
- data/misc/openlayers/theme/default/style.tidy.css +0 -1
- data/misc/openlayers/tools/BeautifulSoup.py +0 -1767
- data/misc/openlayers/tools/README.txt +0 -14
- data/misc/openlayers/tools/closure_library_jscompiler.py +0 -71
- data/misc/openlayers/tools/closure_ws.py +0 -28
- data/misc/openlayers/tools/exampleparser.py +0 -251
- data/misc/openlayers/tools/jsmin.c +0 -272
- data/misc/openlayers/tools/jsmin.py +0 -216
- data/misc/openlayers/tools/mergejs.py +0 -287
- data/misc/openlayers/tools/minimize.py +0 -47
- data/misc/openlayers/tools/oldot.py +0 -43
- data/misc/openlayers/tools/release.sh +0 -71
- data/misc/openlayers/tools/shrinksafe.py +0 -54
- data/misc/openlayers/tools/toposort.py +0 -35
- data/misc/openlayers/tools/uglify_js.py +0 -35
- data/misc/openlayers/tools/update_dev_dir.sh +0 -103
@@ -1,1377 +0,0 @@
|
|
1
|
-
/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
|
2
|
-
* full list of contributors). Published under the 2-clause BSD license.
|
3
|
-
* See license.txt in the OpenLayers distribution or repository for the
|
4
|
-
* full text of the license. */
|
5
|
-
|
6
|
-
|
7
|
-
/**
|
8
|
-
* @requires OpenLayers/BaseTypes/Class.js
|
9
|
-
* @requires OpenLayers/Map.js
|
10
|
-
* @requires OpenLayers/Projection.js
|
11
|
-
*/
|
12
|
-
|
13
|
-
/**
|
14
|
-
* Class: OpenLayers.Layer
|
15
|
-
*/
|
16
|
-
OpenLayers.Layer = OpenLayers.Class({
|
17
|
-
|
18
|
-
/**
|
19
|
-
* APIProperty: id
|
20
|
-
* {String}
|
21
|
-
*/
|
22
|
-
id: null,
|
23
|
-
|
24
|
-
/**
|
25
|
-
* APIProperty: name
|
26
|
-
* {String}
|
27
|
-
*/
|
28
|
-
name: null,
|
29
|
-
|
30
|
-
/**
|
31
|
-
* APIProperty: div
|
32
|
-
* {DOMElement}
|
33
|
-
*/
|
34
|
-
div: null,
|
35
|
-
|
36
|
-
/**
|
37
|
-
* APIProperty: opacity
|
38
|
-
* {Float} The layer's opacity. Float number between 0.0 and 1.0. Default
|
39
|
-
* is 1.
|
40
|
-
*/
|
41
|
-
opacity: 1,
|
42
|
-
|
43
|
-
/**
|
44
|
-
* APIProperty: alwaysInRange
|
45
|
-
* {Boolean} If a layer's display should not be scale-based, this should
|
46
|
-
* be set to true. This will cause the layer, as an overlay, to always
|
47
|
-
* be 'active', by always returning true from the calculateInRange()
|
48
|
-
* function.
|
49
|
-
*
|
50
|
-
* If not explicitly specified for a layer, its value will be
|
51
|
-
* determined on startup in initResolutions() based on whether or not
|
52
|
-
* any scale-specific properties have been set as options on the
|
53
|
-
* layer. If no scale-specific options have been set on the layer, we
|
54
|
-
* assume that it should always be in range.
|
55
|
-
*
|
56
|
-
* See #987 for more info.
|
57
|
-
*/
|
58
|
-
alwaysInRange: null,
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Constant: RESOLUTION_PROPERTIES
|
62
|
-
* {Array} The properties that are used for calculating resolutions
|
63
|
-
* information.
|
64
|
-
*/
|
65
|
-
RESOLUTION_PROPERTIES: [
|
66
|
-
'scales', 'resolutions',
|
67
|
-
'maxScale', 'minScale',
|
68
|
-
'maxResolution', 'minResolution',
|
69
|
-
'numZoomLevels', 'maxZoomLevel'
|
70
|
-
],
|
71
|
-
|
72
|
-
/**
|
73
|
-
* APIProperty: events
|
74
|
-
* {<OpenLayers.Events>}
|
75
|
-
*
|
76
|
-
* Register a listener for a particular event with the following syntax:
|
77
|
-
* (code)
|
78
|
-
* layer.events.register(type, obj, listener);
|
79
|
-
* (end)
|
80
|
-
*
|
81
|
-
* Listeners will be called with a reference to an event object. The
|
82
|
-
* properties of this event depends on exactly what happened.
|
83
|
-
*
|
84
|
-
* All event objects have at least the following properties:
|
85
|
-
* object - {Object} A reference to layer.events.object.
|
86
|
-
* element - {DOMElement} A reference to layer.events.element.
|
87
|
-
*
|
88
|
-
* Supported map event types:
|
89
|
-
* loadstart - Triggered when layer loading starts. When using a Vector
|
90
|
-
* layer with a Fixed or BBOX strategy, the event object includes
|
91
|
-
* a *filter* property holding the OpenLayers.Filter used when
|
92
|
-
* calling read on the protocol.
|
93
|
-
* loadend - Triggered when layer loading ends. When using a Vector layer
|
94
|
-
* with a Fixed or BBOX strategy, the event object includes a
|
95
|
-
* *response* property holding an OpenLayers.Protocol.Response object.
|
96
|
-
* visibilitychanged - Triggered when the layer's visibility property is
|
97
|
-
* changed, e.g. by turning the layer on or off in the layer switcher.
|
98
|
-
* Note that the actual visibility of the layer can also change if it
|
99
|
-
* gets out of range (see <calculateInRange>). If you also want to catch
|
100
|
-
* these cases, register for the map's 'changelayer' event instead.
|
101
|
-
* move - Triggered when layer moves (triggered with every mousemove
|
102
|
-
* during a drag).
|
103
|
-
* moveend - Triggered when layer is done moving, object passed as
|
104
|
-
* argument has a zoomChanged boolean property which tells that the
|
105
|
-
* zoom has changed.
|
106
|
-
* added - Triggered after the layer is added to a map. Listeners will
|
107
|
-
* receive an object with a *map* property referencing the map and a
|
108
|
-
* *layer* property referencing the layer.
|
109
|
-
* removed - Triggered after the layer is removed from the map. Listeners
|
110
|
-
* will receive an object with a *map* property referencing the map and
|
111
|
-
* a *layer* property referencing the layer.
|
112
|
-
*/
|
113
|
-
events: null,
|
114
|
-
|
115
|
-
/**
|
116
|
-
* APIProperty: map
|
117
|
-
* {<OpenLayers.Map>} This variable is set when the layer is added to
|
118
|
-
* the map, via the accessor function setMap().
|
119
|
-
*/
|
120
|
-
map: null,
|
121
|
-
|
122
|
-
/**
|
123
|
-
* APIProperty: isBaseLayer
|
124
|
-
* {Boolean} Whether or not the layer is a base layer. This should be set
|
125
|
-
* individually by all subclasses. Default is false
|
126
|
-
*/
|
127
|
-
isBaseLayer: false,
|
128
|
-
|
129
|
-
/**
|
130
|
-
* Property: alpha
|
131
|
-
* {Boolean} The layer's images have an alpha channel. Default is false.
|
132
|
-
*/
|
133
|
-
alpha: false,
|
134
|
-
|
135
|
-
/**
|
136
|
-
* APIProperty: displayInLayerSwitcher
|
137
|
-
* {Boolean} Display the layer's name in the layer switcher. Default is
|
138
|
-
* true.
|
139
|
-
*/
|
140
|
-
displayInLayerSwitcher: true,
|
141
|
-
|
142
|
-
/**
|
143
|
-
* APIProperty: visibility
|
144
|
-
* {Boolean} The layer should be displayed in the map. Default is true.
|
145
|
-
*/
|
146
|
-
visibility: true,
|
147
|
-
|
148
|
-
/**
|
149
|
-
* APIProperty: attribution
|
150
|
-
* {String} Attribution string, displayed when an
|
151
|
-
* <OpenLayers.Control.Attribution> has been added to the map.
|
152
|
-
*/
|
153
|
-
attribution: null,
|
154
|
-
|
155
|
-
/**
|
156
|
-
* Property: inRange
|
157
|
-
* {Boolean} The current map resolution is within the layer's min/max
|
158
|
-
* range. This is set in <OpenLayers.Map.setCenter> whenever the zoom
|
159
|
-
* changes.
|
160
|
-
*/
|
161
|
-
inRange: false,
|
162
|
-
|
163
|
-
/**
|
164
|
-
* Propery: imageSize
|
165
|
-
* {<OpenLayers.Size>} For layers with a gutter, the image is larger than
|
166
|
-
* the tile by twice the gutter in each dimension.
|
167
|
-
*/
|
168
|
-
imageSize: null,
|
169
|
-
|
170
|
-
// OPTIONS
|
171
|
-
|
172
|
-
/**
|
173
|
-
* Property: options
|
174
|
-
* {Object} An optional object whose properties will be set on the layer.
|
175
|
-
* Any of the layer properties can be set as a property of the options
|
176
|
-
* object and sent to the constructor when the layer is created.
|
177
|
-
*/
|
178
|
-
options: null,
|
179
|
-
|
180
|
-
/**
|
181
|
-
* APIProperty: eventListeners
|
182
|
-
* {Object} If set as an option at construction, the eventListeners
|
183
|
-
* object will be registered with <OpenLayers.Events.on>. Object
|
184
|
-
* structure must be a listeners object as shown in the example for
|
185
|
-
* the events.on method.
|
186
|
-
*/
|
187
|
-
eventListeners: null,
|
188
|
-
|
189
|
-
/**
|
190
|
-
* APIProperty: gutter
|
191
|
-
* {Integer} Determines the width (in pixels) of the gutter around image
|
192
|
-
* tiles to ignore. By setting this property to a non-zero value,
|
193
|
-
* images will be requested that are wider and taller than the tile
|
194
|
-
* size by a value of 2 x gutter. This allows artifacts of rendering
|
195
|
-
* at tile edges to be ignored. Set a gutter value that is equal to
|
196
|
-
* half the size of the widest symbol that needs to be displayed.
|
197
|
-
* Defaults to zero. Non-tiled layers always have zero gutter.
|
198
|
-
*/
|
199
|
-
gutter: 0,
|
200
|
-
|
201
|
-
/**
|
202
|
-
* APIProperty: projection
|
203
|
-
* {<OpenLayers.Projection>} or {<String>} Specifies the projection of the layer.
|
204
|
-
* Can be set in the layer options. If not specified in the layer options,
|
205
|
-
* it is set to the default projection specified in the map,
|
206
|
-
* when the layer is added to the map.
|
207
|
-
* Projection along with default maxExtent and resolutions
|
208
|
-
* are set automatically with commercial baselayers in EPSG:3857,
|
209
|
-
* such as Google, Bing and OpenStreetMap, and do not need to be specified.
|
210
|
-
* Otherwise, if specifying projection, also set maxExtent,
|
211
|
-
* maxResolution or resolutions as appropriate.
|
212
|
-
* When using vector layers with strategies, layer projection should be set
|
213
|
-
* to the projection of the source data if that is different from the map default.
|
214
|
-
*
|
215
|
-
* Can be either a string or an <OpenLayers.Projection> object;
|
216
|
-
* if a string is passed, will be converted to an object when
|
217
|
-
* the layer is added to the map.
|
218
|
-
*
|
219
|
-
*/
|
220
|
-
projection: null,
|
221
|
-
|
222
|
-
/**
|
223
|
-
* APIProperty: units
|
224
|
-
* {String} The layer map units. Defaults to null. Possible values
|
225
|
-
* are 'degrees' (or 'dd'), 'm', 'ft', 'km', 'mi', 'inches'.
|
226
|
-
* Normally taken from the projection.
|
227
|
-
* Only required if both map and layers do not define a projection,
|
228
|
-
* or if they define a projection which does not define units.
|
229
|
-
*/
|
230
|
-
units: null,
|
231
|
-
|
232
|
-
/**
|
233
|
-
* APIProperty: scales
|
234
|
-
* {Array} An array of map scales in descending order. The values in the
|
235
|
-
* array correspond to the map scale denominator. Note that these
|
236
|
-
* values only make sense if the display (monitor) resolution of the
|
237
|
-
* client is correctly guessed by whomever is configuring the
|
238
|
-
* application. In addition, the units property must also be set.
|
239
|
-
* Use <resolutions> instead wherever possible.
|
240
|
-
*/
|
241
|
-
scales: null,
|
242
|
-
|
243
|
-
/**
|
244
|
-
* APIProperty: resolutions
|
245
|
-
* {Array} A list of map resolutions (map units per pixel) in descending
|
246
|
-
* order. If this is not set in the layer constructor, it will be set
|
247
|
-
* based on other resolution related properties (maxExtent,
|
248
|
-
* maxResolution, maxScale, etc.).
|
249
|
-
*/
|
250
|
-
resolutions: null,
|
251
|
-
|
252
|
-
/**
|
253
|
-
* APIProperty: maxExtent
|
254
|
-
* {<OpenLayers.Bounds>|Array} If provided as an array, the array
|
255
|
-
* should consist of four values (left, bottom, right, top).
|
256
|
-
* The maximum extent for the layer. Defaults to null.
|
257
|
-
*
|
258
|
-
* The center of these bounds will not stray outside
|
259
|
-
* of the viewport extent during panning. In addition, if
|
260
|
-
* <displayOutsideMaxExtent> is set to false, data will not be
|
261
|
-
* requested that falls completely outside of these bounds.
|
262
|
-
*/
|
263
|
-
maxExtent: null,
|
264
|
-
|
265
|
-
/**
|
266
|
-
* APIProperty: minExtent
|
267
|
-
* {<OpenLayers.Bounds>|Array} If provided as an array, the array
|
268
|
-
* should consist of four values (left, bottom, right, top).
|
269
|
-
* The minimum extent for the layer. Defaults to null.
|
270
|
-
*/
|
271
|
-
minExtent: null,
|
272
|
-
|
273
|
-
/**
|
274
|
-
* APIProperty: maxResolution
|
275
|
-
* {Float} Default max is 360 deg / 256 px, which corresponds to
|
276
|
-
* zoom level 0 on gmaps. Specify a different value in the layer
|
277
|
-
* options if you are not using the default <OpenLayers.Map.tileSize>
|
278
|
-
* and displaying the whole world.
|
279
|
-
*/
|
280
|
-
maxResolution: null,
|
281
|
-
|
282
|
-
/**
|
283
|
-
* APIProperty: minResolution
|
284
|
-
* {Float}
|
285
|
-
*/
|
286
|
-
minResolution: null,
|
287
|
-
|
288
|
-
/**
|
289
|
-
* APIProperty: numZoomLevels
|
290
|
-
* {Integer}
|
291
|
-
*/
|
292
|
-
numZoomLevels: null,
|
293
|
-
|
294
|
-
/**
|
295
|
-
* APIProperty: minScale
|
296
|
-
* {Float}
|
297
|
-
*/
|
298
|
-
minScale: null,
|
299
|
-
|
300
|
-
/**
|
301
|
-
* APIProperty: maxScale
|
302
|
-
* {Float}
|
303
|
-
*/
|
304
|
-
maxScale: null,
|
305
|
-
|
306
|
-
/**
|
307
|
-
* APIProperty: displayOutsideMaxExtent
|
308
|
-
* {Boolean} Request map tiles that are completely outside of the max
|
309
|
-
* extent for this layer. Defaults to false.
|
310
|
-
*/
|
311
|
-
displayOutsideMaxExtent: false,
|
312
|
-
|
313
|
-
/**
|
314
|
-
* APIProperty: wrapDateLine
|
315
|
-
* {Boolean} Wraps the world at the international dateline, so the map can
|
316
|
-
* be panned infinitely in longitudinal direction. Only use this on the
|
317
|
-
* base layer, and only if the layer's maxExtent equals the world bounds.
|
318
|
-
* #487 for more info.
|
319
|
-
*/
|
320
|
-
wrapDateLine: false,
|
321
|
-
|
322
|
-
/**
|
323
|
-
* Property: metadata
|
324
|
-
* {Object} This object can be used to store additional information on a
|
325
|
-
* layer object.
|
326
|
-
*/
|
327
|
-
metadata: null,
|
328
|
-
|
329
|
-
/**
|
330
|
-
* Constructor: OpenLayers.Layer
|
331
|
-
*
|
332
|
-
* Parameters:
|
333
|
-
* name - {String} The layer name
|
334
|
-
* options - {Object} Hashtable of extra options to tag onto the layer
|
335
|
-
*/
|
336
|
-
initialize: function(name, options) {
|
337
|
-
|
338
|
-
this.metadata = {};
|
339
|
-
|
340
|
-
options = OpenLayers.Util.extend({}, options);
|
341
|
-
// make sure we respect alwaysInRange if set on the prototype
|
342
|
-
if (this.alwaysInRange != null) {
|
343
|
-
options.alwaysInRange = this.alwaysInRange;
|
344
|
-
}
|
345
|
-
this.addOptions(options);
|
346
|
-
|
347
|
-
this.name = name;
|
348
|
-
|
349
|
-
if (this.id == null) {
|
350
|
-
|
351
|
-
this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
|
352
|
-
|
353
|
-
this.div = OpenLayers.Util.createDiv(this.id);
|
354
|
-
this.div.style.width = "100%";
|
355
|
-
this.div.style.height = "100%";
|
356
|
-
this.div.dir = "ltr";
|
357
|
-
|
358
|
-
this.events = new OpenLayers.Events(this, this.div);
|
359
|
-
if(this.eventListeners instanceof Object) {
|
360
|
-
this.events.on(this.eventListeners);
|
361
|
-
}
|
362
|
-
|
363
|
-
}
|
364
|
-
},
|
365
|
-
|
366
|
-
/**
|
367
|
-
* Method: destroy
|
368
|
-
* Destroy is a destructor: this is to alleviate cyclic references which
|
369
|
-
* the Javascript garbage cleaner can not take care of on its own.
|
370
|
-
*
|
371
|
-
* Parameters:
|
372
|
-
* setNewBaseLayer - {Boolean} Set a new base layer when this layer has
|
373
|
-
* been destroyed. Default is true.
|
374
|
-
*/
|
375
|
-
destroy: function(setNewBaseLayer) {
|
376
|
-
if (setNewBaseLayer == null) {
|
377
|
-
setNewBaseLayer = true;
|
378
|
-
}
|
379
|
-
if (this.map != null) {
|
380
|
-
this.map.removeLayer(this, setNewBaseLayer);
|
381
|
-
}
|
382
|
-
this.projection = null;
|
383
|
-
this.map = null;
|
384
|
-
this.name = null;
|
385
|
-
this.div = null;
|
386
|
-
this.options = null;
|
387
|
-
|
388
|
-
if (this.events) {
|
389
|
-
if(this.eventListeners) {
|
390
|
-
this.events.un(this.eventListeners);
|
391
|
-
}
|
392
|
-
this.events.destroy();
|
393
|
-
}
|
394
|
-
this.eventListeners = null;
|
395
|
-
this.events = null;
|
396
|
-
},
|
397
|
-
|
398
|
-
/**
|
399
|
-
* Method: clone
|
400
|
-
*
|
401
|
-
* Parameters:
|
402
|
-
* obj - {<OpenLayers.Layer>} The layer to be cloned
|
403
|
-
*
|
404
|
-
* Returns:
|
405
|
-
* {<OpenLayers.Layer>} An exact clone of this <OpenLayers.Layer>
|
406
|
-
*/
|
407
|
-
clone: function (obj) {
|
408
|
-
|
409
|
-
if (obj == null) {
|
410
|
-
obj = new OpenLayers.Layer(this.name, this.getOptions());
|
411
|
-
}
|
412
|
-
|
413
|
-
// catch any randomly tagged-on properties
|
414
|
-
OpenLayers.Util.applyDefaults(obj, this);
|
415
|
-
|
416
|
-
// a cloned layer should never have its map property set
|
417
|
-
// because it has not been added to a map yet.
|
418
|
-
obj.map = null;
|
419
|
-
|
420
|
-
return obj;
|
421
|
-
},
|
422
|
-
|
423
|
-
/**
|
424
|
-
* Method: getOptions
|
425
|
-
* Extracts an object from the layer with the properties that were set as
|
426
|
-
* options, but updates them with the values currently set on the
|
427
|
-
* instance.
|
428
|
-
*
|
429
|
-
* Returns:
|
430
|
-
* {Object} the <options> of the layer, representing the current state.
|
431
|
-
*/
|
432
|
-
getOptions: function() {
|
433
|
-
var options = {};
|
434
|
-
for(var o in this.options) {
|
435
|
-
options[o] = this[o];
|
436
|
-
}
|
437
|
-
return options;
|
438
|
-
},
|
439
|
-
|
440
|
-
/**
|
441
|
-
* APIMethod: setName
|
442
|
-
* Sets the new layer name for this layer. Can trigger a changelayer event
|
443
|
-
* on the map.
|
444
|
-
*
|
445
|
-
* Parameters:
|
446
|
-
* newName - {String} The new name.
|
447
|
-
*/
|
448
|
-
setName: function(newName) {
|
449
|
-
if (newName != this.name) {
|
450
|
-
this.name = newName;
|
451
|
-
if (this.map != null) {
|
452
|
-
this.map.events.triggerEvent("changelayer", {
|
453
|
-
layer: this,
|
454
|
-
property: "name"
|
455
|
-
});
|
456
|
-
}
|
457
|
-
}
|
458
|
-
},
|
459
|
-
|
460
|
-
/**
|
461
|
-
* APIMethod: addOptions
|
462
|
-
*
|
463
|
-
* Parameters:
|
464
|
-
* newOptions - {Object}
|
465
|
-
* reinitialize - {Boolean} If set to true, and if resolution options of the
|
466
|
-
* current baseLayer were changed, the map will be recentered to make
|
467
|
-
* sure that it is displayed with a valid resolution, and a
|
468
|
-
* changebaselayer event will be triggered.
|
469
|
-
*/
|
470
|
-
addOptions: function (newOptions, reinitialize) {
|
471
|
-
|
472
|
-
if (this.options == null) {
|
473
|
-
this.options = {};
|
474
|
-
}
|
475
|
-
|
476
|
-
if (newOptions) {
|
477
|
-
// make sure this.projection references a projection object
|
478
|
-
if(typeof newOptions.projection == "string") {
|
479
|
-
newOptions.projection = new OpenLayers.Projection(newOptions.projection);
|
480
|
-
}
|
481
|
-
if (newOptions.projection) {
|
482
|
-
// get maxResolution, units and maxExtent from projection defaults if
|
483
|
-
// they are not defined already
|
484
|
-
OpenLayers.Util.applyDefaults(newOptions,
|
485
|
-
OpenLayers.Projection.defaults[newOptions.projection.getCode()]);
|
486
|
-
}
|
487
|
-
// allow array for extents
|
488
|
-
if (newOptions.maxExtent && !(newOptions.maxExtent instanceof OpenLayers.Bounds)) {
|
489
|
-
newOptions.maxExtent = new OpenLayers.Bounds(newOptions.maxExtent);
|
490
|
-
}
|
491
|
-
if (newOptions.minExtent && !(newOptions.minExtent instanceof OpenLayers.Bounds)) {
|
492
|
-
newOptions.minExtent = new OpenLayers.Bounds(newOptions.minExtent);
|
493
|
-
}
|
494
|
-
}
|
495
|
-
|
496
|
-
// update our copy for clone
|
497
|
-
OpenLayers.Util.extend(this.options, newOptions);
|
498
|
-
|
499
|
-
// add new options to this
|
500
|
-
OpenLayers.Util.extend(this, newOptions);
|
501
|
-
|
502
|
-
// get the units from the projection, if we have a projection
|
503
|
-
// and it it has units
|
504
|
-
if(this.projection && this.projection.getUnits()) {
|
505
|
-
this.units = this.projection.getUnits();
|
506
|
-
}
|
507
|
-
|
508
|
-
// re-initialize resolutions if necessary, i.e. if any of the
|
509
|
-
// properties of the "properties" array defined below is set
|
510
|
-
// in the new options
|
511
|
-
if(this.map) {
|
512
|
-
// store current resolution so we can try to restore it later
|
513
|
-
var resolution = this.map.getResolution();
|
514
|
-
var properties = this.RESOLUTION_PROPERTIES.concat(
|
515
|
-
["projection", "units", "minExtent", "maxExtent"]
|
516
|
-
);
|
517
|
-
for(var o in newOptions) {
|
518
|
-
if(newOptions.hasOwnProperty(o) &&
|
519
|
-
OpenLayers.Util.indexOf(properties, o) >= 0) {
|
520
|
-
|
521
|
-
this.initResolutions();
|
522
|
-
if (reinitialize && this.map.baseLayer === this) {
|
523
|
-
// update map position, and restore previous resolution
|
524
|
-
this.map.setCenter(this.map.getCenter(),
|
525
|
-
this.map.getZoomForResolution(resolution),
|
526
|
-
false, true
|
527
|
-
);
|
528
|
-
// trigger a changebaselayer event to make sure that
|
529
|
-
// all controls (especially
|
530
|
-
// OpenLayers.Control.PanZoomBar) get notified of the
|
531
|
-
// new options
|
532
|
-
this.map.events.triggerEvent("changebaselayer", {
|
533
|
-
layer: this
|
534
|
-
});
|
535
|
-
}
|
536
|
-
break;
|
537
|
-
}
|
538
|
-
}
|
539
|
-
}
|
540
|
-
},
|
541
|
-
|
542
|
-
/**
|
543
|
-
* APIMethod: onMapResize
|
544
|
-
* This function can be implemented by subclasses
|
545
|
-
*/
|
546
|
-
onMapResize: function() {
|
547
|
-
//this function can be implemented by subclasses
|
548
|
-
},
|
549
|
-
|
550
|
-
/**
|
551
|
-
* APIMethod: redraw
|
552
|
-
* Redraws the layer. Returns true if the layer was redrawn, false if not.
|
553
|
-
*
|
554
|
-
* Returns:
|
555
|
-
* {Boolean} The layer was redrawn.
|
556
|
-
*/
|
557
|
-
redraw: function() {
|
558
|
-
var redrawn = false;
|
559
|
-
if (this.map) {
|
560
|
-
|
561
|
-
// min/max Range may have changed
|
562
|
-
this.inRange = this.calculateInRange();
|
563
|
-
|
564
|
-
// map's center might not yet be set
|
565
|
-
var extent = this.getExtent();
|
566
|
-
|
567
|
-
if (extent && this.inRange && this.visibility) {
|
568
|
-
var zoomChanged = true;
|
569
|
-
this.moveTo(extent, zoomChanged, false);
|
570
|
-
this.events.triggerEvent("moveend",
|
571
|
-
{"zoomChanged": zoomChanged});
|
572
|
-
redrawn = true;
|
573
|
-
}
|
574
|
-
}
|
575
|
-
return redrawn;
|
576
|
-
},
|
577
|
-
|
578
|
-
/**
|
579
|
-
* Method: moveTo
|
580
|
-
*
|
581
|
-
* Parameters:
|
582
|
-
* bounds - {<OpenLayers.Bounds>}
|
583
|
-
* zoomChanged - {Boolean} Tells when zoom has changed, as layers have to
|
584
|
-
* do some init work in that case.
|
585
|
-
* dragging - {Boolean}
|
586
|
-
*/
|
587
|
-
moveTo:function(bounds, zoomChanged, dragging) {
|
588
|
-
var display = this.visibility;
|
589
|
-
if (!this.isBaseLayer) {
|
590
|
-
display = display && this.inRange;
|
591
|
-
}
|
592
|
-
this.display(display);
|
593
|
-
},
|
594
|
-
|
595
|
-
/**
|
596
|
-
* Method: moveByPx
|
597
|
-
* Move the layer based on pixel vector. To be implemented by subclasses.
|
598
|
-
*
|
599
|
-
* Parameters:
|
600
|
-
* dx - {Number} The x coord of the displacement vector.
|
601
|
-
* dy - {Number} The y coord of the displacement vector.
|
602
|
-
*/
|
603
|
-
moveByPx: function(dx, dy) {
|
604
|
-
},
|
605
|
-
|
606
|
-
/**
|
607
|
-
* Method: setMap
|
608
|
-
* Set the map property for the layer. This is done through an accessor
|
609
|
-
* so that subclasses can override this and take special action once
|
610
|
-
* they have their map variable set.
|
611
|
-
*
|
612
|
-
* Here we take care to bring over any of the necessary default
|
613
|
-
* properties from the map.
|
614
|
-
*
|
615
|
-
* Parameters:
|
616
|
-
* map - {<OpenLayers.Map>}
|
617
|
-
*/
|
618
|
-
setMap: function(map) {
|
619
|
-
if (this.map == null) {
|
620
|
-
|
621
|
-
this.map = map;
|
622
|
-
|
623
|
-
// grab some essential layer data from the map if it hasn't already
|
624
|
-
// been set
|
625
|
-
this.maxExtent = this.maxExtent || this.map.maxExtent;
|
626
|
-
this.minExtent = this.minExtent || this.map.minExtent;
|
627
|
-
|
628
|
-
this.projection = this.projection || this.map.projection;
|
629
|
-
if (typeof this.projection == "string") {
|
630
|
-
this.projection = new OpenLayers.Projection(this.projection);
|
631
|
-
}
|
632
|
-
|
633
|
-
// Check the projection to see if we can get units -- if not, refer
|
634
|
-
// to properties.
|
635
|
-
this.units = this.projection.getUnits() ||
|
636
|
-
this.units || this.map.units;
|
637
|
-
|
638
|
-
this.initResolutions();
|
639
|
-
|
640
|
-
if (!this.isBaseLayer) {
|
641
|
-
this.inRange = this.calculateInRange();
|
642
|
-
var show = ((this.visibility) && (this.inRange));
|
643
|
-
this.div.style.display = show ? "" : "none";
|
644
|
-
}
|
645
|
-
|
646
|
-
// deal with gutters
|
647
|
-
this.setTileSize();
|
648
|
-
}
|
649
|
-
},
|
650
|
-
|
651
|
-
/**
|
652
|
-
* Method: afterAdd
|
653
|
-
* Called at the end of the map.addLayer sequence. At this point, the map
|
654
|
-
* will have a base layer. To be overridden by subclasses.
|
655
|
-
*/
|
656
|
-
afterAdd: function() {
|
657
|
-
},
|
658
|
-
|
659
|
-
/**
|
660
|
-
* APIMethod: removeMap
|
661
|
-
* Just as setMap() allows each layer the possibility to take a
|
662
|
-
* personalized action on being added to the map, removeMap() allows
|
663
|
-
* each layer to take a personalized action on being removed from it.
|
664
|
-
* For now, this will be mostly unused, except for the EventPane layer,
|
665
|
-
* which needs this hook so that it can remove the special invisible
|
666
|
-
* pane.
|
667
|
-
*
|
668
|
-
* Parameters:
|
669
|
-
* map - {<OpenLayers.Map>}
|
670
|
-
*/
|
671
|
-
removeMap: function(map) {
|
672
|
-
//to be overridden by subclasses
|
673
|
-
},
|
674
|
-
|
675
|
-
/**
|
676
|
-
* APIMethod: getImageSize
|
677
|
-
*
|
678
|
-
* Parameters:
|
679
|
-
* bounds - {<OpenLayers.Bounds>} optional tile bounds, can be used
|
680
|
-
* by subclasses that have to deal with different tile sizes at the
|
681
|
-
* layer extent edges (e.g. Zoomify)
|
682
|
-
*
|
683
|
-
* Returns:
|
684
|
-
* {<OpenLayers.Size>} The size that the image should be, taking into
|
685
|
-
* account gutters.
|
686
|
-
*/
|
687
|
-
getImageSize: function(bounds) {
|
688
|
-
return (this.imageSize || this.tileSize);
|
689
|
-
},
|
690
|
-
|
691
|
-
/**
|
692
|
-
* APIMethod: setTileSize
|
693
|
-
* Set the tile size based on the map size. This also sets layer.imageSize
|
694
|
-
* or use by Tile.Image.
|
695
|
-
*
|
696
|
-
* Parameters:
|
697
|
-
* size - {<OpenLayers.Size>}
|
698
|
-
*/
|
699
|
-
setTileSize: function(size) {
|
700
|
-
var tileSize = (size) ? size :
|
701
|
-
((this.tileSize) ? this.tileSize :
|
702
|
-
this.map.getTileSize());
|
703
|
-
this.tileSize = tileSize;
|
704
|
-
if(this.gutter) {
|
705
|
-
// layers with gutters need non-null tile sizes
|
706
|
-
//if(tileSize == null) {
|
707
|
-
// OpenLayers.console.error("Error in layer.setMap() for " +
|
708
|
-
// this.name + ": layers with " +
|
709
|
-
// "gutters need non-null tile sizes");
|
710
|
-
//}
|
711
|
-
this.imageSize = new OpenLayers.Size(tileSize.w + (2*this.gutter),
|
712
|
-
tileSize.h + (2*this.gutter));
|
713
|
-
}
|
714
|
-
},
|
715
|
-
|
716
|
-
/**
|
717
|
-
* APIMethod: getVisibility
|
718
|
-
*
|
719
|
-
* Returns:
|
720
|
-
* {Boolean} The layer should be displayed (if in range).
|
721
|
-
*/
|
722
|
-
getVisibility: function() {
|
723
|
-
return this.visibility;
|
724
|
-
},
|
725
|
-
|
726
|
-
/**
|
727
|
-
* APIMethod: setVisibility
|
728
|
-
* Set the visibility flag for the layer and hide/show & redraw
|
729
|
-
* accordingly. Fire event unless otherwise specified
|
730
|
-
*
|
731
|
-
* Note that visibility is no longer simply whether or not the layer's
|
732
|
-
* style.display is set to "block". Now we store a 'visibility' state
|
733
|
-
* property on the layer class, this allows us to remember whether or
|
734
|
-
* not we *desire* for a layer to be visible. In the case where the
|
735
|
-
* map's resolution is out of the layer's range, this desire may be
|
736
|
-
* subverted.
|
737
|
-
*
|
738
|
-
* Parameters:
|
739
|
-
* visibility - {Boolean} Whether or not to display the layer (if in range)
|
740
|
-
*/
|
741
|
-
setVisibility: function(visibility) {
|
742
|
-
if (visibility != this.visibility) {
|
743
|
-
this.visibility = visibility;
|
744
|
-
this.display(visibility);
|
745
|
-
this.redraw();
|
746
|
-
if (this.map != null) {
|
747
|
-
this.map.events.triggerEvent("changelayer", {
|
748
|
-
layer: this,
|
749
|
-
property: "visibility"
|
750
|
-
});
|
751
|
-
}
|
752
|
-
this.events.triggerEvent("visibilitychanged");
|
753
|
-
}
|
754
|
-
},
|
755
|
-
|
756
|
-
/**
|
757
|
-
* APIMethod: display
|
758
|
-
* Hide or show the Layer. This is designed to be used internally, and
|
759
|
-
* is not generally the way to enable or disable the layer. For that,
|
760
|
-
* use the setVisibility function instead..
|
761
|
-
*
|
762
|
-
* Parameters:
|
763
|
-
* display - {Boolean}
|
764
|
-
*/
|
765
|
-
display: function(display) {
|
766
|
-
if (display != (this.div.style.display != "none")) {
|
767
|
-
this.div.style.display = (display && this.calculateInRange()) ? "block" : "none";
|
768
|
-
}
|
769
|
-
},
|
770
|
-
|
771
|
-
/**
|
772
|
-
* APIMethod: calculateInRange
|
773
|
-
*
|
774
|
-
* Returns:
|
775
|
-
* {Boolean} The layer is displayable at the current map's current
|
776
|
-
* resolution. Note that if 'alwaysInRange' is true for the layer,
|
777
|
-
* this function will always return true.
|
778
|
-
*/
|
779
|
-
calculateInRange: function() {
|
780
|
-
var inRange = false;
|
781
|
-
|
782
|
-
if (this.alwaysInRange) {
|
783
|
-
inRange = true;
|
784
|
-
} else {
|
785
|
-
if (this.map) {
|
786
|
-
var resolution = this.map.getResolution();
|
787
|
-
inRange = ( (resolution >= this.minResolution) &&
|
788
|
-
(resolution <= this.maxResolution) );
|
789
|
-
}
|
790
|
-
}
|
791
|
-
return inRange;
|
792
|
-
},
|
793
|
-
|
794
|
-
/**
|
795
|
-
* APIMethod: setIsBaseLayer
|
796
|
-
*
|
797
|
-
* Parameters:
|
798
|
-
* isBaseLayer - {Boolean}
|
799
|
-
*/
|
800
|
-
setIsBaseLayer: function(isBaseLayer) {
|
801
|
-
if (isBaseLayer != this.isBaseLayer) {
|
802
|
-
this.isBaseLayer = isBaseLayer;
|
803
|
-
if (this.map != null) {
|
804
|
-
this.map.events.triggerEvent("changebaselayer", {
|
805
|
-
layer: this
|
806
|
-
});
|
807
|
-
}
|
808
|
-
}
|
809
|
-
},
|
810
|
-
|
811
|
-
/********************************************************/
|
812
|
-
/* */
|
813
|
-
/* Baselayer Functions */
|
814
|
-
/* */
|
815
|
-
/********************************************************/
|
816
|
-
|
817
|
-
/**
|
818
|
-
* Method: initResolutions
|
819
|
-
* This method's responsibility is to set up the 'resolutions' array
|
820
|
-
* for the layer -- this array is what the layer will use to interface
|
821
|
-
* between the zoom levels of the map and the resolution display
|
822
|
-
* of the layer.
|
823
|
-
*
|
824
|
-
* The user has several options that determine how the array is set up.
|
825
|
-
*
|
826
|
-
* For a detailed explanation, see the following wiki from the
|
827
|
-
* openlayers.org homepage:
|
828
|
-
* http://trac.openlayers.org/wiki/SettingZoomLevels
|
829
|
-
*/
|
830
|
-
initResolutions: function() {
|
831
|
-
|
832
|
-
// ok we want resolutions, here's our strategy:
|
833
|
-
//
|
834
|
-
// 1. if resolutions are defined in the layer config, use them
|
835
|
-
// 2. else, if scales are defined in the layer config then derive
|
836
|
-
// resolutions from these scales
|
837
|
-
// 3. else, attempt to calculate resolutions from maxResolution,
|
838
|
-
// minResolution, numZoomLevels, maxZoomLevel set in the
|
839
|
-
// layer config
|
840
|
-
// 4. if we still don't have resolutions, and if resolutions
|
841
|
-
// are defined in the same, use them
|
842
|
-
// 5. else, if scales are defined in the map then derive
|
843
|
-
// resolutions from these scales
|
844
|
-
// 6. else, attempt to calculate resolutions from maxResolution,
|
845
|
-
// minResolution, numZoomLevels, maxZoomLevel set in the
|
846
|
-
// map
|
847
|
-
// 7. hope for the best!
|
848
|
-
|
849
|
-
var i, len, p;
|
850
|
-
var props = {}, alwaysInRange = true;
|
851
|
-
|
852
|
-
// get resolution data from layer config
|
853
|
-
// (we also set alwaysInRange in the layer as appropriate)
|
854
|
-
for(i=0, len=this.RESOLUTION_PROPERTIES.length; i<len; i++) {
|
855
|
-
p = this.RESOLUTION_PROPERTIES[i];
|
856
|
-
props[p] = this.options[p];
|
857
|
-
if(alwaysInRange && this.options[p]) {
|
858
|
-
alwaysInRange = false;
|
859
|
-
}
|
860
|
-
}
|
861
|
-
if(this.options.alwaysInRange == null) {
|
862
|
-
this.alwaysInRange = alwaysInRange;
|
863
|
-
}
|
864
|
-
|
865
|
-
// if we don't have resolutions then attempt to derive them from scales
|
866
|
-
if(props.resolutions == null) {
|
867
|
-
props.resolutions = this.resolutionsFromScales(props.scales);
|
868
|
-
}
|
869
|
-
|
870
|
-
// if we still don't have resolutions then attempt to calculate them
|
871
|
-
if(props.resolutions == null) {
|
872
|
-
props.resolutions = this.calculateResolutions(props);
|
873
|
-
}
|
874
|
-
|
875
|
-
// if we couldn't calculate resolutions then we look at we have
|
876
|
-
// in the map
|
877
|
-
if(props.resolutions == null) {
|
878
|
-
for(i=0, len=this.RESOLUTION_PROPERTIES.length; i<len; i++) {
|
879
|
-
p = this.RESOLUTION_PROPERTIES[i];
|
880
|
-
props[p] = this.options[p] != null ?
|
881
|
-
this.options[p] : this.map[p];
|
882
|
-
}
|
883
|
-
if(props.resolutions == null) {
|
884
|
-
props.resolutions = this.resolutionsFromScales(props.scales);
|
885
|
-
}
|
886
|
-
if(props.resolutions == null) {
|
887
|
-
props.resolutions = this.calculateResolutions(props);
|
888
|
-
}
|
889
|
-
}
|
890
|
-
|
891
|
-
// ok, we new need to set properties in the instance
|
892
|
-
|
893
|
-
// get maxResolution from the config if it's defined there
|
894
|
-
var maxResolution;
|
895
|
-
if(this.options.maxResolution &&
|
896
|
-
this.options.maxResolution !== "auto") {
|
897
|
-
maxResolution = this.options.maxResolution;
|
898
|
-
}
|
899
|
-
if(this.options.minScale) {
|
900
|
-
maxResolution = OpenLayers.Util.getResolutionFromScale(
|
901
|
-
this.options.minScale, this.units);
|
902
|
-
}
|
903
|
-
|
904
|
-
// get minResolution from the config if it's defined there
|
905
|
-
var minResolution;
|
906
|
-
if(this.options.minResolution &&
|
907
|
-
this.options.minResolution !== "auto") {
|
908
|
-
minResolution = this.options.minResolution;
|
909
|
-
}
|
910
|
-
if(this.options.maxScale) {
|
911
|
-
minResolution = OpenLayers.Util.getResolutionFromScale(
|
912
|
-
this.options.maxScale, this.units);
|
913
|
-
}
|
914
|
-
|
915
|
-
if(props.resolutions) {
|
916
|
-
|
917
|
-
//sort resolutions array descendingly
|
918
|
-
props.resolutions.sort(function(a, b) {
|
919
|
-
return (b - a);
|
920
|
-
});
|
921
|
-
|
922
|
-
// if we still don't have a maxResolution get it from the
|
923
|
-
// resolutions array
|
924
|
-
if(!maxResolution) {
|
925
|
-
maxResolution = props.resolutions[0];
|
926
|
-
}
|
927
|
-
|
928
|
-
// if we still don't have a minResolution get it from the
|
929
|
-
// resolutions array
|
930
|
-
if(!minResolution) {
|
931
|
-
var lastIdx = props.resolutions.length - 1;
|
932
|
-
minResolution = props.resolutions[lastIdx];
|
933
|
-
}
|
934
|
-
}
|
935
|
-
|
936
|
-
this.resolutions = props.resolutions;
|
937
|
-
if(this.resolutions) {
|
938
|
-
len = this.resolutions.length;
|
939
|
-
this.scales = new Array(len);
|
940
|
-
for(i=0; i<len; i++) {
|
941
|
-
this.scales[i] = OpenLayers.Util.getScaleFromResolution(
|
942
|
-
this.resolutions[i], this.units);
|
943
|
-
}
|
944
|
-
this.numZoomLevels = len;
|
945
|
-
}
|
946
|
-
this.minResolution = minResolution;
|
947
|
-
if(minResolution) {
|
948
|
-
this.maxScale = OpenLayers.Util.getScaleFromResolution(
|
949
|
-
minResolution, this.units);
|
950
|
-
}
|
951
|
-
this.maxResolution = maxResolution;
|
952
|
-
if(maxResolution) {
|
953
|
-
this.minScale = OpenLayers.Util.getScaleFromResolution(
|
954
|
-
maxResolution, this.units);
|
955
|
-
}
|
956
|
-
},
|
957
|
-
|
958
|
-
/**
|
959
|
-
* Method: resolutionsFromScales
|
960
|
-
* Derive resolutions from scales.
|
961
|
-
*
|
962
|
-
* Parameters:
|
963
|
-
* scales - {Array(Number)} Scales
|
964
|
-
*
|
965
|
-
* Returns
|
966
|
-
* {Array(Number)} Resolutions
|
967
|
-
*/
|
968
|
-
resolutionsFromScales: function(scales) {
|
969
|
-
if(scales == null) {
|
970
|
-
return;
|
971
|
-
}
|
972
|
-
var resolutions, i, len;
|
973
|
-
len = scales.length;
|
974
|
-
resolutions = new Array(len);
|
975
|
-
for(i=0; i<len; i++) {
|
976
|
-
resolutions[i] = OpenLayers.Util.getResolutionFromScale(
|
977
|
-
scales[i], this.units);
|
978
|
-
}
|
979
|
-
return resolutions;
|
980
|
-
},
|
981
|
-
|
982
|
-
/**
|
983
|
-
* Method: calculateResolutions
|
984
|
-
* Calculate resolutions based on the provided properties.
|
985
|
-
*
|
986
|
-
* Parameters:
|
987
|
-
* props - {Object} Properties
|
988
|
-
*
|
989
|
-
* Returns:
|
990
|
-
* {Array({Number})} Array of resolutions.
|
991
|
-
*/
|
992
|
-
calculateResolutions: function(props) {
|
993
|
-
|
994
|
-
var viewSize, wRes, hRes;
|
995
|
-
|
996
|
-
// determine maxResolution
|
997
|
-
var maxResolution = props.maxResolution;
|
998
|
-
if(props.minScale != null) {
|
999
|
-
maxResolution =
|
1000
|
-
OpenLayers.Util.getResolutionFromScale(props.minScale,
|
1001
|
-
this.units);
|
1002
|
-
} else if(maxResolution == "auto" && this.maxExtent != null) {
|
1003
|
-
viewSize = this.map.getSize();
|
1004
|
-
wRes = this.maxExtent.getWidth() / viewSize.w;
|
1005
|
-
hRes = this.maxExtent.getHeight() / viewSize.h;
|
1006
|
-
maxResolution = Math.max(wRes, hRes);
|
1007
|
-
}
|
1008
|
-
|
1009
|
-
// determine minResolution
|
1010
|
-
var minResolution = props.minResolution;
|
1011
|
-
if(props.maxScale != null) {
|
1012
|
-
minResolution =
|
1013
|
-
OpenLayers.Util.getResolutionFromScale(props.maxScale,
|
1014
|
-
this.units);
|
1015
|
-
} else if(props.minResolution == "auto" && this.minExtent != null) {
|
1016
|
-
viewSize = this.map.getSize();
|
1017
|
-
wRes = this.minExtent.getWidth() / viewSize.w;
|
1018
|
-
hRes = this.minExtent.getHeight()/ viewSize.h;
|
1019
|
-
minResolution = Math.max(wRes, hRes);
|
1020
|
-
}
|
1021
|
-
|
1022
|
-
if(typeof maxResolution !== "number" &&
|
1023
|
-
typeof minResolution !== "number" &&
|
1024
|
-
this.maxExtent != null) {
|
1025
|
-
// maxResolution for default grid sets assumes that at zoom
|
1026
|
-
// level zero, the whole world fits on one tile.
|
1027
|
-
var tileSize = this.map.getTileSize();
|
1028
|
-
maxResolution = Math.max(
|
1029
|
-
this.maxExtent.getWidth() / tileSize.w,
|
1030
|
-
this.maxExtent.getHeight() / tileSize.h
|
1031
|
-
);
|
1032
|
-
}
|
1033
|
-
|
1034
|
-
// determine numZoomLevels
|
1035
|
-
var maxZoomLevel = props.maxZoomLevel;
|
1036
|
-
var numZoomLevels = props.numZoomLevels;
|
1037
|
-
if(typeof minResolution === "number" &&
|
1038
|
-
typeof maxResolution === "number" && numZoomLevels === undefined) {
|
1039
|
-
var ratio = maxResolution / minResolution;
|
1040
|
-
numZoomLevels = Math.floor(Math.log(ratio) / Math.log(2)) + 1;
|
1041
|
-
} else if(numZoomLevels === undefined && maxZoomLevel != null) {
|
1042
|
-
numZoomLevels = maxZoomLevel + 1;
|
1043
|
-
}
|
1044
|
-
|
1045
|
-
// are we able to calculate resolutions?
|
1046
|
-
if(typeof numZoomLevels !== "number" || numZoomLevels <= 0 ||
|
1047
|
-
(typeof maxResolution !== "number" &&
|
1048
|
-
typeof minResolution !== "number")) {
|
1049
|
-
return;
|
1050
|
-
}
|
1051
|
-
|
1052
|
-
// now we have numZoomLevels and at least one of maxResolution
|
1053
|
-
// or minResolution, we can populate the resolutions array
|
1054
|
-
|
1055
|
-
var resolutions = new Array(numZoomLevels);
|
1056
|
-
var base = 2;
|
1057
|
-
if(typeof minResolution == "number" &&
|
1058
|
-
typeof maxResolution == "number") {
|
1059
|
-
// if maxResolution and minResolution are set, we calculate
|
1060
|
-
// the base for exponential scaling that starts at
|
1061
|
-
// maxResolution and ends at minResolution in numZoomLevels
|
1062
|
-
// steps.
|
1063
|
-
base = Math.pow(
|
1064
|
-
(maxResolution / minResolution),
|
1065
|
-
(1 / (numZoomLevels - 1))
|
1066
|
-
);
|
1067
|
-
}
|
1068
|
-
|
1069
|
-
var i;
|
1070
|
-
if(typeof maxResolution === "number") {
|
1071
|
-
for(i=0; i<numZoomLevels; i++) {
|
1072
|
-
resolutions[i] = maxResolution / Math.pow(base, i);
|
1073
|
-
}
|
1074
|
-
} else {
|
1075
|
-
for(i=0; i<numZoomLevels; i++) {
|
1076
|
-
resolutions[numZoomLevels - 1 - i] =
|
1077
|
-
minResolution * Math.pow(base, i);
|
1078
|
-
}
|
1079
|
-
}
|
1080
|
-
|
1081
|
-
return resolutions;
|
1082
|
-
},
|
1083
|
-
|
1084
|
-
/**
|
1085
|
-
* APIMethod: getResolution
|
1086
|
-
*
|
1087
|
-
* Returns:
|
1088
|
-
* {Float} The currently selected resolution of the map, taken from the
|
1089
|
-
* resolutions array, indexed by current zoom level.
|
1090
|
-
*/
|
1091
|
-
getResolution: function() {
|
1092
|
-
var zoom = this.map.getZoom();
|
1093
|
-
return this.getResolutionForZoom(zoom);
|
1094
|
-
},
|
1095
|
-
|
1096
|
-
/**
|
1097
|
-
* APIMethod: getExtent
|
1098
|
-
*
|
1099
|
-
* Returns:
|
1100
|
-
* {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat
|
1101
|
-
* bounds of the current viewPort.
|
1102
|
-
*/
|
1103
|
-
getExtent: function() {
|
1104
|
-
// just use stock map calculateBounds function -- passing no arguments
|
1105
|
-
// means it will user map's current center & resolution
|
1106
|
-
//
|
1107
|
-
return this.map.calculateBounds();
|
1108
|
-
},
|
1109
|
-
|
1110
|
-
/**
|
1111
|
-
* APIMethod: getZoomForExtent
|
1112
|
-
*
|
1113
|
-
* Parameters:
|
1114
|
-
* extent - {<OpenLayers.Bounds>}
|
1115
|
-
* closest - {Boolean} Find the zoom level that most closely fits the
|
1116
|
-
* specified bounds. Note that this may result in a zoom that does
|
1117
|
-
* not exactly contain the entire extent.
|
1118
|
-
* Default is false.
|
1119
|
-
*
|
1120
|
-
* Returns:
|
1121
|
-
* {Integer} The index of the zoomLevel (entry in the resolutions array)
|
1122
|
-
* for the passed-in extent. We do this by calculating the ideal
|
1123
|
-
* resolution for the given extent (based on the map size) and then
|
1124
|
-
* calling getZoomForResolution(), passing along the 'closest'
|
1125
|
-
* parameter.
|
1126
|
-
*/
|
1127
|
-
getZoomForExtent: function(extent, closest) {
|
1128
|
-
var viewSize = this.map.getSize();
|
1129
|
-
var idealResolution = Math.max( extent.getWidth() / viewSize.w,
|
1130
|
-
extent.getHeight() / viewSize.h );
|
1131
|
-
|
1132
|
-
return this.getZoomForResolution(idealResolution, closest);
|
1133
|
-
},
|
1134
|
-
|
1135
|
-
/**
|
1136
|
-
* Method: getDataExtent
|
1137
|
-
* Calculates the max extent which includes all of the data for the layer.
|
1138
|
-
* This function is to be implemented by subclasses.
|
1139
|
-
*
|
1140
|
-
* Returns:
|
1141
|
-
* {<OpenLayers.Bounds>}
|
1142
|
-
*/
|
1143
|
-
getDataExtent: function () {
|
1144
|
-
//to be implemented by subclasses
|
1145
|
-
},
|
1146
|
-
|
1147
|
-
/**
|
1148
|
-
* APIMethod: getResolutionForZoom
|
1149
|
-
*
|
1150
|
-
* Parameters:
|
1151
|
-
* zoom - {Float}
|
1152
|
-
*
|
1153
|
-
* Returns:
|
1154
|
-
* {Float} A suitable resolution for the specified zoom.
|
1155
|
-
*/
|
1156
|
-
getResolutionForZoom: function(zoom) {
|
1157
|
-
zoom = Math.max(0, Math.min(zoom, this.resolutions.length - 1));
|
1158
|
-
var resolution;
|
1159
|
-
if(this.map.fractionalZoom) {
|
1160
|
-
var low = Math.floor(zoom);
|
1161
|
-
var high = Math.ceil(zoom);
|
1162
|
-
resolution = this.resolutions[low] -
|
1163
|
-
((zoom-low) * (this.resolutions[low]-this.resolutions[high]));
|
1164
|
-
} else {
|
1165
|
-
resolution = this.resolutions[Math.round(zoom)];
|
1166
|
-
}
|
1167
|
-
return resolution;
|
1168
|
-
},
|
1169
|
-
|
1170
|
-
/**
|
1171
|
-
* APIMethod: getZoomForResolution
|
1172
|
-
*
|
1173
|
-
* Parameters:
|
1174
|
-
* resolution - {Float}
|
1175
|
-
* closest - {Boolean} Find the zoom level that corresponds to the absolute
|
1176
|
-
* closest resolution, which may result in a zoom whose corresponding
|
1177
|
-
* resolution is actually smaller than we would have desired (if this
|
1178
|
-
* is being called from a getZoomForExtent() call, then this means that
|
1179
|
-
* the returned zoom index might not actually contain the entire
|
1180
|
-
* extent specified... but it'll be close).
|
1181
|
-
* Default is false.
|
1182
|
-
*
|
1183
|
-
* Returns:
|
1184
|
-
* {Integer} The index of the zoomLevel (entry in the resolutions array)
|
1185
|
-
* that corresponds to the best fit resolution given the passed in
|
1186
|
-
* value and the 'closest' specification.
|
1187
|
-
*/
|
1188
|
-
getZoomForResolution: function(resolution, closest) {
|
1189
|
-
var zoom, i, len;
|
1190
|
-
if(this.map.fractionalZoom) {
|
1191
|
-
var lowZoom = 0;
|
1192
|
-
var highZoom = this.resolutions.length - 1;
|
1193
|
-
var highRes = this.resolutions[lowZoom];
|
1194
|
-
var lowRes = this.resolutions[highZoom];
|
1195
|
-
var res;
|
1196
|
-
for(i=0, len=this.resolutions.length; i<len; ++i) {
|
1197
|
-
res = this.resolutions[i];
|
1198
|
-
if(res >= resolution) {
|
1199
|
-
highRes = res;
|
1200
|
-
lowZoom = i;
|
1201
|
-
}
|
1202
|
-
if(res <= resolution) {
|
1203
|
-
lowRes = res;
|
1204
|
-
highZoom = i;
|
1205
|
-
break;
|
1206
|
-
}
|
1207
|
-
}
|
1208
|
-
var dRes = highRes - lowRes;
|
1209
|
-
if(dRes > 0) {
|
1210
|
-
zoom = lowZoom + ((highRes - resolution) / dRes);
|
1211
|
-
} else {
|
1212
|
-
zoom = lowZoom;
|
1213
|
-
}
|
1214
|
-
} else {
|
1215
|
-
var diff;
|
1216
|
-
var minDiff = Number.POSITIVE_INFINITY;
|
1217
|
-
for(i=0, len=this.resolutions.length; i<len; i++) {
|
1218
|
-
if (closest) {
|
1219
|
-
diff = Math.abs(this.resolutions[i] - resolution);
|
1220
|
-
if (diff > minDiff) {
|
1221
|
-
break;
|
1222
|
-
}
|
1223
|
-
minDiff = diff;
|
1224
|
-
} else {
|
1225
|
-
if (this.resolutions[i] < resolution) {
|
1226
|
-
break;
|
1227
|
-
}
|
1228
|
-
}
|
1229
|
-
}
|
1230
|
-
zoom = Math.max(0, i-1);
|
1231
|
-
}
|
1232
|
-
return zoom;
|
1233
|
-
},
|
1234
|
-
|
1235
|
-
/**
|
1236
|
-
* APIMethod: getLonLatFromViewPortPx
|
1237
|
-
*
|
1238
|
-
* Parameters:
|
1239
|
-
* viewPortPx - {<OpenLayers.Pixel>|Object} An OpenLayers.Pixel or
|
1240
|
-
* an object with a 'x'
|
1241
|
-
* and 'y' properties.
|
1242
|
-
*
|
1243
|
-
* Returns:
|
1244
|
-
* {<OpenLayers.LonLat>} An OpenLayers.LonLat which is the passed-in
|
1245
|
-
* view port <OpenLayers.Pixel>, translated into lon/lat by the layer.
|
1246
|
-
*/
|
1247
|
-
getLonLatFromViewPortPx: function (viewPortPx) {
|
1248
|
-
var lonlat = null;
|
1249
|
-
var map = this.map;
|
1250
|
-
if (viewPortPx != null && map.minPx) {
|
1251
|
-
var res = map.getResolution();
|
1252
|
-
var maxExtent = map.getMaxExtent({restricted: true});
|
1253
|
-
var lon = (viewPortPx.x - map.minPx.x) * res + maxExtent.left;
|
1254
|
-
var lat = (map.minPx.y - viewPortPx.y) * res + maxExtent.top;
|
1255
|
-
lonlat = new OpenLayers.LonLat(lon, lat);
|
1256
|
-
|
1257
|
-
if (this.wrapDateLine) {
|
1258
|
-
lonlat = lonlat.wrapDateLine(this.maxExtent);
|
1259
|
-
}
|
1260
|
-
}
|
1261
|
-
return lonlat;
|
1262
|
-
},
|
1263
|
-
|
1264
|
-
/**
|
1265
|
-
* APIMethod: getViewPortPxFromLonLat
|
1266
|
-
* Returns a pixel location given a map location. This method will return
|
1267
|
-
* fractional pixel values.
|
1268
|
-
*
|
1269
|
-
* Parameters:
|
1270
|
-
* lonlat - {<OpenLayers.LonLat>|Object} An OpenLayers.LonLat or
|
1271
|
-
* an object with a 'lon'
|
1272
|
-
* and 'lat' properties.
|
1273
|
-
*
|
1274
|
-
* Returns:
|
1275
|
-
* {<OpenLayers.Pixel>} An <OpenLayers.Pixel> which is the passed-in
|
1276
|
-
* lonlat translated into view port pixels.
|
1277
|
-
*/
|
1278
|
-
getViewPortPxFromLonLat: function (lonlat, resolution) {
|
1279
|
-
var px = null;
|
1280
|
-
if (lonlat != null) {
|
1281
|
-
resolution = resolution || this.map.getResolution();
|
1282
|
-
var extent = this.map.calculateBounds(null, resolution);
|
1283
|
-
px = new OpenLayers.Pixel(
|
1284
|
-
(1/resolution * (lonlat.lon - extent.left)),
|
1285
|
-
(1/resolution * (extent.top - lonlat.lat))
|
1286
|
-
);
|
1287
|
-
}
|
1288
|
-
return px;
|
1289
|
-
},
|
1290
|
-
|
1291
|
-
/**
|
1292
|
-
* APIMethod: setOpacity
|
1293
|
-
* Sets the opacity for the entire layer (all images)
|
1294
|
-
*
|
1295
|
-
* Parameters:
|
1296
|
-
* opacity - {Float}
|
1297
|
-
*/
|
1298
|
-
setOpacity: function(opacity) {
|
1299
|
-
if (opacity != this.opacity) {
|
1300
|
-
this.opacity = opacity;
|
1301
|
-
var childNodes = this.div.childNodes;
|
1302
|
-
for(var i = 0, len = childNodes.length; i < len; ++i) {
|
1303
|
-
var element = childNodes[i].firstChild || childNodes[i];
|
1304
|
-
var lastChild = childNodes[i].lastChild;
|
1305
|
-
//TODO de-uglify this
|
1306
|
-
if (lastChild && lastChild.nodeName.toLowerCase() === "iframe") {
|
1307
|
-
element = lastChild.parentNode;
|
1308
|
-
}
|
1309
|
-
OpenLayers.Util.modifyDOMElement(element, null, null, null,
|
1310
|
-
null, null, null, opacity);
|
1311
|
-
}
|
1312
|
-
if (this.map != null) {
|
1313
|
-
this.map.events.triggerEvent("changelayer", {
|
1314
|
-
layer: this,
|
1315
|
-
property: "opacity"
|
1316
|
-
});
|
1317
|
-
}
|
1318
|
-
}
|
1319
|
-
},
|
1320
|
-
|
1321
|
-
/**
|
1322
|
-
* Method: getZIndex
|
1323
|
-
*
|
1324
|
-
* Returns:
|
1325
|
-
* {Integer} the z-index of this layer
|
1326
|
-
*/
|
1327
|
-
getZIndex: function () {
|
1328
|
-
return this.div.style.zIndex;
|
1329
|
-
},
|
1330
|
-
|
1331
|
-
/**
|
1332
|
-
* Method: setZIndex
|
1333
|
-
*
|
1334
|
-
* Parameters:
|
1335
|
-
* zIndex - {Integer}
|
1336
|
-
*/
|
1337
|
-
setZIndex: function (zIndex) {
|
1338
|
-
this.div.style.zIndex = zIndex;
|
1339
|
-
},
|
1340
|
-
|
1341
|
-
/**
|
1342
|
-
* Method: adjustBounds
|
1343
|
-
* This function will take a bounds, and if wrapDateLine option is set
|
1344
|
-
* on the layer, it will return a bounds which is wrapped around the
|
1345
|
-
* world. We do not wrap for bounds which *cross* the
|
1346
|
-
* maxExtent.left/right, only bounds which are entirely to the left
|
1347
|
-
* or entirely to the right.
|
1348
|
-
*
|
1349
|
-
* Parameters:
|
1350
|
-
* bounds - {<OpenLayers.Bounds>}
|
1351
|
-
*/
|
1352
|
-
adjustBounds: function (bounds) {
|
1353
|
-
|
1354
|
-
if (this.gutter) {
|
1355
|
-
// Adjust the extent of a bounds in map units by the
|
1356
|
-
// layer's gutter in pixels.
|
1357
|
-
var mapGutter = this.gutter * this.map.getResolution();
|
1358
|
-
bounds = new OpenLayers.Bounds(bounds.left - mapGutter,
|
1359
|
-
bounds.bottom - mapGutter,
|
1360
|
-
bounds.right + mapGutter,
|
1361
|
-
bounds.top + mapGutter);
|
1362
|
-
}
|
1363
|
-
|
1364
|
-
if (this.wrapDateLine) {
|
1365
|
-
// wrap around the date line, within the limits of rounding error
|
1366
|
-
var wrappingOptions = {
|
1367
|
-
'rightTolerance':this.getResolution(),
|
1368
|
-
'leftTolerance':this.getResolution()
|
1369
|
-
};
|
1370
|
-
bounds = bounds.wrapDateLine(this.maxExtent, wrappingOptions);
|
1371
|
-
|
1372
|
-
}
|
1373
|
-
return bounds;
|
1374
|
-
},
|
1375
|
-
|
1376
|
-
CLASS_NAME: "OpenLayers.Layer"
|
1377
|
-
});
|