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,351 +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/Layer/Google.js
|
9
|
-
*/
|
10
|
-
|
11
|
-
/**
|
12
|
-
* Constant: OpenLayers.Layer.Google.v3
|
13
|
-
*
|
14
|
-
* Mixin providing functionality specific to the Google Maps API v3.
|
15
|
-
*
|
16
|
-
* To use this layer, you must include the GMaps v3 API in your html.
|
17
|
-
*
|
18
|
-
* Note that this layer configures the google.maps.map object with the
|
19
|
-
* "disableDefaultUI" option set to true. Using UI controls that the Google
|
20
|
-
* Maps API provides is not supported by the OpenLayers API.
|
21
|
-
*/
|
22
|
-
OpenLayers.Layer.Google.v3 = {
|
23
|
-
|
24
|
-
/**
|
25
|
-
* Constant: DEFAULTS
|
26
|
-
* {Object} It is not recommended to change the properties set here. Note
|
27
|
-
* that Google.v3 layers only work when sphericalMercator is set to true.
|
28
|
-
*
|
29
|
-
* (code)
|
30
|
-
* {
|
31
|
-
* sphericalMercator: true,
|
32
|
-
* projection: "EPSG:900913"
|
33
|
-
* }
|
34
|
-
* (end)
|
35
|
-
*/
|
36
|
-
DEFAULTS: {
|
37
|
-
sphericalMercator: true,
|
38
|
-
projection: "EPSG:900913"
|
39
|
-
},
|
40
|
-
|
41
|
-
/**
|
42
|
-
* APIProperty: animationEnabled
|
43
|
-
* {Boolean} If set to true, the transition between zoom levels will be
|
44
|
-
* animated (if supported by the GMaps API for the device used). Set to
|
45
|
-
* false to match the zooming experience of other layer types. Default
|
46
|
-
* is true. Note that the GMaps API does not give us control over zoom
|
47
|
-
* animation, so if set to false, when zooming, this will make the
|
48
|
-
* layer temporarily invisible, wait until GMaps reports the map being
|
49
|
-
* idle, and make it visible again. The result will be a blank layer
|
50
|
-
* for a few moments while zooming.
|
51
|
-
*/
|
52
|
-
animationEnabled: true,
|
53
|
-
|
54
|
-
/**
|
55
|
-
* Method: loadMapObject
|
56
|
-
* Load the GMap and register appropriate event listeners.
|
57
|
-
*/
|
58
|
-
loadMapObject: function() {
|
59
|
-
if (!this.type) {
|
60
|
-
this.type = google.maps.MapTypeId.ROADMAP;
|
61
|
-
}
|
62
|
-
var mapObject;
|
63
|
-
var cache = OpenLayers.Layer.Google.cache[this.map.id];
|
64
|
-
if (cache) {
|
65
|
-
// there are already Google layers added to this map
|
66
|
-
mapObject = cache.mapObject;
|
67
|
-
// increment the layer count
|
68
|
-
++cache.count;
|
69
|
-
} else {
|
70
|
-
// this is the first Google layer for this map
|
71
|
-
// create GMap
|
72
|
-
var center = this.map.getCenter();
|
73
|
-
var container = document.createElement('div');
|
74
|
-
container.className = "olForeignContainer";
|
75
|
-
container.style.width = '100%';
|
76
|
-
container.style.height = '100%';
|
77
|
-
mapObject = new google.maps.Map(container, {
|
78
|
-
center: center ?
|
79
|
-
new google.maps.LatLng(center.lat, center.lon) :
|
80
|
-
new google.maps.LatLng(0, 0),
|
81
|
-
zoom: this.map.getZoom() || 0,
|
82
|
-
mapTypeId: this.type,
|
83
|
-
disableDefaultUI: true,
|
84
|
-
keyboardShortcuts: false,
|
85
|
-
draggable: false,
|
86
|
-
disableDoubleClickZoom: true,
|
87
|
-
scrollwheel: false,
|
88
|
-
streetViewControl: false
|
89
|
-
});
|
90
|
-
var googleControl = document.createElement('div');
|
91
|
-
googleControl.style.width = '100%';
|
92
|
-
googleControl.style.height = '100%';
|
93
|
-
mapObject.controls[google.maps.ControlPosition.TOP_LEFT].push(googleControl);
|
94
|
-
|
95
|
-
// cache elements for use by any other google layers added to
|
96
|
-
// this same map
|
97
|
-
cache = {
|
98
|
-
googleControl: googleControl,
|
99
|
-
mapObject: mapObject,
|
100
|
-
count: 1
|
101
|
-
};
|
102
|
-
OpenLayers.Layer.Google.cache[this.map.id] = cache;
|
103
|
-
}
|
104
|
-
this.mapObject = mapObject;
|
105
|
-
this.setGMapVisibility(this.visibility);
|
106
|
-
},
|
107
|
-
|
108
|
-
/**
|
109
|
-
* APIMethod: onMapResize
|
110
|
-
*/
|
111
|
-
onMapResize: function() {
|
112
|
-
if (this.visibility) {
|
113
|
-
google.maps.event.trigger(this.mapObject, "resize");
|
114
|
-
}
|
115
|
-
},
|
116
|
-
|
117
|
-
/**
|
118
|
-
* Method: setGMapVisibility
|
119
|
-
* Display the GMap container and associated elements.
|
120
|
-
*
|
121
|
-
* Parameters:
|
122
|
-
* visible - {Boolean} Display the GMap elements.
|
123
|
-
*/
|
124
|
-
setGMapVisibility: function(visible) {
|
125
|
-
var cache = OpenLayers.Layer.Google.cache[this.map.id];
|
126
|
-
var map = this.map;
|
127
|
-
if (cache) {
|
128
|
-
var type = this.type;
|
129
|
-
var layers = map.layers;
|
130
|
-
var layer;
|
131
|
-
for (var i=layers.length-1; i>=0; --i) {
|
132
|
-
layer = layers[i];
|
133
|
-
if (layer instanceof OpenLayers.Layer.Google &&
|
134
|
-
layer.visibility === true && layer.inRange === true) {
|
135
|
-
type = layer.type;
|
136
|
-
visible = true;
|
137
|
-
break;
|
138
|
-
}
|
139
|
-
}
|
140
|
-
var container = this.mapObject.getDiv();
|
141
|
-
if (visible === true) {
|
142
|
-
if (container.parentNode !== map.div) {
|
143
|
-
if (!cache.rendered) {
|
144
|
-
var me = this;
|
145
|
-
google.maps.event.addListenerOnce(this.mapObject, 'tilesloaded', function() {
|
146
|
-
cache.rendered = true;
|
147
|
-
me.setGMapVisibility(me.getVisibility());
|
148
|
-
me.moveTo(me.map.getCenter());
|
149
|
-
});
|
150
|
-
} else {
|
151
|
-
map.div.appendChild(container);
|
152
|
-
cache.googleControl.appendChild(map.viewPortDiv);
|
153
|
-
google.maps.event.trigger(this.mapObject, 'resize');
|
154
|
-
}
|
155
|
-
}
|
156
|
-
this.mapObject.setMapTypeId(type);
|
157
|
-
} else if (cache.googleControl.hasChildNodes()) {
|
158
|
-
map.div.appendChild(map.viewPortDiv);
|
159
|
-
map.div.removeChild(container);
|
160
|
-
}
|
161
|
-
}
|
162
|
-
},
|
163
|
-
|
164
|
-
/**
|
165
|
-
* Method: getMapContainer
|
166
|
-
*
|
167
|
-
* Returns:
|
168
|
-
* {DOMElement} the GMap container's div
|
169
|
-
*/
|
170
|
-
getMapContainer: function() {
|
171
|
-
return this.mapObject.getDiv();
|
172
|
-
},
|
173
|
-
|
174
|
-
//
|
175
|
-
// TRANSLATION: MapObject Bounds <-> OpenLayers.Bounds
|
176
|
-
//
|
177
|
-
|
178
|
-
/**
|
179
|
-
* APIMethod: getMapObjectBoundsFromOLBounds
|
180
|
-
*
|
181
|
-
* Parameters:
|
182
|
-
* olBounds - {<OpenLayers.Bounds>}
|
183
|
-
*
|
184
|
-
* Returns:
|
185
|
-
* {Object} A MapObject Bounds, translated from olBounds
|
186
|
-
* Returns null if null value is passed in
|
187
|
-
*/
|
188
|
-
getMapObjectBoundsFromOLBounds: function(olBounds) {
|
189
|
-
var moBounds = null;
|
190
|
-
if (olBounds != null) {
|
191
|
-
var sw = this.sphericalMercator ?
|
192
|
-
this.inverseMercator(olBounds.bottom, olBounds.left) :
|
193
|
-
new OpenLayers.LonLat(olBounds.bottom, olBounds.left);
|
194
|
-
var ne = this.sphericalMercator ?
|
195
|
-
this.inverseMercator(olBounds.top, olBounds.right) :
|
196
|
-
new OpenLayers.LonLat(olBounds.top, olBounds.right);
|
197
|
-
moBounds = new google.maps.LatLngBounds(
|
198
|
-
new google.maps.LatLng(sw.lat, sw.lon),
|
199
|
-
new google.maps.LatLng(ne.lat, ne.lon)
|
200
|
-
);
|
201
|
-
}
|
202
|
-
return moBounds;
|
203
|
-
},
|
204
|
-
|
205
|
-
|
206
|
-
/************************************
|
207
|
-
* *
|
208
|
-
* MapObject Interface Controls *
|
209
|
-
* *
|
210
|
-
************************************/
|
211
|
-
|
212
|
-
|
213
|
-
// LonLat - Pixel Translation
|
214
|
-
|
215
|
-
/**
|
216
|
-
* APIMethod: getMapObjectLonLatFromMapObjectPixel
|
217
|
-
*
|
218
|
-
* Parameters:
|
219
|
-
* moPixel - {Object} MapObject Pixel format
|
220
|
-
*
|
221
|
-
* Returns:
|
222
|
-
* {Object} MapObject LonLat translated from MapObject Pixel
|
223
|
-
*/
|
224
|
-
getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
|
225
|
-
var size = this.map.getSize();
|
226
|
-
var lon = this.getLongitudeFromMapObjectLonLat(this.mapObject.center);
|
227
|
-
var lat = this.getLatitudeFromMapObjectLonLat(this.mapObject.center);
|
228
|
-
var res = this.map.getResolution();
|
229
|
-
|
230
|
-
var delta_x = moPixel.x - (size.w / 2);
|
231
|
-
var delta_y = moPixel.y - (size.h / 2);
|
232
|
-
|
233
|
-
var lonlat = new OpenLayers.LonLat(
|
234
|
-
lon + delta_x * res,
|
235
|
-
lat - delta_y * res
|
236
|
-
);
|
237
|
-
|
238
|
-
if (this.wrapDateLine) {
|
239
|
-
lonlat = lonlat.wrapDateLine(this.maxExtent);
|
240
|
-
}
|
241
|
-
return this.getMapObjectLonLatFromLonLat(lonlat.lon, lonlat.lat);
|
242
|
-
},
|
243
|
-
|
244
|
-
/**
|
245
|
-
* APIMethod: getMapObjectPixelFromMapObjectLonLat
|
246
|
-
*
|
247
|
-
* Parameters:
|
248
|
-
* moLonLat - {Object} MapObject LonLat format
|
249
|
-
*
|
250
|
-
* Returns:
|
251
|
-
* {Object} MapObject Pixel transtlated from MapObject LonLat
|
252
|
-
*/
|
253
|
-
getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
|
254
|
-
var lon = this.getLongitudeFromMapObjectLonLat(moLonLat);
|
255
|
-
var lat = this.getLatitudeFromMapObjectLonLat(moLonLat);
|
256
|
-
var res = this.map.getResolution();
|
257
|
-
var extent = this.map.getExtent();
|
258
|
-
return this.getMapObjectPixelFromXY((1/res * (lon - extent.left)),
|
259
|
-
(1/res * (extent.top - lat)));
|
260
|
-
},
|
261
|
-
|
262
|
-
|
263
|
-
/**
|
264
|
-
* APIMethod: setMapObjectCenter
|
265
|
-
* Set the mapObject to the specified center and zoom
|
266
|
-
*
|
267
|
-
* Parameters:
|
268
|
-
* center - {Object} MapObject LonLat format
|
269
|
-
* zoom - {int} MapObject zoom format
|
270
|
-
*/
|
271
|
-
setMapObjectCenter: function(center, zoom) {
|
272
|
-
if (this.animationEnabled === false && zoom != this.mapObject.zoom) {
|
273
|
-
var mapContainer = this.getMapContainer();
|
274
|
-
google.maps.event.addListenerOnce(
|
275
|
-
this.mapObject,
|
276
|
-
"idle",
|
277
|
-
function() {
|
278
|
-
mapContainer.style.visibility = "";
|
279
|
-
}
|
280
|
-
);
|
281
|
-
mapContainer.style.visibility = "hidden";
|
282
|
-
}
|
283
|
-
this.mapObject.setOptions({
|
284
|
-
center: center,
|
285
|
-
zoom: zoom
|
286
|
-
});
|
287
|
-
},
|
288
|
-
|
289
|
-
|
290
|
-
// Bounds
|
291
|
-
|
292
|
-
/**
|
293
|
-
* APIMethod: getMapObjectZoomFromMapObjectBounds
|
294
|
-
*
|
295
|
-
* Parameters:
|
296
|
-
* moBounds - {Object} MapObject Bounds format
|
297
|
-
*
|
298
|
-
* Returns:
|
299
|
-
* {Object} MapObject Zoom for specified MapObject Bounds
|
300
|
-
*/
|
301
|
-
getMapObjectZoomFromMapObjectBounds: function(moBounds) {
|
302
|
-
return this.mapObject.getBoundsZoomLevel(moBounds);
|
303
|
-
},
|
304
|
-
|
305
|
-
/************************************
|
306
|
-
* *
|
307
|
-
* MapObject Primitives *
|
308
|
-
* *
|
309
|
-
************************************/
|
310
|
-
|
311
|
-
|
312
|
-
// LonLat
|
313
|
-
|
314
|
-
/**
|
315
|
-
* APIMethod: getMapObjectLonLatFromLonLat
|
316
|
-
*
|
317
|
-
* Parameters:
|
318
|
-
* lon - {Float}
|
319
|
-
* lat - {Float}
|
320
|
-
*
|
321
|
-
* Returns:
|
322
|
-
* {Object} MapObject LonLat built from lon and lat params
|
323
|
-
*/
|
324
|
-
getMapObjectLonLatFromLonLat: function(lon, lat) {
|
325
|
-
var gLatLng;
|
326
|
-
if(this.sphericalMercator) {
|
327
|
-
var lonlat = this.inverseMercator(lon, lat);
|
328
|
-
gLatLng = new google.maps.LatLng(lonlat.lat, lonlat.lon);
|
329
|
-
} else {
|
330
|
-
gLatLng = new google.maps.LatLng(lat, lon);
|
331
|
-
}
|
332
|
-
return gLatLng;
|
333
|
-
},
|
334
|
-
|
335
|
-
// Pixel
|
336
|
-
|
337
|
-
/**
|
338
|
-
* APIMethod: getMapObjectPixelFromXY
|
339
|
-
*
|
340
|
-
* Parameters:
|
341
|
-
* x - {Integer}
|
342
|
-
* y - {Integer}
|
343
|
-
*
|
344
|
-
* Returns:
|
345
|
-
* {Object} MapObject Pixel from x and y parameters
|
346
|
-
*/
|
347
|
-
getMapObjectPixelFromXY: function(x, y) {
|
348
|
-
return new google.maps.Point(x, y);
|
349
|
-
}
|
350
|
-
|
351
|
-
};
|
@@ -1,1343 +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/Layer/HTTPRequest.js
|
9
|
-
* @requires OpenLayers/Tile/Image.js
|
10
|
-
*/
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Class: OpenLayers.Layer.Grid
|
14
|
-
* Base class for layers that use a lattice of tiles. Create a new grid
|
15
|
-
* layer with the <OpenLayers.Layer.Grid> constructor.
|
16
|
-
*
|
17
|
-
* Inherits from:
|
18
|
-
* - <OpenLayers.Layer.HTTPRequest>
|
19
|
-
*/
|
20
|
-
OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
21
|
-
|
22
|
-
/**
|
23
|
-
* APIProperty: tileSize
|
24
|
-
* {<OpenLayers.Size>}
|
25
|
-
*/
|
26
|
-
tileSize: null,
|
27
|
-
|
28
|
-
/**
|
29
|
-
* Property: tileOriginCorner
|
30
|
-
* {String} If the <tileOrigin> property is not provided, the tile origin
|
31
|
-
* will be derived from the layer's <maxExtent>. The corner of the
|
32
|
-
* <maxExtent> used is determined by this property. Acceptable values
|
33
|
-
* are "tl" (top left), "tr" (top right), "bl" (bottom left), and "br"
|
34
|
-
* (bottom right). Default is "bl".
|
35
|
-
*/
|
36
|
-
tileOriginCorner: "bl",
|
37
|
-
|
38
|
-
/**
|
39
|
-
* APIProperty: tileOrigin
|
40
|
-
* {<OpenLayers.LonLat>} Optional origin for aligning the grid of tiles.
|
41
|
-
* If provided, requests for tiles at all resolutions will be aligned
|
42
|
-
* with this location (no tiles shall overlap this location). If
|
43
|
-
* not provided, the grid of tiles will be aligned with the layer's
|
44
|
-
* <maxExtent>. Default is ``null``.
|
45
|
-
*/
|
46
|
-
tileOrigin: null,
|
47
|
-
|
48
|
-
/** APIProperty: tileOptions
|
49
|
-
* {Object} optional configuration options for <OpenLayers.Tile> instances
|
50
|
-
* created by this Layer, if supported by the tile class.
|
51
|
-
*/
|
52
|
-
tileOptions: null,
|
53
|
-
|
54
|
-
/**
|
55
|
-
* APIProperty: tileClass
|
56
|
-
* {<OpenLayers.Tile>} The tile class to use for this layer.
|
57
|
-
* Defaults is OpenLayers.Tile.Image.
|
58
|
-
*/
|
59
|
-
tileClass: OpenLayers.Tile.Image,
|
60
|
-
|
61
|
-
/**
|
62
|
-
* Property: grid
|
63
|
-
* {Array(Array(<OpenLayers.Tile>))} This is an array of rows, each row is
|
64
|
-
* an array of tiles.
|
65
|
-
*/
|
66
|
-
grid: null,
|
67
|
-
|
68
|
-
/**
|
69
|
-
* APIProperty: singleTile
|
70
|
-
* {Boolean} Moves the layer into single-tile mode, meaning that one tile
|
71
|
-
* will be loaded. The tile's size will be determined by the 'ratio'
|
72
|
-
* property. When the tile is dragged such that it does not cover the
|
73
|
-
* entire viewport, it is reloaded.
|
74
|
-
*/
|
75
|
-
singleTile: false,
|
76
|
-
|
77
|
-
/** APIProperty: ratio
|
78
|
-
* {Float} Used only when in single-tile mode, this specifies the
|
79
|
-
* ratio of the size of the single tile to the size of the map.
|
80
|
-
* Default value is 1.5.
|
81
|
-
*/
|
82
|
-
ratio: 1.5,
|
83
|
-
|
84
|
-
/**
|
85
|
-
* APIProperty: buffer
|
86
|
-
* {Integer} Used only when in gridded mode, this specifies the number of
|
87
|
-
* extra rows and colums of tiles on each side which will
|
88
|
-
* surround the minimum grid tiles to cover the map.
|
89
|
-
* For very slow loading layers, a larger value may increase
|
90
|
-
* performance somewhat when dragging, but will increase bandwidth
|
91
|
-
* use significantly.
|
92
|
-
*/
|
93
|
-
buffer: 0,
|
94
|
-
|
95
|
-
/**
|
96
|
-
* APIProperty: transitionEffect
|
97
|
-
* {String} The transition effect to use when the map is zoomed.
|
98
|
-
* Two posible values:
|
99
|
-
*
|
100
|
-
* "resize" - Existing tiles are resized on zoom to provide a visual
|
101
|
-
* effect of the zoom having taken place immediately. As the
|
102
|
-
* new tiles become available, they are drawn on top of the
|
103
|
-
* resized tiles (this is the default setting).
|
104
|
-
* "map-resize" - Existing tiles are resized on zoom and placed below the
|
105
|
-
* base layer. New tiles for the base layer will cover existing tiles.
|
106
|
-
* This setting is recommended when having an overlay duplicated during
|
107
|
-
* the transition is undesirable (e.g. street labels or big transparent
|
108
|
-
* fills).
|
109
|
-
* null - No transition effect.
|
110
|
-
*
|
111
|
-
* Using "resize" on non-opaque layers can cause undesired visual
|
112
|
-
* effects. Set transitionEffect to null in this case.
|
113
|
-
*/
|
114
|
-
transitionEffect: "resize",
|
115
|
-
|
116
|
-
/**
|
117
|
-
* APIProperty: numLoadingTiles
|
118
|
-
* {Integer} How many tiles are still loading?
|
119
|
-
*/
|
120
|
-
numLoadingTiles: 0,
|
121
|
-
|
122
|
-
/**
|
123
|
-
* Property: serverResolutions
|
124
|
-
* {Array(Number}} This property is documented in subclasses as
|
125
|
-
* an API property.
|
126
|
-
*/
|
127
|
-
serverResolutions: null,
|
128
|
-
|
129
|
-
/**
|
130
|
-
* Property: loading
|
131
|
-
* {Boolean} Indicates if tiles are being loaded.
|
132
|
-
*/
|
133
|
-
loading: false,
|
134
|
-
|
135
|
-
/**
|
136
|
-
* Property: backBuffer
|
137
|
-
* {DOMElement} The back buffer.
|
138
|
-
*/
|
139
|
-
backBuffer: null,
|
140
|
-
|
141
|
-
/**
|
142
|
-
* Property: gridResolution
|
143
|
-
* {Number} The resolution of the current grid. Used for backbuffer and
|
144
|
-
* client zoom. This property is updated every time the grid is
|
145
|
-
* initialized.
|
146
|
-
*/
|
147
|
-
gridResolution: null,
|
148
|
-
|
149
|
-
/**
|
150
|
-
* Property: backBufferResolution
|
151
|
-
* {Number} The resolution of the current back buffer. This property is
|
152
|
-
* updated each time a back buffer is created.
|
153
|
-
*/
|
154
|
-
backBufferResolution: null,
|
155
|
-
|
156
|
-
/**
|
157
|
-
* Property: backBufferLonLat
|
158
|
-
* {Object} The top-left corner of the current back buffer. Includes lon
|
159
|
-
* and lat properties. This object is updated each time a back buffer
|
160
|
-
* is created.
|
161
|
-
*/
|
162
|
-
backBufferLonLat: null,
|
163
|
-
|
164
|
-
/**
|
165
|
-
* Property: backBufferTimerId
|
166
|
-
* {Number} The id of the back buffer timer. This timer is used to
|
167
|
-
* delay the removal of the back buffer, thereby preventing
|
168
|
-
* flash effects caused by tile animation.
|
169
|
-
*/
|
170
|
-
backBufferTimerId: null,
|
171
|
-
|
172
|
-
/**
|
173
|
-
* APIProperty: removeBackBufferDelay
|
174
|
-
* {Number} Delay for removing the backbuffer when all tiles have finished
|
175
|
-
* loading. Can be set to 0 when no css opacity transitions for the
|
176
|
-
* olTileImage class are used. Default is 0 for <singleTile> layers,
|
177
|
-
* 2500 for tiled layers. See <className> for more information on
|
178
|
-
* tile animation.
|
179
|
-
*/
|
180
|
-
removeBackBufferDelay: null,
|
181
|
-
|
182
|
-
/**
|
183
|
-
* APIProperty: className
|
184
|
-
* {String} Name of the class added to the layer div. If not set in the
|
185
|
-
* options passed to the constructor then className defaults to
|
186
|
-
* "olLayerGridSingleTile" for single tile layers (see <singleTile>),
|
187
|
-
* and "olLayerGrid" for non single tile layers.
|
188
|
-
*
|
189
|
-
* Note:
|
190
|
-
*
|
191
|
-
* The displaying of tiles is not animated by default for single tile
|
192
|
-
* layers - OpenLayers' default theme (style.css) includes this:
|
193
|
-
* (code)
|
194
|
-
* .olLayerGrid .olTileImage {
|
195
|
-
* -webkit-transition: opacity 0.2s linear;
|
196
|
-
* -moz-transition: opacity 0.2s linear;
|
197
|
-
* -o-transition: opacity 0.2s linear;
|
198
|
-
* transition: opacity 0.2s linear;
|
199
|
-
* }
|
200
|
-
* (end)
|
201
|
-
* To animate tile displaying for any grid layer the following
|
202
|
-
* CSS rule can be used:
|
203
|
-
* (code)
|
204
|
-
* .olTileImage {
|
205
|
-
* -webkit-transition: opacity 0.2s linear;
|
206
|
-
* -moz-transition: opacity 0.2s linear;
|
207
|
-
* -o-transition: opacity 0.2s linear;
|
208
|
-
* transition: opacity 0.2s linear;
|
209
|
-
* }
|
210
|
-
* (end)
|
211
|
-
* In that case, to avoid flash effects, <removeBackBufferDelay>
|
212
|
-
* should not be zero.
|
213
|
-
*/
|
214
|
-
className: null,
|
215
|
-
|
216
|
-
/**
|
217
|
-
* Register a listener for a particular event with the following syntax:
|
218
|
-
* (code)
|
219
|
-
* layer.events.register(type, obj, listener);
|
220
|
-
* (end)
|
221
|
-
*
|
222
|
-
* Listeners will be called with a reference to an event object. The
|
223
|
-
* properties of this event depends on exactly what happened.
|
224
|
-
*
|
225
|
-
* All event objects have at least the following properties:
|
226
|
-
* object - {Object} A reference to layer.events.object.
|
227
|
-
* element - {DOMElement} A reference to layer.events.element.
|
228
|
-
*
|
229
|
-
* Supported event types:
|
230
|
-
* addtile - Triggered when a tile is added to this layer. Listeners receive
|
231
|
-
* an object as first argument, which has a tile property that
|
232
|
-
* references the tile that has been added.
|
233
|
-
* tileloadstart - Triggered when a tile starts loading. Listeners receive
|
234
|
-
* an object as first argument, which has a tile property that
|
235
|
-
* references the tile that starts loading.
|
236
|
-
* tileloaded - Triggered when each new tile is
|
237
|
-
* loaded, as a means of progress update to listeners.
|
238
|
-
* listeners can access 'numLoadingTiles' if they wish to keep
|
239
|
-
* track of the loading progress. Listeners are called with an object
|
240
|
-
* with a 'tile' property as first argument, making the loaded tile
|
241
|
-
* available to the listener, and an 'aborted' property, which will be
|
242
|
-
* true when loading was aborted and no tile data is available.
|
243
|
-
* tileerror - Triggered before the tileloaded event (i.e. when the tile is
|
244
|
-
* still hidden) if a tile failed to load. Listeners receive an object
|
245
|
-
* as first argument, which has a tile property that references the
|
246
|
-
* tile that could not be loaded.
|
247
|
-
* retile - Triggered when the layer recreates its tile grid.
|
248
|
-
*/
|
249
|
-
|
250
|
-
/**
|
251
|
-
* Property: gridLayout
|
252
|
-
* {Object} Object containing properties tilelon, tilelat, startcol,
|
253
|
-
* startrow
|
254
|
-
*/
|
255
|
-
gridLayout: null,
|
256
|
-
|
257
|
-
/**
|
258
|
-
* Property: rowSign
|
259
|
-
* {Number} 1 for grids starting at the top, -1 for grids starting at the
|
260
|
-
* bottom. This is used for several grid index and offset calculations.
|
261
|
-
*/
|
262
|
-
rowSign: null,
|
263
|
-
|
264
|
-
/**
|
265
|
-
* Property: transitionendEvents
|
266
|
-
* {Array} Event names for transitionend
|
267
|
-
*/
|
268
|
-
transitionendEvents: [
|
269
|
-
'transitionend', 'webkitTransitionEnd', 'otransitionend',
|
270
|
-
'oTransitionEnd'
|
271
|
-
],
|
272
|
-
|
273
|
-
/**
|
274
|
-
* Constructor: OpenLayers.Layer.Grid
|
275
|
-
* Create a new grid layer
|
276
|
-
*
|
277
|
-
* Parameters:
|
278
|
-
* name - {String}
|
279
|
-
* url - {String}
|
280
|
-
* params - {Object}
|
281
|
-
* options - {Object} Hashtable of extra options to tag onto the layer
|
282
|
-
*/
|
283
|
-
initialize: function(name, url, params, options) {
|
284
|
-
OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,
|
285
|
-
arguments);
|
286
|
-
this.grid = [];
|
287
|
-
this._removeBackBuffer = OpenLayers.Function.bind(this.removeBackBuffer, this);
|
288
|
-
|
289
|
-
this.initProperties();
|
290
|
-
|
291
|
-
this.rowSign = this.tileOriginCorner.substr(0, 1) === "t" ? 1 : -1;
|
292
|
-
},
|
293
|
-
|
294
|
-
/**
|
295
|
-
* Method: initProperties
|
296
|
-
* Set any properties that depend on the value of singleTile.
|
297
|
-
* Currently sets removeBackBufferDelay and className
|
298
|
-
*/
|
299
|
-
initProperties: function() {
|
300
|
-
if (this.options.removeBackBufferDelay === undefined) {
|
301
|
-
this.removeBackBufferDelay = this.singleTile ? 0 : 2500;
|
302
|
-
}
|
303
|
-
|
304
|
-
if (this.options.className === undefined) {
|
305
|
-
this.className = this.singleTile ? 'olLayerGridSingleTile' :
|
306
|
-
'olLayerGrid';
|
307
|
-
}
|
308
|
-
},
|
309
|
-
|
310
|
-
/**
|
311
|
-
* Method: setMap
|
312
|
-
*
|
313
|
-
* Parameters:
|
314
|
-
* map - {<OpenLayers.Map>} The map.
|
315
|
-
*/
|
316
|
-
setMap: function(map) {
|
317
|
-
OpenLayers.Layer.HTTPRequest.prototype.setMap.call(this, map);
|
318
|
-
OpenLayers.Element.addClass(this.div, this.className);
|
319
|
-
},
|
320
|
-
|
321
|
-
/**
|
322
|
-
* Method: removeMap
|
323
|
-
* Called when the layer is removed from the map.
|
324
|
-
*
|
325
|
-
* Parameters:
|
326
|
-
* map - {<OpenLayers.Map>} The map.
|
327
|
-
*/
|
328
|
-
removeMap: function(map) {
|
329
|
-
this.removeBackBuffer();
|
330
|
-
},
|
331
|
-
|
332
|
-
/**
|
333
|
-
* APIMethod: destroy
|
334
|
-
* Deconstruct the layer and clear the grid.
|
335
|
-
*/
|
336
|
-
destroy: function() {
|
337
|
-
this.removeBackBuffer();
|
338
|
-
this.clearGrid();
|
339
|
-
|
340
|
-
this.grid = null;
|
341
|
-
this.tileSize = null;
|
342
|
-
OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this, arguments);
|
343
|
-
},
|
344
|
-
|
345
|
-
/**
|
346
|
-
* APIMethod: mergeNewParams
|
347
|
-
* Refetches tiles with new params merged, keeping a backbuffer. Each
|
348
|
-
* loading new tile will have a css class of '.olTileReplacing'. If a
|
349
|
-
* stylesheet applies a 'display: none' style to that class, any fade-in
|
350
|
-
* transition will not apply, and backbuffers for each tile will be removed
|
351
|
-
* as soon as the tile is loaded.
|
352
|
-
*
|
353
|
-
* Parameters:
|
354
|
-
* newParams - {Object}
|
355
|
-
*
|
356
|
-
* Returns:
|
357
|
-
* redrawn: {Boolean} whether the layer was actually redrawn.
|
358
|
-
*/
|
359
|
-
|
360
|
-
/**
|
361
|
-
* Method: clearGrid
|
362
|
-
* Go through and remove all tiles from the grid, calling
|
363
|
-
* destroy() on each of them to kill circular references
|
364
|
-
*/
|
365
|
-
clearGrid:function() {
|
366
|
-
if (this.grid) {
|
367
|
-
for(var iRow=0, len=this.grid.length; iRow<len; iRow++) {
|
368
|
-
var row = this.grid[iRow];
|
369
|
-
for(var iCol=0, clen=row.length; iCol<clen; iCol++) {
|
370
|
-
var tile = row[iCol];
|
371
|
-
this.destroyTile(tile);
|
372
|
-
}
|
373
|
-
}
|
374
|
-
this.grid = [];
|
375
|
-
this.gridResolution = null;
|
376
|
-
this.gridLayout = null;
|
377
|
-
}
|
378
|
-
},
|
379
|
-
|
380
|
-
/**
|
381
|
-
* APIMethod: addOptions
|
382
|
-
*
|
383
|
-
* Parameters:
|
384
|
-
* newOptions - {Object}
|
385
|
-
* reinitialize - {Boolean} If set to true, and if resolution options of the
|
386
|
-
* current baseLayer were changed, the map will be recentered to make
|
387
|
-
* sure that it is displayed with a valid resolution, and a
|
388
|
-
* changebaselayer event will be triggered.
|
389
|
-
*/
|
390
|
-
addOptions: function (newOptions, reinitialize) {
|
391
|
-
var singleTileChanged = newOptions.singleTile !== undefined &&
|
392
|
-
newOptions.singleTile !== this.singleTile;
|
393
|
-
OpenLayers.Layer.HTTPRequest.prototype.addOptions.apply(this, arguments);
|
394
|
-
if (this.map && singleTileChanged) {
|
395
|
-
this.initProperties();
|
396
|
-
this.clearGrid();
|
397
|
-
this.tileSize = this.options.tileSize;
|
398
|
-
this.setTileSize();
|
399
|
-
this.moveTo(null, true);
|
400
|
-
}
|
401
|
-
},
|
402
|
-
|
403
|
-
/**
|
404
|
-
* APIMethod: clone
|
405
|
-
* Create a clone of this layer
|
406
|
-
*
|
407
|
-
* Parameters:
|
408
|
-
* obj - {Object} Is this ever used?
|
409
|
-
*
|
410
|
-
* Returns:
|
411
|
-
* {<OpenLayers.Layer.Grid>} An exact clone of this OpenLayers.Layer.Grid
|
412
|
-
*/
|
413
|
-
clone: function (obj) {
|
414
|
-
|
415
|
-
if (obj == null) {
|
416
|
-
obj = new OpenLayers.Layer.Grid(this.name,
|
417
|
-
this.url,
|
418
|
-
this.params,
|
419
|
-
this.getOptions());
|
420
|
-
}
|
421
|
-
|
422
|
-
//get all additions from superclasses
|
423
|
-
obj = OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this, [obj]);
|
424
|
-
|
425
|
-
// copy/set any non-init, non-simple values here
|
426
|
-
if (this.tileSize != null) {
|
427
|
-
obj.tileSize = this.tileSize.clone();
|
428
|
-
}
|
429
|
-
|
430
|
-
// we do not want to copy reference to grid, so we make a new array
|
431
|
-
obj.grid = [];
|
432
|
-
obj.gridResolution = null;
|
433
|
-
// same for backbuffer
|
434
|
-
obj.backBuffer = null;
|
435
|
-
obj.backBufferTimerId = null;
|
436
|
-
obj.loading = false;
|
437
|
-
obj.numLoadingTiles = 0;
|
438
|
-
|
439
|
-
return obj;
|
440
|
-
},
|
441
|
-
|
442
|
-
/**
|
443
|
-
* Method: moveTo
|
444
|
-
* This function is called whenever the map is moved. All the moving
|
445
|
-
* of actual 'tiles' is done by the map, but moveTo's role is to accept
|
446
|
-
* a bounds and make sure the data that that bounds requires is pre-loaded.
|
447
|
-
*
|
448
|
-
* Parameters:
|
449
|
-
* bounds - {<OpenLayers.Bounds>}
|
450
|
-
* zoomChanged - {Boolean}
|
451
|
-
* dragging - {Boolean}
|
452
|
-
*/
|
453
|
-
moveTo:function(bounds, zoomChanged, dragging) {
|
454
|
-
|
455
|
-
OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this, arguments);
|
456
|
-
|
457
|
-
bounds = bounds || this.map.getExtent();
|
458
|
-
|
459
|
-
if (bounds != null) {
|
460
|
-
|
461
|
-
// if grid is empty or zoom has changed, we *must* re-tile
|
462
|
-
var forceReTile = !this.grid.length || zoomChanged;
|
463
|
-
|
464
|
-
// total bounds of the tiles
|
465
|
-
var tilesBounds = this.getTilesBounds();
|
466
|
-
|
467
|
-
// the new map resolution
|
468
|
-
var resolution = this.map.getResolution();
|
469
|
-
|
470
|
-
// the server-supported resolution for the new map resolution
|
471
|
-
var serverResolution = this.getServerResolution(resolution);
|
472
|
-
|
473
|
-
if (this.singleTile) {
|
474
|
-
|
475
|
-
// We want to redraw whenever even the slightest part of the
|
476
|
-
// current bounds is not contained by our tile.
|
477
|
-
// (thus, we do not specify partial -- its default is false)
|
478
|
-
|
479
|
-
if ( forceReTile ||
|
480
|
-
(!dragging && !tilesBounds.containsBounds(bounds))) {
|
481
|
-
|
482
|
-
// In single tile mode with no transition effect, we insert
|
483
|
-
// a non-scaled backbuffer when the layer is moved. But if
|
484
|
-
// a zoom occurs right after a move, i.e. before the new
|
485
|
-
// image is received, we need to remove the backbuffer, or
|
486
|
-
// an ill-positioned image will be visible during the zoom
|
487
|
-
// transition.
|
488
|
-
|
489
|
-
if(zoomChanged && this.transitionEffect !== 'resize') {
|
490
|
-
this.removeBackBuffer();
|
491
|
-
}
|
492
|
-
|
493
|
-
if(!zoomChanged || this.transitionEffect === 'resize') {
|
494
|
-
this.applyBackBuffer(resolution);
|
495
|
-
}
|
496
|
-
|
497
|
-
this.initSingleTile(bounds);
|
498
|
-
}
|
499
|
-
} else {
|
500
|
-
|
501
|
-
// if the bounds have changed such that they are not even
|
502
|
-
// *partially* contained by our tiles (e.g. when user has
|
503
|
-
// programmatically panned to the other side of the earth on
|
504
|
-
// zoom level 18), then moveGriddedTiles could potentially have
|
505
|
-
// to run through thousands of cycles, so we want to reTile
|
506
|
-
// instead (thus, partial true).
|
507
|
-
forceReTile = forceReTile ||
|
508
|
-
!tilesBounds.intersectsBounds(bounds, {
|
509
|
-
worldBounds: this.map.baseLayer.wrapDateLine &&
|
510
|
-
this.map.getMaxExtent()
|
511
|
-
});
|
512
|
-
|
513
|
-
if(forceReTile) {
|
514
|
-
if(zoomChanged && (this.transitionEffect === 'resize' ||
|
515
|
-
this.gridResolution === resolution)) {
|
516
|
-
this.applyBackBuffer(resolution);
|
517
|
-
}
|
518
|
-
this.initGriddedTiles(bounds);
|
519
|
-
} else {
|
520
|
-
this.moveGriddedTiles();
|
521
|
-
}
|
522
|
-
}
|
523
|
-
}
|
524
|
-
},
|
525
|
-
|
526
|
-
/**
|
527
|
-
* Method: getTileData
|
528
|
-
* Given a map location, retrieve a tile and the pixel offset within that
|
529
|
-
* tile corresponding to the location. If there is not an existing
|
530
|
-
* tile in the grid that covers the given location, null will be
|
531
|
-
* returned.
|
532
|
-
*
|
533
|
-
* Parameters:
|
534
|
-
* loc - {<OpenLayers.LonLat>} map location
|
535
|
-
*
|
536
|
-
* Returns:
|
537
|
-
* {Object} Object with the following properties: tile ({<OpenLayers.Tile>}),
|
538
|
-
* i ({Number} x-pixel offset from top left), and j ({Integer} y-pixel
|
539
|
-
* offset from top left).
|
540
|
-
*/
|
541
|
-
getTileData: function(loc) {
|
542
|
-
var data = null,
|
543
|
-
x = loc.lon,
|
544
|
-
y = loc.lat,
|
545
|
-
numRows = this.grid.length;
|
546
|
-
|
547
|
-
if (this.map && numRows) {
|
548
|
-
var res = this.map.getResolution(),
|
549
|
-
tileWidth = this.tileSize.w,
|
550
|
-
tileHeight = this.tileSize.h,
|
551
|
-
bounds = this.grid[0][0].bounds,
|
552
|
-
left = bounds.left,
|
553
|
-
top = bounds.top;
|
554
|
-
|
555
|
-
if (x < left) {
|
556
|
-
// deal with multiple worlds
|
557
|
-
if (this.map.baseLayer.wrapDateLine) {
|
558
|
-
var worldWidth = this.map.getMaxExtent().getWidth();
|
559
|
-
var worldsAway = Math.ceil((left - x) / worldWidth);
|
560
|
-
x += worldWidth * worldsAway;
|
561
|
-
}
|
562
|
-
}
|
563
|
-
// tile distance to location (fractional number of tiles);
|
564
|
-
var dtx = (x - left) / (res * tileWidth);
|
565
|
-
var dty = (top - y) / (res * tileHeight);
|
566
|
-
// index of tile in grid
|
567
|
-
var col = Math.floor(dtx);
|
568
|
-
var row = Math.floor(dty);
|
569
|
-
if (row >= 0 && row < numRows) {
|
570
|
-
var tile = this.grid[row][col];
|
571
|
-
if (tile) {
|
572
|
-
data = {
|
573
|
-
tile: tile,
|
574
|
-
// pixel index within tile
|
575
|
-
i: Math.floor((dtx - col) * tileWidth),
|
576
|
-
j: Math.floor((dty - row) * tileHeight)
|
577
|
-
};
|
578
|
-
}
|
579
|
-
}
|
580
|
-
}
|
581
|
-
return data;
|
582
|
-
},
|
583
|
-
|
584
|
-
/**
|
585
|
-
* Method: destroyTile
|
586
|
-
*
|
587
|
-
* Parameters:
|
588
|
-
* tile - {<OpenLayers.Tile>}
|
589
|
-
*/
|
590
|
-
destroyTile: function(tile) {
|
591
|
-
this.removeTileMonitoringHooks(tile);
|
592
|
-
tile.destroy();
|
593
|
-
},
|
594
|
-
|
595
|
-
/**
|
596
|
-
* Method: getServerResolution
|
597
|
-
* Return the closest server-supported resolution.
|
598
|
-
*
|
599
|
-
* Parameters:
|
600
|
-
* resolution - {Number} The base resolution. If undefined the
|
601
|
-
* map resolution is used.
|
602
|
-
*
|
603
|
-
* Returns:
|
604
|
-
* {Number} The closest server resolution value.
|
605
|
-
*/
|
606
|
-
getServerResolution: function(resolution) {
|
607
|
-
var distance = Number.POSITIVE_INFINITY;
|
608
|
-
resolution = resolution || this.map.getResolution();
|
609
|
-
if(this.serverResolutions &&
|
610
|
-
OpenLayers.Util.indexOf(this.serverResolutions, resolution) === -1) {
|
611
|
-
var i, newDistance, newResolution, serverResolution;
|
612
|
-
for(i=this.serverResolutions.length-1; i>= 0; i--) {
|
613
|
-
newResolution = this.serverResolutions[i];
|
614
|
-
newDistance = Math.abs(newResolution - resolution);
|
615
|
-
if (newDistance > distance) {
|
616
|
-
break;
|
617
|
-
}
|
618
|
-
distance = newDistance;
|
619
|
-
serverResolution = newResolution;
|
620
|
-
}
|
621
|
-
resolution = serverResolution;
|
622
|
-
}
|
623
|
-
return resolution;
|
624
|
-
},
|
625
|
-
|
626
|
-
/**
|
627
|
-
* Method: getServerZoom
|
628
|
-
* Return the zoom value corresponding to the best matching server
|
629
|
-
* resolution, taking into account <serverResolutions> and <zoomOffset>.
|
630
|
-
*
|
631
|
-
* Returns:
|
632
|
-
* {Number} The closest server supported zoom. This is not the map zoom
|
633
|
-
* level, but an index of the server's resolutions array.
|
634
|
-
*/
|
635
|
-
getServerZoom: function() {
|
636
|
-
var resolution = this.getServerResolution();
|
637
|
-
return this.serverResolutions ?
|
638
|
-
OpenLayers.Util.indexOf(this.serverResolutions, resolution) :
|
639
|
-
this.map.getZoomForResolution(resolution) + (this.zoomOffset || 0);
|
640
|
-
},
|
641
|
-
|
642
|
-
/**
|
643
|
-
* Method: applyBackBuffer
|
644
|
-
* Create, insert, scale and position a back buffer for the layer.
|
645
|
-
*
|
646
|
-
* Parameters:
|
647
|
-
* resolution - {Number} The resolution to transition to.
|
648
|
-
*/
|
649
|
-
applyBackBuffer: function(resolution) {
|
650
|
-
if(this.backBufferTimerId !== null) {
|
651
|
-
this.removeBackBuffer();
|
652
|
-
}
|
653
|
-
var backBuffer = this.backBuffer;
|
654
|
-
if(!backBuffer) {
|
655
|
-
backBuffer = this.createBackBuffer();
|
656
|
-
if(!backBuffer) {
|
657
|
-
return;
|
658
|
-
}
|
659
|
-
if (resolution === this.gridResolution) {
|
660
|
-
this.div.insertBefore(backBuffer, this.div.firstChild);
|
661
|
-
} else {
|
662
|
-
this.map.baseLayer.div.parentNode.insertBefore(backBuffer, this.map.baseLayer.div);
|
663
|
-
}
|
664
|
-
this.backBuffer = backBuffer;
|
665
|
-
|
666
|
-
// set some information in the instance for subsequent
|
667
|
-
// calls to applyBackBuffer where the same back buffer
|
668
|
-
// is reused
|
669
|
-
var topLeftTileBounds = this.grid[0][0].bounds;
|
670
|
-
this.backBufferLonLat = {
|
671
|
-
lon: topLeftTileBounds.left,
|
672
|
-
lat: topLeftTileBounds.top
|
673
|
-
};
|
674
|
-
this.backBufferResolution = this.gridResolution;
|
675
|
-
}
|
676
|
-
|
677
|
-
var ratio = this.backBufferResolution / resolution;
|
678
|
-
|
679
|
-
// scale the tiles inside the back buffer
|
680
|
-
var tiles = backBuffer.childNodes, tile;
|
681
|
-
for (var i=tiles.length-1; i>=0; --i) {
|
682
|
-
tile = tiles[i];
|
683
|
-
tile.style.top = ((ratio * tile._i * tile._h) | 0) + 'px';
|
684
|
-
tile.style.left = ((ratio * tile._j * tile._w) | 0) + 'px';
|
685
|
-
tile.style.width = Math.round(ratio * tile._w) + 'px';
|
686
|
-
tile.style.height = Math.round(ratio * tile._h) + 'px';
|
687
|
-
}
|
688
|
-
|
689
|
-
// and position it (based on the grid's top-left corner)
|
690
|
-
var position = this.getViewPortPxFromLonLat(
|
691
|
-
this.backBufferLonLat, resolution);
|
692
|
-
var leftOffset = this.map.layerContainerOriginPx.x;
|
693
|
-
var topOffset = this.map.layerContainerOriginPx.y;
|
694
|
-
backBuffer.style.left = Math.round(position.x - leftOffset) + 'px';
|
695
|
-
backBuffer.style.top = Math.round(position.y - topOffset) + 'px';
|
696
|
-
},
|
697
|
-
|
698
|
-
/**
|
699
|
-
* Method: createBackBuffer
|
700
|
-
* Create a back buffer.
|
701
|
-
*
|
702
|
-
* Returns:
|
703
|
-
* {DOMElement} The DOM element for the back buffer, undefined if the
|
704
|
-
* grid isn't initialized yet.
|
705
|
-
*/
|
706
|
-
createBackBuffer: function() {
|
707
|
-
var backBuffer;
|
708
|
-
if(this.grid.length > 0) {
|
709
|
-
backBuffer = document.createElement('div');
|
710
|
-
backBuffer.id = this.div.id + '_bb';
|
711
|
-
backBuffer.className = 'olBackBuffer';
|
712
|
-
backBuffer.style.position = 'absolute';
|
713
|
-
var map = this.map;
|
714
|
-
backBuffer.style.zIndex = this.transitionEffect === 'resize' ?
|
715
|
-
this.getZIndex() - 1 :
|
716
|
-
// 'map-resize':
|
717
|
-
map.Z_INDEX_BASE.BaseLayer -
|
718
|
-
(map.getNumLayers() - map.getLayerIndex(this));
|
719
|
-
for(var i=0, lenI=this.grid.length; i<lenI; i++) {
|
720
|
-
for(var j=0, lenJ=this.grid[i].length; j<lenJ; j++) {
|
721
|
-
var tile = this.grid[i][j],
|
722
|
-
markup = this.grid[i][j].createBackBuffer();
|
723
|
-
if (markup) {
|
724
|
-
markup._i = i;
|
725
|
-
markup._j = j;
|
726
|
-
markup._w = tile.size.w;
|
727
|
-
markup._h = tile.size.h;
|
728
|
-
markup.id = tile.id + '_bb';
|
729
|
-
backBuffer.appendChild(markup);
|
730
|
-
}
|
731
|
-
}
|
732
|
-
}
|
733
|
-
}
|
734
|
-
return backBuffer;
|
735
|
-
},
|
736
|
-
|
737
|
-
/**
|
738
|
-
* Method: removeBackBuffer
|
739
|
-
* Remove back buffer from DOM.
|
740
|
-
*/
|
741
|
-
removeBackBuffer: function() {
|
742
|
-
if (this._transitionElement) {
|
743
|
-
for (var i=this.transitionendEvents.length-1; i>=0; --i) {
|
744
|
-
OpenLayers.Event.stopObserving(this._transitionElement,
|
745
|
-
this.transitionendEvents[i], this._removeBackBuffer);
|
746
|
-
}
|
747
|
-
delete this._transitionElement;
|
748
|
-
}
|
749
|
-
if(this.backBuffer) {
|
750
|
-
if (this.backBuffer.parentNode) {
|
751
|
-
this.backBuffer.parentNode.removeChild(this.backBuffer);
|
752
|
-
}
|
753
|
-
this.backBuffer = null;
|
754
|
-
this.backBufferResolution = null;
|
755
|
-
if(this.backBufferTimerId !== null) {
|
756
|
-
window.clearTimeout(this.backBufferTimerId);
|
757
|
-
this.backBufferTimerId = null;
|
758
|
-
}
|
759
|
-
}
|
760
|
-
},
|
761
|
-
|
762
|
-
/**
|
763
|
-
* Method: moveByPx
|
764
|
-
* Move the layer based on pixel vector.
|
765
|
-
*
|
766
|
-
* Parameters:
|
767
|
-
* dx - {Number}
|
768
|
-
* dy - {Number}
|
769
|
-
*/
|
770
|
-
moveByPx: function(dx, dy) {
|
771
|
-
if (!this.singleTile) {
|
772
|
-
this.moveGriddedTiles();
|
773
|
-
}
|
774
|
-
},
|
775
|
-
|
776
|
-
/**
|
777
|
-
* APIMethod: setTileSize
|
778
|
-
* Check if we are in singleTile mode and if so, set the size as a ratio
|
779
|
-
* of the map size (as specified by the layer's 'ratio' property).
|
780
|
-
*
|
781
|
-
* Parameters:
|
782
|
-
* size - {<OpenLayers.Size>}
|
783
|
-
*/
|
784
|
-
setTileSize: function(size) {
|
785
|
-
if (this.singleTile) {
|
786
|
-
size = this.map.getSize();
|
787
|
-
size.h = parseInt(size.h * this.ratio, 10);
|
788
|
-
size.w = parseInt(size.w * this.ratio, 10);
|
789
|
-
}
|
790
|
-
OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this, [size]);
|
791
|
-
},
|
792
|
-
|
793
|
-
/**
|
794
|
-
* APIMethod: getTilesBounds
|
795
|
-
* Return the bounds of the tile grid.
|
796
|
-
*
|
797
|
-
* Returns:
|
798
|
-
* {<OpenLayers.Bounds>} A Bounds object representing the bounds of all the
|
799
|
-
* currently loaded tiles (including those partially or not at all seen
|
800
|
-
* onscreen).
|
801
|
-
*/
|
802
|
-
getTilesBounds: function() {
|
803
|
-
var bounds = null;
|
804
|
-
|
805
|
-
var length = this.grid.length;
|
806
|
-
if (length) {
|
807
|
-
var bottomLeftTileBounds = this.grid[length - 1][0].bounds,
|
808
|
-
width = this.grid[0].length * bottomLeftTileBounds.getWidth(),
|
809
|
-
height = this.grid.length * bottomLeftTileBounds.getHeight();
|
810
|
-
|
811
|
-
bounds = new OpenLayers.Bounds(bottomLeftTileBounds.left,
|
812
|
-
bottomLeftTileBounds.bottom,
|
813
|
-
bottomLeftTileBounds.left + width,
|
814
|
-
bottomLeftTileBounds.bottom + height);
|
815
|
-
}
|
816
|
-
return bounds;
|
817
|
-
},
|
818
|
-
|
819
|
-
/**
|
820
|
-
* Method: initSingleTile
|
821
|
-
*
|
822
|
-
* Parameters:
|
823
|
-
* bounds - {<OpenLayers.Bounds>}
|
824
|
-
*/
|
825
|
-
initSingleTile: function(bounds) {
|
826
|
-
this.events.triggerEvent("retile");
|
827
|
-
|
828
|
-
//determine new tile bounds
|
829
|
-
var center = bounds.getCenterLonLat();
|
830
|
-
var tileWidth = bounds.getWidth() * this.ratio;
|
831
|
-
var tileHeight = bounds.getHeight() * this.ratio;
|
832
|
-
|
833
|
-
var tileBounds =
|
834
|
-
new OpenLayers.Bounds(center.lon - (tileWidth/2),
|
835
|
-
center.lat - (tileHeight/2),
|
836
|
-
center.lon + (tileWidth/2),
|
837
|
-
center.lat + (tileHeight/2));
|
838
|
-
|
839
|
-
var px = this.map.getLayerPxFromLonLat({
|
840
|
-
lon: tileBounds.left,
|
841
|
-
lat: tileBounds.top
|
842
|
-
});
|
843
|
-
|
844
|
-
if (!this.grid.length) {
|
845
|
-
this.grid[0] = [];
|
846
|
-
}
|
847
|
-
|
848
|
-
var tile = this.grid[0][0];
|
849
|
-
if (!tile) {
|
850
|
-
tile = this.addTile(tileBounds, px);
|
851
|
-
|
852
|
-
this.addTileMonitoringHooks(tile);
|
853
|
-
tile.draw();
|
854
|
-
this.grid[0][0] = tile;
|
855
|
-
} else {
|
856
|
-
tile.moveTo(tileBounds, px);
|
857
|
-
}
|
858
|
-
|
859
|
-
//remove all but our single tile
|
860
|
-
this.removeExcessTiles(1,1);
|
861
|
-
|
862
|
-
// store the resolution of the grid
|
863
|
-
this.gridResolution = this.getServerResolution();
|
864
|
-
},
|
865
|
-
|
866
|
-
/**
|
867
|
-
* Method: calculateGridLayout
|
868
|
-
* Generate parameters for the grid layout.
|
869
|
-
*
|
870
|
-
* Parameters:
|
871
|
-
* bounds - {<OpenLayers.Bound>|Object} OpenLayers.Bounds or an
|
872
|
-
* object with a 'left' and 'top' properties.
|
873
|
-
* origin - {<OpenLayers.LonLat>|Object} OpenLayers.LonLat or an
|
874
|
-
* object with a 'lon' and 'lat' properties.
|
875
|
-
* resolution - {Number}
|
876
|
-
*
|
877
|
-
* Returns:
|
878
|
-
* {Object} Object containing properties tilelon, tilelat, startcol,
|
879
|
-
* startrow
|
880
|
-
*/
|
881
|
-
calculateGridLayout: function(bounds, origin, resolution) {
|
882
|
-
var tilelon = resolution * this.tileSize.w;
|
883
|
-
var tilelat = resolution * this.tileSize.h;
|
884
|
-
|
885
|
-
var offsetlon = bounds.left - origin.lon;
|
886
|
-
var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
|
887
|
-
|
888
|
-
var rowSign = this.rowSign;
|
889
|
-
|
890
|
-
var offsetlat = rowSign * (origin.lat - bounds.top + tilelat);
|
891
|
-
var tilerow = Math[~rowSign ? 'floor' : 'ceil'](offsetlat/tilelat) - this.buffer * rowSign;
|
892
|
-
|
893
|
-
return {
|
894
|
-
tilelon: tilelon, tilelat: tilelat,
|
895
|
-
startcol: tilecol, startrow: tilerow
|
896
|
-
};
|
897
|
-
|
898
|
-
},
|
899
|
-
|
900
|
-
/**
|
901
|
-
* Method: getTileOrigin
|
902
|
-
* Determine the origin for aligning the grid of tiles. If a <tileOrigin>
|
903
|
-
* property is supplied, that will be returned. Otherwise, the origin
|
904
|
-
* will be derived from the layer's <maxExtent> property. In this case,
|
905
|
-
* the tile origin will be the corner of the <maxExtent> given by the
|
906
|
-
* <tileOriginCorner> property.
|
907
|
-
*
|
908
|
-
* Returns:
|
909
|
-
* {<OpenLayers.LonLat>} The tile origin.
|
910
|
-
*/
|
911
|
-
getTileOrigin: function() {
|
912
|
-
var origin = this.tileOrigin;
|
913
|
-
if (!origin) {
|
914
|
-
var extent = this.getMaxExtent();
|
915
|
-
var edges = ({
|
916
|
-
"tl": ["left", "top"],
|
917
|
-
"tr": ["right", "top"],
|
918
|
-
"bl": ["left", "bottom"],
|
919
|
-
"br": ["right", "bottom"]
|
920
|
-
})[this.tileOriginCorner];
|
921
|
-
origin = new OpenLayers.LonLat(extent[edges[0]], extent[edges[1]]);
|
922
|
-
}
|
923
|
-
return origin;
|
924
|
-
},
|
925
|
-
|
926
|
-
/**
|
927
|
-
* Method: getTileBoundsForGridIndex
|
928
|
-
*
|
929
|
-
* Parameters:
|
930
|
-
* row - {Number} The row of the grid
|
931
|
-
* col - {Number} The column of the grid
|
932
|
-
*
|
933
|
-
* Returns:
|
934
|
-
* {<OpenLayers.Bounds>} The bounds for the tile at (row, col)
|
935
|
-
*/
|
936
|
-
getTileBoundsForGridIndex: function(row, col) {
|
937
|
-
var origin = this.getTileOrigin();
|
938
|
-
var tileLayout = this.gridLayout;
|
939
|
-
var tilelon = tileLayout.tilelon;
|
940
|
-
var tilelat = tileLayout.tilelat;
|
941
|
-
var startcol = tileLayout.startcol;
|
942
|
-
var startrow = tileLayout.startrow;
|
943
|
-
var rowSign = this.rowSign;
|
944
|
-
return new OpenLayers.Bounds(
|
945
|
-
origin.lon + (startcol + col) * tilelon,
|
946
|
-
origin.lat - (startrow + row * rowSign) * tilelat * rowSign,
|
947
|
-
origin.lon + (startcol + col + 1) * tilelon,
|
948
|
-
origin.lat - (startrow + (row - 1) * rowSign) * tilelat * rowSign
|
949
|
-
);
|
950
|
-
},
|
951
|
-
|
952
|
-
/**
|
953
|
-
* Method: initGriddedTiles
|
954
|
-
*
|
955
|
-
* Parameters:
|
956
|
-
* bounds - {<OpenLayers.Bounds>}
|
957
|
-
*/
|
958
|
-
initGriddedTiles:function(bounds) {
|
959
|
-
this.events.triggerEvent("retile");
|
960
|
-
|
961
|
-
// work out mininum number of rows and columns; this is the number of
|
962
|
-
// tiles required to cover the viewport plus at least one for panning
|
963
|
-
|
964
|
-
var viewSize = this.map.getSize();
|
965
|
-
|
966
|
-
var origin = this.getTileOrigin();
|
967
|
-
var resolution = this.map.getResolution(),
|
968
|
-
serverResolution = this.getServerResolution(),
|
969
|
-
ratio = resolution / serverResolution,
|
970
|
-
tileSize = {
|
971
|
-
w: this.tileSize.w / ratio,
|
972
|
-
h: this.tileSize.h / ratio
|
973
|
-
};
|
974
|
-
|
975
|
-
var minRows = Math.ceil(viewSize.h/tileSize.h) +
|
976
|
-
2 * this.buffer + 1;
|
977
|
-
var minCols = Math.ceil(viewSize.w/tileSize.w) +
|
978
|
-
2 * this.buffer + 1;
|
979
|
-
|
980
|
-
var tileLayout = this.calculateGridLayout(bounds, origin, serverResolution);
|
981
|
-
this.gridLayout = tileLayout;
|
982
|
-
|
983
|
-
var tilelon = tileLayout.tilelon;
|
984
|
-
var tilelat = tileLayout.tilelat;
|
985
|
-
|
986
|
-
var layerContainerDivLeft = this.map.layerContainerOriginPx.x;
|
987
|
-
var layerContainerDivTop = this.map.layerContainerOriginPx.y;
|
988
|
-
|
989
|
-
var tileBounds = this.getTileBoundsForGridIndex(0, 0);
|
990
|
-
var startPx = this.map.getViewPortPxFromLonLat(
|
991
|
-
new OpenLayers.LonLat(tileBounds.left, tileBounds.top)
|
992
|
-
);
|
993
|
-
startPx.x = Math.round(startPx.x) - layerContainerDivLeft;
|
994
|
-
startPx.y = Math.round(startPx.y) - layerContainerDivTop;
|
995
|
-
|
996
|
-
var tileData = [], center = this.map.getCenter();
|
997
|
-
|
998
|
-
var rowidx = 0;
|
999
|
-
do {
|
1000
|
-
var row = this.grid[rowidx];
|
1001
|
-
if (!row) {
|
1002
|
-
row = [];
|
1003
|
-
this.grid.push(row);
|
1004
|
-
}
|
1005
|
-
|
1006
|
-
var colidx = 0;
|
1007
|
-
do {
|
1008
|
-
tileBounds = this.getTileBoundsForGridIndex(rowidx, colidx);
|
1009
|
-
var px = startPx.clone();
|
1010
|
-
px.x = px.x + colidx * Math.round(tileSize.w);
|
1011
|
-
px.y = px.y + rowidx * Math.round(tileSize.h);
|
1012
|
-
var tile = row[colidx];
|
1013
|
-
if (!tile) {
|
1014
|
-
tile = this.addTile(tileBounds, px);
|
1015
|
-
this.addTileMonitoringHooks(tile);
|
1016
|
-
row.push(tile);
|
1017
|
-
} else {
|
1018
|
-
tile.moveTo(tileBounds, px, false);
|
1019
|
-
}
|
1020
|
-
var tileCenter = tileBounds.getCenterLonLat();
|
1021
|
-
tileData.push({
|
1022
|
-
tile: tile,
|
1023
|
-
distance: Math.pow(tileCenter.lon - center.lon, 2) +
|
1024
|
-
Math.pow(tileCenter.lat - center.lat, 2)
|
1025
|
-
});
|
1026
|
-
|
1027
|
-
colidx += 1;
|
1028
|
-
} while ((tileBounds.right <= bounds.right + tilelon * this.buffer)
|
1029
|
-
|| colidx < minCols);
|
1030
|
-
|
1031
|
-
rowidx += 1;
|
1032
|
-
} while((tileBounds.bottom >= bounds.bottom - tilelat * this.buffer)
|
1033
|
-
|| rowidx < minRows);
|
1034
|
-
|
1035
|
-
//shave off exceess rows and colums
|
1036
|
-
this.removeExcessTiles(rowidx, colidx);
|
1037
|
-
|
1038
|
-
var resolution = this.getServerResolution();
|
1039
|
-
// store the resolution of the grid
|
1040
|
-
this.gridResolution = resolution;
|
1041
|
-
|
1042
|
-
//now actually draw the tiles
|
1043
|
-
tileData.sort(function(a, b) {
|
1044
|
-
return a.distance - b.distance;
|
1045
|
-
});
|
1046
|
-
for (var i=0, ii=tileData.length; i<ii; ++i) {
|
1047
|
-
tileData[i].tile.draw();
|
1048
|
-
}
|
1049
|
-
},
|
1050
|
-
|
1051
|
-
/**
|
1052
|
-
* Method: getMaxExtent
|
1053
|
-
* Get this layer's maximum extent. (Implemented as a getter for
|
1054
|
-
* potential specific implementations in sub-classes.)
|
1055
|
-
*
|
1056
|
-
* Returns:
|
1057
|
-
* {<OpenLayers.Bounds>}
|
1058
|
-
*/
|
1059
|
-
getMaxExtent: function() {
|
1060
|
-
return this.maxExtent;
|
1061
|
-
},
|
1062
|
-
|
1063
|
-
/**
|
1064
|
-
* APIMethod: addTile
|
1065
|
-
* Create a tile, initialize it, and add it to the layer div.
|
1066
|
-
*
|
1067
|
-
* Parameters
|
1068
|
-
* bounds - {<OpenLayers.Bounds>}
|
1069
|
-
* position - {<OpenLayers.Pixel>}
|
1070
|
-
*
|
1071
|
-
* Returns:
|
1072
|
-
* {<OpenLayers.Tile>} The added OpenLayers.Tile
|
1073
|
-
*/
|
1074
|
-
addTile: function(bounds, position) {
|
1075
|
-
var tile = new this.tileClass(
|
1076
|
-
this, position, bounds, null, this.tileSize, this.tileOptions
|
1077
|
-
);
|
1078
|
-
this.events.triggerEvent("addtile", {tile: tile});
|
1079
|
-
return tile;
|
1080
|
-
},
|
1081
|
-
|
1082
|
-
/**
|
1083
|
-
* Method: addTileMonitoringHooks
|
1084
|
-
* This function takes a tile as input and adds the appropriate hooks to
|
1085
|
-
* the tile so that the layer can keep track of the loading tiles.
|
1086
|
-
*
|
1087
|
-
* Parameters:
|
1088
|
-
* tile - {<OpenLayers.Tile>}
|
1089
|
-
*/
|
1090
|
-
addTileMonitoringHooks: function(tile) {
|
1091
|
-
|
1092
|
-
var replacingCls = 'olTileReplacing';
|
1093
|
-
|
1094
|
-
tile.onLoadStart = function() {
|
1095
|
-
//if that was first tile then trigger a 'loadstart' on the layer
|
1096
|
-
if (this.loading === false) {
|
1097
|
-
this.loading = true;
|
1098
|
-
this.events.triggerEvent("loadstart");
|
1099
|
-
}
|
1100
|
-
this.events.triggerEvent("tileloadstart", {tile: tile});
|
1101
|
-
this.numLoadingTiles++;
|
1102
|
-
if (!this.singleTile && this.backBuffer && this.gridResolution === this.backBufferResolution) {
|
1103
|
-
OpenLayers.Element.addClass(tile.getTile(), replacingCls);
|
1104
|
-
}
|
1105
|
-
};
|
1106
|
-
|
1107
|
-
tile.onLoadEnd = function(evt) {
|
1108
|
-
this.numLoadingTiles--;
|
1109
|
-
var aborted = evt.type === 'unload';
|
1110
|
-
this.events.triggerEvent("tileloaded", {
|
1111
|
-
tile: tile,
|
1112
|
-
aborted: aborted
|
1113
|
-
});
|
1114
|
-
if (!this.singleTile && !aborted && this.backBuffer && this.gridResolution === this.backBufferResolution) {
|
1115
|
-
var tileDiv = tile.getTile();
|
1116
|
-
if (OpenLayers.Element.getStyle(tileDiv, 'display') === 'none') {
|
1117
|
-
var bufferTile = document.getElementById(tile.id + '_bb');
|
1118
|
-
if (bufferTile) {
|
1119
|
-
bufferTile.parentNode.removeChild(bufferTile);
|
1120
|
-
}
|
1121
|
-
}
|
1122
|
-
OpenLayers.Element.removeClass(tileDiv, replacingCls);
|
1123
|
-
}
|
1124
|
-
//if that was the last tile, then trigger a 'loadend' on the layer
|
1125
|
-
if (this.numLoadingTiles === 0) {
|
1126
|
-
if (this.backBuffer) {
|
1127
|
-
if (this.backBuffer.childNodes.length === 0) {
|
1128
|
-
// no tiles transitioning, remove immediately
|
1129
|
-
this.removeBackBuffer();
|
1130
|
-
} else {
|
1131
|
-
// wait until transition has ended or delay has passed
|
1132
|
-
this._transitionElement = aborted ?
|
1133
|
-
this.div.lastChild : tile.imgDiv;
|
1134
|
-
var transitionendEvents = this.transitionendEvents;
|
1135
|
-
for (var i=transitionendEvents.length-1; i>=0; --i) {
|
1136
|
-
OpenLayers.Event.observe(this._transitionElement,
|
1137
|
-
transitionendEvents[i],
|
1138
|
-
this._removeBackBuffer);
|
1139
|
-
}
|
1140
|
-
// the removal of the back buffer is delayed to prevent
|
1141
|
-
// flash effects due to the animation of tile displaying
|
1142
|
-
this.backBufferTimerId = window.setTimeout(
|
1143
|
-
this._removeBackBuffer, this.removeBackBufferDelay
|
1144
|
-
);
|
1145
|
-
}
|
1146
|
-
}
|
1147
|
-
this.loading = false;
|
1148
|
-
this.events.triggerEvent("loadend");
|
1149
|
-
}
|
1150
|
-
};
|
1151
|
-
|
1152
|
-
tile.onLoadError = function() {
|
1153
|
-
this.events.triggerEvent("tileerror", {tile: tile});
|
1154
|
-
};
|
1155
|
-
|
1156
|
-
tile.events.on({
|
1157
|
-
"loadstart": tile.onLoadStart,
|
1158
|
-
"loadend": tile.onLoadEnd,
|
1159
|
-
"unload": tile.onLoadEnd,
|
1160
|
-
"loaderror": tile.onLoadError,
|
1161
|
-
scope: this
|
1162
|
-
});
|
1163
|
-
},
|
1164
|
-
|
1165
|
-
/**
|
1166
|
-
* Method: removeTileMonitoringHooks
|
1167
|
-
* This function takes a tile as input and removes the tile hooks
|
1168
|
-
* that were added in addTileMonitoringHooks()
|
1169
|
-
*
|
1170
|
-
* Parameters:
|
1171
|
-
* tile - {<OpenLayers.Tile>}
|
1172
|
-
*/
|
1173
|
-
removeTileMonitoringHooks: function(tile) {
|
1174
|
-
tile.unload();
|
1175
|
-
tile.events.un({
|
1176
|
-
"loadstart": tile.onLoadStart,
|
1177
|
-
"loadend": tile.onLoadEnd,
|
1178
|
-
"unload": tile.onLoadEnd,
|
1179
|
-
"loaderror": tile.onLoadError,
|
1180
|
-
scope: this
|
1181
|
-
});
|
1182
|
-
},
|
1183
|
-
|
1184
|
-
/**
|
1185
|
-
* Method: moveGriddedTiles
|
1186
|
-
*/
|
1187
|
-
moveGriddedTiles: function() {
|
1188
|
-
var buffer = this.buffer + 1;
|
1189
|
-
while(true) {
|
1190
|
-
var tlTile = this.grid[0][0];
|
1191
|
-
var tlViewPort = {
|
1192
|
-
x: tlTile.position.x +
|
1193
|
-
this.map.layerContainerOriginPx.x,
|
1194
|
-
y: tlTile.position.y +
|
1195
|
-
this.map.layerContainerOriginPx.y
|
1196
|
-
};
|
1197
|
-
var ratio = this.getServerResolution() / this.map.getResolution();
|
1198
|
-
var tileSize = {
|
1199
|
-
w: Math.round(this.tileSize.w * ratio),
|
1200
|
-
h: Math.round(this.tileSize.h * ratio)
|
1201
|
-
};
|
1202
|
-
if (tlViewPort.x > -tileSize.w * (buffer - 1)) {
|
1203
|
-
this.shiftColumn(true, tileSize);
|
1204
|
-
} else if (tlViewPort.x < -tileSize.w * buffer) {
|
1205
|
-
this.shiftColumn(false, tileSize);
|
1206
|
-
} else if (tlViewPort.y > -tileSize.h * (buffer - 1)) {
|
1207
|
-
this.shiftRow(true, tileSize);
|
1208
|
-
} else if (tlViewPort.y < -tileSize.h * buffer) {
|
1209
|
-
this.shiftRow(false, tileSize);
|
1210
|
-
} else {
|
1211
|
-
break;
|
1212
|
-
}
|
1213
|
-
}
|
1214
|
-
},
|
1215
|
-
|
1216
|
-
/**
|
1217
|
-
* Method: shiftRow
|
1218
|
-
* Shifty grid work
|
1219
|
-
*
|
1220
|
-
* Parameters:
|
1221
|
-
* prepend - {Boolean} if true, prepend to beginning.
|
1222
|
-
* if false, then append to end
|
1223
|
-
* tileSize - {Object} rendered tile size; object with w and h properties
|
1224
|
-
*/
|
1225
|
-
shiftRow: function(prepend, tileSize) {
|
1226
|
-
var grid = this.grid;
|
1227
|
-
var rowIndex = prepend ? 0 : (grid.length - 1);
|
1228
|
-
var sign = prepend ? -1 : 1;
|
1229
|
-
var rowSign = this.rowSign;
|
1230
|
-
var tileLayout = this.gridLayout;
|
1231
|
-
tileLayout.startrow += sign * rowSign;
|
1232
|
-
|
1233
|
-
var modelRow = grid[rowIndex];
|
1234
|
-
var row = grid[prepend ? 'pop' : 'shift']();
|
1235
|
-
for (var i=0, len=row.length; i<len; i++) {
|
1236
|
-
var tile = row[i];
|
1237
|
-
var position = modelRow[i].position.clone();
|
1238
|
-
position.y += tileSize.h * sign;
|
1239
|
-
tile.moveTo(this.getTileBoundsForGridIndex(rowIndex, i), position);
|
1240
|
-
}
|
1241
|
-
grid[prepend ? 'unshift' : 'push'](row);
|
1242
|
-
},
|
1243
|
-
|
1244
|
-
/**
|
1245
|
-
* Method: shiftColumn
|
1246
|
-
* Shift grid work in the other dimension
|
1247
|
-
*
|
1248
|
-
* Parameters:
|
1249
|
-
* prepend - {Boolean} if true, prepend to beginning.
|
1250
|
-
* if false, then append to end
|
1251
|
-
* tileSize - {Object} rendered tile size; object with w and h properties
|
1252
|
-
*/
|
1253
|
-
shiftColumn: function(prepend, tileSize) {
|
1254
|
-
var grid = this.grid;
|
1255
|
-
var colIndex = prepend ? 0 : (grid[0].length - 1);
|
1256
|
-
var sign = prepend ? -1 : 1;
|
1257
|
-
var tileLayout = this.gridLayout;
|
1258
|
-
tileLayout.startcol += sign;
|
1259
|
-
|
1260
|
-
for (var i=0, len=grid.length; i<len; i++) {
|
1261
|
-
var row = grid[i];
|
1262
|
-
var position = row[colIndex].position.clone();
|
1263
|
-
var tile = row[prepend ? 'pop' : 'shift']();
|
1264
|
-
position.x += tileSize.w * sign;
|
1265
|
-
tile.moveTo(this.getTileBoundsForGridIndex(i, colIndex), position);
|
1266
|
-
row[prepend ? 'unshift' : 'push'](tile);
|
1267
|
-
}
|
1268
|
-
},
|
1269
|
-
|
1270
|
-
/**
|
1271
|
-
* Method: removeExcessTiles
|
1272
|
-
* When the size of the map or the buffer changes, we may need to
|
1273
|
-
* remove some excess rows and columns.
|
1274
|
-
*
|
1275
|
-
* Parameters:
|
1276
|
-
* rows - {Integer} Maximum number of rows we want our grid to have.
|
1277
|
-
* columns - {Integer} Maximum number of columns we want our grid to have.
|
1278
|
-
*/
|
1279
|
-
removeExcessTiles: function(rows, columns) {
|
1280
|
-
var i, l;
|
1281
|
-
|
1282
|
-
// remove extra rows
|
1283
|
-
while (this.grid.length > rows) {
|
1284
|
-
var row = this.grid.pop();
|
1285
|
-
for (i=0, l=row.length; i<l; i++) {
|
1286
|
-
var tile = row[i];
|
1287
|
-
this.destroyTile(tile);
|
1288
|
-
}
|
1289
|
-
}
|
1290
|
-
|
1291
|
-
// remove extra columns
|
1292
|
-
for (i=0, l=this.grid.length; i<l; i++) {
|
1293
|
-
while (this.grid[i].length > columns) {
|
1294
|
-
var row = this.grid[i];
|
1295
|
-
var tile = row.pop();
|
1296
|
-
this.destroyTile(tile);
|
1297
|
-
}
|
1298
|
-
}
|
1299
|
-
},
|
1300
|
-
|
1301
|
-
/**
|
1302
|
-
* Method: onMapResize
|
1303
|
-
* For singleTile layers, this will set a new tile size according to the
|
1304
|
-
* dimensions of the map pane.
|
1305
|
-
*/
|
1306
|
-
onMapResize: function() {
|
1307
|
-
if (this.singleTile) {
|
1308
|
-
this.clearGrid();
|
1309
|
-
this.setTileSize();
|
1310
|
-
}
|
1311
|
-
},
|
1312
|
-
|
1313
|
-
/**
|
1314
|
-
* APIMethod: getTileBounds
|
1315
|
-
* Returns The tile bounds for a layer given a pixel location.
|
1316
|
-
*
|
1317
|
-
* Parameters:
|
1318
|
-
* viewPortPx - {<OpenLayers.Pixel>} The location in the viewport.
|
1319
|
-
*
|
1320
|
-
* Returns:
|
1321
|
-
* {<OpenLayers.Bounds>} Bounds of the tile at the given pixel location.
|
1322
|
-
*/
|
1323
|
-
getTileBounds: function(viewPortPx) {
|
1324
|
-
var maxExtent = this.maxExtent;
|
1325
|
-
var resolution = this.getResolution();
|
1326
|
-
var tileMapWidth = resolution * this.tileSize.w;
|
1327
|
-
var tileMapHeight = resolution * this.tileSize.h;
|
1328
|
-
var mapPoint = this.getLonLatFromViewPortPx(viewPortPx);
|
1329
|
-
var tileLeft = maxExtent.left + (tileMapWidth *
|
1330
|
-
Math.floor((mapPoint.lon -
|
1331
|
-
maxExtent.left) /
|
1332
|
-
tileMapWidth));
|
1333
|
-
var tileBottom = maxExtent.bottom + (tileMapHeight *
|
1334
|
-
Math.floor((mapPoint.lat -
|
1335
|
-
maxExtent.bottom) /
|
1336
|
-
tileMapHeight));
|
1337
|
-
return new OpenLayers.Bounds(tileLeft, tileBottom,
|
1338
|
-
tileLeft + tileMapWidth,
|
1339
|
-
tileBottom + tileMapHeight);
|
1340
|
-
},
|
1341
|
-
|
1342
|
-
CLASS_NAME: "OpenLayers.Layer.Grid"
|
1343
|
-
});
|