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.
Files changed (1225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/lib/postrunner/ActivitiesDB.rb +8 -9
  4. data/lib/postrunner/Activity.rb +7 -1
  5. data/lib/postrunner/ActivityView.rb +10 -2
  6. data/lib/postrunner/DataSources.rb +100 -0
  7. data/lib/postrunner/DeviceList.rb +40 -17
  8. data/lib/postrunner/Log.rb +25 -0
  9. data/lib/postrunner/Main.rb +9 -8
  10. data/lib/postrunner/RuntimeConfig.rb +1 -0
  11. data/lib/postrunner/TrackView.rb +39 -62
  12. data/lib/postrunner/version.rb +1 -1
  13. data/misc/openlayers/ol.css +1 -0
  14. data/misc/openlayers/ol.js +948 -0
  15. data/postrunner.gemspec +2 -2
  16. data/spec/PostRunner_spec.rb +22 -23
  17. data/spec/spec_helper.rb +34 -4
  18. metadata +11 -1214
  19. data/misc/openlayers/.gitignore +0 -7
  20. data/misc/openlayers/OpenLayers.debug.js +0 -85622
  21. data/misc/openlayers/OpenLayers.js +0 -1443
  22. data/misc/openlayers/OpenLayers.light.debug.js +0 -37230
  23. data/misc/openlayers/OpenLayers.light.js +0 -592
  24. data/misc/openlayers/OpenLayers.mobile.debug.js +0 -41831
  25. data/misc/openlayers/OpenLayers.mobile.js +0 -681
  26. data/misc/openlayers/apidoc_config/Languages.txt +0 -113
  27. data/misc/openlayers/apidoc_config/Menu.txt +0 -520
  28. data/misc/openlayers/apidoc_config/OL.css +0 -20
  29. data/misc/openlayers/apidoc_config/Topics.txt +0 -105
  30. data/misc/openlayers/art/arrows.svg +0 -127
  31. data/misc/openlayers/art/layer-switcher-maximize.svg +0 -128
  32. data/misc/openlayers/art/layer-switcher-minimize.svg +0 -142
  33. data/misc/openlayers/art/marker.svg +0 -25
  34. data/misc/openlayers/art/measuring-stick-off.svg +0 -36
  35. data/misc/openlayers/art/measuring-stick-on.svg +0 -36
  36. data/misc/openlayers/art/panning-hand-off.svg +0 -44
  37. data/misc/openlayers/art/panning-hand-on.svg +0 -44
  38. data/misc/openlayers/art/slider.svg +0 -71
  39. data/misc/openlayers/art/zoom-world.svg +0 -193
  40. data/misc/openlayers/art/zoombar.svg +0 -73
  41. data/misc/openlayers/authors.txt +0 -56
  42. data/misc/openlayers/build/README.txt +0 -46
  43. data/misc/openlayers/build/build.py +0 -158
  44. data/misc/openlayers/build/buildUncompressed.py +0 -25
  45. data/misc/openlayers/build/closure-compiler/Externs.js +0 -50
  46. data/misc/openlayers/build/full.cfg +0 -14
  47. data/misc/openlayers/build/license.txt +0 -57
  48. data/misc/openlayers/build/light.cfg +0 -32
  49. data/misc/openlayers/build/lite.cfg +0 -17
  50. data/misc/openlayers/build/mobile.cfg +0 -36
  51. data/misc/openlayers/build/tests.cfg +0 -11
  52. data/misc/openlayers/doc_config/Data/ClassHierarchy.nd +0 -0
  53. data/misc/openlayers/doc_config/Data/ConfigFileInfo.nd +0 -0
  54. data/misc/openlayers/doc_config/Data/FileInfo.nd +0 -323
  55. data/misc/openlayers/doc_config/Data/ImageFileInfo.nd +0 -0
  56. data/misc/openlayers/doc_config/Data/ImageReferenceTable.nd +0 -0
  57. data/misc/openlayers/doc_config/Data/IndexInfo.nd +0 -0
  58. data/misc/openlayers/doc_config/Data/PreviousMenuState.nd +0 -0
  59. data/misc/openlayers/doc_config/Data/PreviousSettings.nd +0 -0
  60. data/misc/openlayers/doc_config/Data/SymbolTable.nd +0 -0
  61. data/misc/openlayers/doc_config/Languages.txt +0 -113
  62. data/misc/openlayers/doc_config/Menu.txt +0 -520
  63. data/misc/openlayers/doc_config/OL.css +0 -20
  64. data/misc/openlayers/doc_config/Topics.txt +0 -102
  65. data/misc/openlayers/examples/Jugl.js +0 -8
  66. data/misc/openlayers/examples/KMLParser.html +0 -57
  67. data/misc/openlayers/examples/SLDSelect.html +0 -202
  68. data/misc/openlayers/examples/WMSDescribeLayerParser.html +0 -52
  69. data/misc/openlayers/examples/accelerometer.html +0 -100
  70. data/misc/openlayers/examples/accessible-click-control.html +0 -69
  71. data/misc/openlayers/examples/accessible-click-control.js +0 -199
  72. data/misc/openlayers/examples/accessible-panel.html +0 -130
  73. data/misc/openlayers/examples/accessible-panel.js +0 -64
  74. data/misc/openlayers/examples/accessible.html +0 -167
  75. data/misc/openlayers/examples/all-overlays-google.html +0 -34
  76. data/misc/openlayers/examples/all-overlays-google.js +0 -19
  77. data/misc/openlayers/examples/all-overlays.html +0 -76
  78. data/misc/openlayers/examples/anchor-permalink.html +0 -29
  79. data/misc/openlayers/examples/anchor-permalink.js +0 -13
  80. data/misc/openlayers/examples/animated_panning.html +0 -98
  81. data/misc/openlayers/examples/animator.js +0 -670
  82. data/misc/openlayers/examples/arcgis93rest.html +0 -69
  83. data/misc/openlayers/examples/arcgiscache_ags.html +0 -221
  84. data/misc/openlayers/examples/arcgiscache_direct.html +0 -108
  85. data/misc/openlayers/examples/arcgiscache_jsonp.html +0 -106
  86. data/misc/openlayers/examples/arcims-thematic.html +0 -82
  87. data/misc/openlayers/examples/arcims.html +0 -57
  88. data/misc/openlayers/examples/attribution.html +0 -60
  89. data/misc/openlayers/examples/behavior-fixed-http-gml.html +0 -56
  90. data/misc/openlayers/examples/bing-tiles-restrictedzoom.html +0 -43
  91. data/misc/openlayers/examples/bing-tiles-restrictedzoom.js +0 -37
  92. data/misc/openlayers/examples/bing-tiles.html +0 -39
  93. data/misc/openlayers/examples/bing-tiles.js +0 -31
  94. data/misc/openlayers/examples/bing.html +0 -64
  95. data/misc/openlayers/examples/bootstrap.html +0 -81
  96. data/misc/openlayers/examples/bootstrap.js +0 -31
  97. data/misc/openlayers/examples/boxes-vector.html +0 -59
  98. data/misc/openlayers/examples/boxes.html +0 -58
  99. data/misc/openlayers/examples/browser.html +0 -152
  100. data/misc/openlayers/examples/browser.js +0 -241
  101. data/misc/openlayers/examples/buffer.html +0 -54
  102. data/misc/openlayers/examples/cache-read.html +0 -36
  103. data/misc/openlayers/examples/cache-read.js +0 -36
  104. data/misc/openlayers/examples/cache-write.html +0 -37
  105. data/misc/openlayers/examples/cache-write.js +0 -46
  106. data/misc/openlayers/examples/canvas-hit-detection.html +0 -31
  107. data/misc/openlayers/examples/canvas-hit-detection.js +0 -88
  108. data/misc/openlayers/examples/canvas-inspector.html +0 -53
  109. data/misc/openlayers/examples/canvas-inspector.js +0 -91
  110. data/misc/openlayers/examples/canvas.html +0 -35
  111. data/misc/openlayers/examples/canvas.js +0 -57
  112. data/misc/openlayers/examples/cartodb-geojson.html +0 -71
  113. data/misc/openlayers/examples/click-handler.html +0 -232
  114. data/misc/openlayers/examples/click.html +0 -91
  115. data/misc/openlayers/examples/clientzoom.html +0 -72
  116. data/misc/openlayers/examples/clientzoom.js +0 -39
  117. data/misc/openlayers/examples/controls.html +0 -86
  118. data/misc/openlayers/examples/cql-format.html +0 -54
  119. data/misc/openlayers/examples/cql-format.js +0 -61
  120. data/misc/openlayers/examples/cross-origin-xml.html +0 -32
  121. data/misc/openlayers/examples/cross-origin-xml.js +0 -25
  122. data/misc/openlayers/examples/cross-origin.html +0 -36
  123. data/misc/openlayers/examples/cross-origin.js +0 -39
  124. data/misc/openlayers/examples/custom-control.html +0 -68
  125. data/misc/openlayers/examples/custom-style.html +0 -66
  126. data/misc/openlayers/examples/data/4_m_citylights_lg.gif +0 -0
  127. data/misc/openlayers/examples/data/line.json +0 -10
  128. data/misc/openlayers/examples/data/point.json +0 -8
  129. data/misc/openlayers/examples/data/poly.json +0 -9
  130. data/misc/openlayers/examples/data/roads.json +0 -349
  131. data/misc/openlayers/examples/data/tazdem.tiff +0 -0
  132. data/misc/openlayers/examples/debug.html +0 -77
  133. data/misc/openlayers/examples/document-drag.html +0 -43
  134. data/misc/openlayers/examples/donut.html +0 -62
  135. data/misc/openlayers/examples/donut.js +0 -44
  136. data/misc/openlayers/examples/drag-feature.html +0 -114
  137. data/misc/openlayers/examples/draw-feature.html +0 -143
  138. data/misc/openlayers/examples/draw-undo-redo.html +0 -38
  139. data/misc/openlayers/examples/draw-undo-redo.js +0 -45
  140. data/misc/openlayers/examples/dynamic-text-layer.html +0 -101
  141. data/misc/openlayers/examples/editing-methods.html +0 -58
  142. data/misc/openlayers/examples/editing-methods.js +0 -83
  143. data/misc/openlayers/examples/editingtoolbar-outside.html +0 -56
  144. data/misc/openlayers/examples/editingtoolbar.html +0 -55
  145. data/misc/openlayers/examples/encoded-polyline.html +0 -47
  146. data/misc/openlayers/examples/events.html +0 -155
  147. data/misc/openlayers/examples/example-list.html +0 -302
  148. data/misc/openlayers/examples/example.html +0 -25
  149. data/misc/openlayers/examples/example.js +0 -23
  150. data/misc/openlayers/examples/feature-events.html +0 -46
  151. data/misc/openlayers/examples/feature-events.js +0 -67
  152. data/misc/openlayers/examples/filter-strategy.html +0 -54
  153. data/misc/openlayers/examples/filter-strategy.js +0 -84
  154. data/misc/openlayers/examples/filter.html +0 -107
  155. data/misc/openlayers/examples/fractional-zoom.html +0 -72
  156. data/misc/openlayers/examples/fullScreen.html +0 -53
  157. data/misc/openlayers/examples/fullScreen.js +0 -20
  158. data/misc/openlayers/examples/fusiontables.html +0 -35
  159. data/misc/openlayers/examples/fusiontables.js +0 -51
  160. data/misc/openlayers/examples/game-accel-ball.html +0 -82
  161. data/misc/openlayers/examples/geojson-reprojected.html +0 -46
  162. data/misc/openlayers/examples/geojson-reprojected.js +0 -27
  163. data/misc/openlayers/examples/geojson-reprojected.json +0 -1
  164. data/misc/openlayers/examples/geojson.html +0 -77
  165. data/misc/openlayers/examples/geolocation.html +0 -41
  166. data/misc/openlayers/examples/geolocation.js +0 -112
  167. data/misc/openlayers/examples/georss-flickr.html +0 -119
  168. data/misc/openlayers/examples/georss-markers.html +0 -45
  169. data/misc/openlayers/examples/georss.html +0 -63
  170. data/misc/openlayers/examples/georss.xml +0 -378
  171. data/misc/openlayers/examples/getfeature-wfs.html +0 -84
  172. data/misc/openlayers/examples/getfeatureinfo-control.html +0 -221
  173. data/misc/openlayers/examples/getfeatureinfo-popup.html +0 -96
  174. data/misc/openlayers/examples/gml-layer.html +0 -48
  175. data/misc/openlayers/examples/gml/line.xml +0 -42
  176. data/misc/openlayers/examples/gml/multipoint.xml +0 -70
  177. data/misc/openlayers/examples/gml/multipolygon.xml +0 -106
  178. data/misc/openlayers/examples/gml/owls.xml +0 -156
  179. data/misc/openlayers/examples/gml/point.xml +0 -42
  180. data/misc/openlayers/examples/gml/polygon.xml +0 -89
  181. data/misc/openlayers/examples/google-static.html +0 -39
  182. data/misc/openlayers/examples/google-static.js +0 -61
  183. data/misc/openlayers/examples/google-v3-alloverlays.html +0 -33
  184. data/misc/openlayers/examples/google-v3-alloverlays.js +0 -35
  185. data/misc/openlayers/examples/google-v3.html +0 -35
  186. data/misc/openlayers/examples/google-v3.js +0 -39
  187. data/misc/openlayers/examples/google.html +0 -69
  188. data/misc/openlayers/examples/graphic-name.html +0 -42
  189. data/misc/openlayers/examples/graphic-name.js +0 -67
  190. data/misc/openlayers/examples/graticule.html +0 -116
  191. data/misc/openlayers/examples/gutter.html +0 -55
  192. data/misc/openlayers/examples/highlight-feature.html +0 -88
  193. data/misc/openlayers/examples/hover-handler.html +0 -216
  194. data/misc/openlayers/examples/image-layer.html +0 -76
  195. data/misc/openlayers/examples/img/check-round-green.png +0 -0
  196. data/misc/openlayers/examples/img/check-round-grey.png +0 -0
  197. data/misc/openlayers/examples/img/list.png +0 -0
  198. data/misc/openlayers/examples/img/locate.png +0 -0
  199. data/misc/openlayers/examples/img/marker_shadow.png +0 -0
  200. data/misc/openlayers/examples/img/minus1.png +0 -0
  201. data/misc/openlayers/examples/img/mobile-layers.png +0 -0
  202. data/misc/openlayers/examples/img/mobile-loc.png +0 -0
  203. data/misc/openlayers/examples/img/mobile-zoombar.png +0 -0
  204. data/misc/openlayers/examples/img/openlayers.png +0 -0
  205. data/misc/openlayers/examples/img/popupMatrix.jpg +0 -0
  206. data/misc/openlayers/examples/img/small.jpg +0 -0
  207. data/misc/openlayers/examples/img/thinlong.jpg +0 -0
  208. data/misc/openlayers/examples/img/widelong.jpg +0 -0
  209. data/misc/openlayers/examples/img/wideshort.jpg +0 -0
  210. data/misc/openlayers/examples/intersects.html +0 -193
  211. data/misc/openlayers/examples/kamap.html +0 -45
  212. data/misc/openlayers/examples/kamap.txt +0 -508
  213. data/misc/openlayers/examples/kinetic.html +0 -44
  214. data/misc/openlayers/examples/kinetic.js +0 -27
  215. data/misc/openlayers/examples/kml-layer.html +0 -36
  216. data/misc/openlayers/examples/kml-layer.js +0 -22
  217. data/misc/openlayers/examples/kml-pointtrack.html +0 -40
  218. data/misc/openlayers/examples/kml-pointtrack.js +0 -52
  219. data/misc/openlayers/examples/kml-track.html +0 -42
  220. data/misc/openlayers/examples/kml-track.js +0 -40
  221. data/misc/openlayers/examples/kml-track.kml +0 -3359
  222. data/misc/openlayers/examples/kml/lines.kml +0 -275
  223. data/misc/openlayers/examples/kml/styles.kml +0 -21
  224. data/misc/openlayers/examples/kml/sundials.kml +0 -2273
  225. data/misc/openlayers/examples/label-scale.html +0 -34
  226. data/misc/openlayers/examples/label-scale.js +0 -72
  227. data/misc/openlayers/examples/late-render.html +0 -48
  228. data/misc/openlayers/examples/layer-opacity.html +0 -95
  229. data/misc/openlayers/examples/layerLoadMonitoring.html +0 -135
  230. data/misc/openlayers/examples/layerswitcher.html +0 -60
  231. data/misc/openlayers/examples/light-basic.html +0 -35
  232. data/misc/openlayers/examples/light-basic.js +0 -67
  233. data/misc/openlayers/examples/lite.html +0 -39
  234. data/misc/openlayers/examples/mapbox.html +0 -30
  235. data/misc/openlayers/examples/mapbox.js +0 -21
  236. data/misc/openlayers/examples/mapguide.html +0 -155
  237. data/misc/openlayers/examples/mapquest.html +0 -28
  238. data/misc/openlayers/examples/mapquest.js +0 -36
  239. data/misc/openlayers/examples/mapserver.html +0 -41
  240. data/misc/openlayers/examples/mapserver_untiled.html +0 -43
  241. data/misc/openlayers/examples/marker-shadow.html +0 -152
  242. data/misc/openlayers/examples/markerResize.html +0 -60
  243. data/misc/openlayers/examples/markers.html +0 -59
  244. data/misc/openlayers/examples/markersTextLayer.html +0 -41
  245. data/misc/openlayers/examples/measure.html +0 -203
  246. data/misc/openlayers/examples/mobile-base.js +0 -167
  247. data/misc/openlayers/examples/mobile-drawing.html +0 -52
  248. data/misc/openlayers/examples/mobile-drawing.js +0 -71
  249. data/misc/openlayers/examples/mobile-jq.html +0 -76
  250. data/misc/openlayers/examples/mobile-jq.js +0 -159
  251. data/misc/openlayers/examples/mobile-layers.html +0 -62
  252. data/misc/openlayers/examples/mobile-layers.js +0 -71
  253. data/misc/openlayers/examples/mobile-navigation.html +0 -52
  254. data/misc/openlayers/examples/mobile-navigation.js +0 -24
  255. data/misc/openlayers/examples/mobile-sencha.html +0 -184
  256. data/misc/openlayers/examples/mobile-sencha.js +0 -198
  257. data/misc/openlayers/examples/mobile-wmts-vienna.css +0 -205
  258. data/misc/openlayers/examples/mobile-wmts-vienna.html +0 -27
  259. data/misc/openlayers/examples/mobile-wmts-vienna.js +0 -281
  260. data/misc/openlayers/examples/mobile.html +0 -56
  261. data/misc/openlayers/examples/mobile.js +0 -39
  262. data/misc/openlayers/examples/modify-feature.html +0 -193
  263. data/misc/openlayers/examples/mouse-position.html +0 -67
  264. data/misc/openlayers/examples/mousewheel-interval.html +0 -63
  265. data/misc/openlayers/examples/multiserver.html +0 -52
  266. data/misc/openlayers/examples/multitouch.html +0 -28
  267. data/misc/openlayers/examples/mvs.html +0 -129
  268. data/misc/openlayers/examples/navigation-control.html +0 -44
  269. data/misc/openlayers/examples/navigation-history.html +0 -62
  270. data/misc/openlayers/examples/navtoolbar-alwaysZoom.html +0 -85
  271. data/misc/openlayers/examples/navtoolbar-outsidemap.html +0 -47
  272. data/misc/openlayers/examples/navtoolbar.html +0 -46
  273. data/misc/openlayers/examples/offline-storage.html +0 -44
  274. data/misc/openlayers/examples/offline-storage.js +0 -199
  275. data/misc/openlayers/examples/openls.html +0 -88
  276. data/misc/openlayers/examples/ordering.html +0 -221
  277. data/misc/openlayers/examples/osm-google.html +0 -32
  278. data/misc/openlayers/examples/osm-google.js +0 -23
  279. data/misc/openlayers/examples/osm-grayscale.html +0 -77
  280. data/misc/openlayers/examples/osm-marker-popup.html +0 -32
  281. data/misc/openlayers/examples/osm-marker-popup.js +0 -39
  282. data/misc/openlayers/examples/osm.html +0 -41
  283. data/misc/openlayers/examples/osm/sutton_coldfield.osm +0 -662
  284. data/misc/openlayers/examples/overviewmap.html +0 -120
  285. data/misc/openlayers/examples/pan-zoom-panels.html +0 -97
  286. data/misc/openlayers/examples/panel.html +0 -99
  287. data/misc/openlayers/examples/point-grid.html +0 -75
  288. data/misc/openlayers/examples/point-grid.js +0 -33
  289. data/misc/openlayers/examples/point-track-markers.html +0 -72
  290. data/misc/openlayers/examples/polar-projections.html +0 -41
  291. data/misc/openlayers/examples/polar-projections.js +0 -84
  292. data/misc/openlayers/examples/popupMatrix.html +0 -652
  293. data/misc/openlayers/examples/proxy.cgi +0 -81
  294. data/misc/openlayers/examples/regular-polygons.html +0 -177
  295. data/misc/openlayers/examples/resize-features.html +0 -101
  296. data/misc/openlayers/examples/restricted-extent.html +0 -77
  297. data/misc/openlayers/examples/rotate-features.html +0 -113
  298. data/misc/openlayers/examples/select-feature-multilayer.html +0 -129
  299. data/misc/openlayers/examples/select-feature-openpopup.html +0 -106
  300. data/misc/openlayers/examples/select-feature.html +0 -170
  301. data/misc/openlayers/examples/setextent.html +0 -39
  302. data/misc/openlayers/examples/simplify-linestring.html +0 -103
  303. data/misc/openlayers/examples/simplify-linestring.js +0 -599
  304. data/misc/openlayers/examples/single-tile.html +0 -33
  305. data/misc/openlayers/examples/single-tile.js +0 -20
  306. data/misc/openlayers/examples/sld-parser.html +0 -70
  307. data/misc/openlayers/examples/sld.html +0 -31
  308. data/misc/openlayers/examples/sld.js +0 -102
  309. data/misc/openlayers/examples/snap-grid.html +0 -78
  310. data/misc/openlayers/examples/snap-grid.js +0 -81
  311. data/misc/openlayers/examples/snap-split.html +0 -281
  312. data/misc/openlayers/examples/snapping.html +0 -324
  313. data/misc/openlayers/examples/sos.html +0 -189
  314. data/misc/openlayers/examples/spherical-mercator.html +0 -120
  315. data/misc/openlayers/examples/split-feature.html +0 -116
  316. data/misc/openlayers/examples/strategy-bbox.html +0 -106
  317. data/misc/openlayers/examples/strategy-cluster-extended.html +0 -125
  318. data/misc/openlayers/examples/strategy-cluster-extended.js +0 -247
  319. data/misc/openlayers/examples/strategy-cluster-threshold.html +0 -149
  320. data/misc/openlayers/examples/strategy-cluster.html +0 -238
  321. data/misc/openlayers/examples/strategy-paging.html +0 -115
  322. data/misc/openlayers/examples/style-rules.html +0 -49
  323. data/misc/openlayers/examples/style-rules.js +0 -99
  324. data/misc/openlayers/examples/style.css +0 -143
  325. data/misc/openlayers/examples/style.mobile-jq.css +0 -62
  326. data/misc/openlayers/examples/stylemap.html +0 -100
  327. data/misc/openlayers/examples/styles-context.html +0 -117
  328. data/misc/openlayers/examples/styles-rotation.html +0 -93
  329. data/misc/openlayers/examples/styles-unique.html +0 -109
  330. data/misc/openlayers/examples/sundials-spherical-mercator.html +0 -111
  331. data/misc/openlayers/examples/sundials.html +0 -107
  332. data/misc/openlayers/examples/symbolizers-fill-stroke-graphic.html +0 -141
  333. data/misc/openlayers/examples/tasmania/TasmaniaCities.xml +0 -40
  334. data/misc/openlayers/examples/tasmania/TasmaniaRoads.xml +0 -204
  335. data/misc/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml +0 -92
  336. data/misc/openlayers/examples/tasmania/TasmaniaWaterBodies.xml +0 -162
  337. data/misc/openlayers/examples/tasmania/sld-tasmania.xml +0 -594
  338. data/misc/openlayers/examples/teleportation.html +0 -76
  339. data/misc/openlayers/examples/textfile.txt +0 -4
  340. data/misc/openlayers/examples/tile-origin.html +0 -38
  341. data/misc/openlayers/examples/tile-origin.js +0 -16
  342. data/misc/openlayers/examples/tilecache.html +0 -58
  343. data/misc/openlayers/examples/tms.html +0 -62
  344. data/misc/openlayers/examples/transform-feature.html +0 -123
  345. data/misc/openlayers/examples/transition.html +0 -70
  346. data/misc/openlayers/examples/using-proj4js.html +0 -109
  347. data/misc/openlayers/examples/using-proj4js.js +0 -132
  348. data/misc/openlayers/examples/utfgrid-geography-class.html +0 -51
  349. data/misc/openlayers/examples/utfgrid-geography-class.js +0 -62
  350. data/misc/openlayers/examples/utfgrid.html +0 -64
  351. data/misc/openlayers/examples/utfgrid.js +0 -61
  352. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  353. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  354. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  355. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  356. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  357. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  358. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  359. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  360. data/misc/openlayers/examples/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  361. data/misc/openlayers/examples/utfgrid/geography-class/0/0/0.grid.json +0 -1
  362. data/misc/openlayers/examples/utfgrid/geography-class/1/0/0.grid.json +0 -1
  363. data/misc/openlayers/examples/utfgrid/geography-class/1/0/1.grid.json +0 -1
  364. data/misc/openlayers/examples/utfgrid/geography-class/1/1/0.grid.json +0 -1
  365. data/misc/openlayers/examples/utfgrid/geography-class/1/1/1.grid.json +0 -1
  366. data/misc/openlayers/examples/utfgrid/geography-class/2/0/0.grid.json +0 -1
  367. data/misc/openlayers/examples/utfgrid/geography-class/2/0/1.grid.json +0 -1
  368. data/misc/openlayers/examples/utfgrid/geography-class/2/0/2.grid.json +0 -1
  369. data/misc/openlayers/examples/utfgrid/geography-class/2/0/3.grid.json +0 -1
  370. data/misc/openlayers/examples/utfgrid/geography-class/2/1/0.grid.json +0 -1
  371. data/misc/openlayers/examples/utfgrid/geography-class/2/1/1.grid.json +0 -1
  372. data/misc/openlayers/examples/utfgrid/geography-class/2/1/2.grid.json +0 -1
  373. data/misc/openlayers/examples/utfgrid/geography-class/2/1/3.grid.json +0 -1
  374. data/misc/openlayers/examples/utfgrid/geography-class/2/2/0.grid.json +0 -1
  375. data/misc/openlayers/examples/utfgrid/geography-class/2/2/1.grid.json +0 -1
  376. data/misc/openlayers/examples/utfgrid/geography-class/2/2/2.grid.json +0 -1
  377. data/misc/openlayers/examples/utfgrid/geography-class/2/2/3.grid.json +0 -1
  378. data/misc/openlayers/examples/utfgrid/geography-class/2/3/0.grid.json +0 -1
  379. data/misc/openlayers/examples/utfgrid/geography-class/2/3/1.grid.json +0 -1
  380. data/misc/openlayers/examples/utfgrid/geography-class/2/3/2.grid.json +0 -1
  381. data/misc/openlayers/examples/utfgrid/geography-class/2/3/3.grid.json +0 -1
  382. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/0.json +0 -1
  383. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/1.json +0 -1
  384. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/0/2.json +0 -1
  385. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/0.json +0 -1
  386. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/1.json +0 -1
  387. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/1/2.json +0 -1
  388. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/0.json +0 -1
  389. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/1.json +0 -1
  390. data/misc/openlayers/examples/utfgrid/world_utfgrid/1/2/2.json +0 -1
  391. data/misc/openlayers/examples/utfgrid_twogrids.html +0 -51
  392. data/misc/openlayers/examples/utfgrid_twogrids.js +0 -70
  393. data/misc/openlayers/examples/vector-features-with-text.html +0 -138
  394. data/misc/openlayers/examples/vector-features.html +0 -149
  395. data/misc/openlayers/examples/vector-formats.html +0 -240
  396. data/misc/openlayers/examples/web-mercator.html +0 -50
  397. data/misc/openlayers/examples/web-mercator.js +0 -37
  398. data/misc/openlayers/examples/wfs-filter.html +0 -35
  399. data/misc/openlayers/examples/wfs-filter.js +0 -48
  400. data/misc/openlayers/examples/wfs-protocol-transactions.html +0 -104
  401. data/misc/openlayers/examples/wfs-protocol-transactions.js +0 -106
  402. data/misc/openlayers/examples/wfs-protocol.html +0 -55
  403. data/misc/openlayers/examples/wfs-reprojection.html +0 -42
  404. data/misc/openlayers/examples/wfs-reprojection.js +0 -60
  405. data/misc/openlayers/examples/wfs-snap-split.html +0 -292
  406. data/misc/openlayers/examples/wfs-spatial-filter.html +0 -37
  407. data/misc/openlayers/examples/wfs-spatial-filter.js +0 -36
  408. data/misc/openlayers/examples/wfs-states.html +0 -34
  409. data/misc/openlayers/examples/wfs-states.js +0 -35
  410. data/misc/openlayers/examples/wmc.html +0 -150
  411. data/misc/openlayers/examples/wms-long-url.html +0 -44
  412. data/misc/openlayers/examples/wms-long-url.js +0 -26
  413. data/misc/openlayers/examples/wms-untiled.html +0 -48
  414. data/misc/openlayers/examples/wms-v13.html +0 -57
  415. data/misc/openlayers/examples/wms.html +0 -49
  416. data/misc/openlayers/examples/wmst.html +0 -63
  417. data/misc/openlayers/examples/wmts-capabilities.html +0 -43
  418. data/misc/openlayers/examples/wmts-capabilities.js +0 -58
  419. data/misc/openlayers/examples/wmts-getfeatureinfo.html +0 -74
  420. data/misc/openlayers/examples/wmts-getfeatureinfo.js +0 -94
  421. data/misc/openlayers/examples/wmts.html +0 -41
  422. data/misc/openlayers/examples/wmts.js +0 -35
  423. data/misc/openlayers/examples/wps-client.html +0 -31
  424. data/misc/openlayers/examples/wps-client.js +0 -75
  425. data/misc/openlayers/examples/wps.html +0 -89
  426. data/misc/openlayers/examples/wps.js +0 -353
  427. data/misc/openlayers/examples/wrapDateLine.html +0 -73
  428. data/misc/openlayers/examples/xhtml.html +0 -42
  429. data/misc/openlayers/examples/xml.html +0 -161
  430. data/misc/openlayers/examples/xml/features.xml +0 -2
  431. data/misc/openlayers/examples/xml/georss-flickr.xml +0 -730
  432. data/misc/openlayers/examples/xml/track1.xml +0 -98
  433. data/misc/openlayers/examples/xml/wmsdescribelayer.xml +0 -5
  434. data/misc/openlayers/examples/xyz-esri.html +0 -45
  435. data/misc/openlayers/examples/yelp-georss.xml +0 -147
  436. data/misc/openlayers/examples/zoom.html +0 -68
  437. data/misc/openlayers/examples/zoom.js +0 -34
  438. data/misc/openlayers/examples/zoomLevels.html +0 -81
  439. data/misc/openlayers/examples/zoomify.html +0 -70
  440. data/misc/openlayers/img/blank.gif +0 -0
  441. data/misc/openlayers/img/cloud-popup-relative.png +0 -0
  442. data/misc/openlayers/img/drag-rectangle-off.png +0 -0
  443. data/misc/openlayers/img/drag-rectangle-on.png +0 -0
  444. data/misc/openlayers/img/east-mini.png +0 -0
  445. data/misc/openlayers/img/layer-switcher-maximize.png +0 -0
  446. data/misc/openlayers/img/layer-switcher-minimize.png +0 -0
  447. data/misc/openlayers/img/marker-blue.png +0 -0
  448. data/misc/openlayers/img/marker-gold.png +0 -0
  449. data/misc/openlayers/img/marker-green.png +0 -0
  450. data/misc/openlayers/img/marker.png +0 -0
  451. data/misc/openlayers/img/measuring-stick-off.png +0 -0
  452. data/misc/openlayers/img/measuring-stick-on.png +0 -0
  453. data/misc/openlayers/img/north-mini.png +0 -0
  454. data/misc/openlayers/img/panning-hand-off.png +0 -0
  455. data/misc/openlayers/img/panning-hand-on.png +0 -0
  456. data/misc/openlayers/img/slider.png +0 -0
  457. data/misc/openlayers/img/south-mini.png +0 -0
  458. data/misc/openlayers/img/west-mini.png +0 -0
  459. data/misc/openlayers/img/zoom-minus-mini.png +0 -0
  460. data/misc/openlayers/img/zoom-plus-mini.png +0 -0
  461. data/misc/openlayers/img/zoom-world-mini.png +0 -0
  462. data/misc/openlayers/img/zoombar.png +0 -0
  463. data/misc/openlayers/lib/Firebug/errorIcon.png +0 -0
  464. data/misc/openlayers/lib/Firebug/firebug.css +0 -209
  465. data/misc/openlayers/lib/Firebug/firebug.html +0 -23
  466. data/misc/openlayers/lib/Firebug/firebug.js +0 -674
  467. data/misc/openlayers/lib/Firebug/firebugx.js +0 -10
  468. data/misc/openlayers/lib/Firebug/infoIcon.png +0 -0
  469. data/misc/openlayers/lib/Firebug/license.txt +0 -30
  470. data/misc/openlayers/lib/Firebug/readme.txt +0 -13
  471. data/misc/openlayers/lib/Firebug/warningIcon.png +0 -0
  472. data/misc/openlayers/lib/OpenLayers.js +0 -429
  473. data/misc/openlayers/lib/OpenLayers/Animation.js +0 -102
  474. data/misc/openlayers/lib/OpenLayers/BaseTypes.js +0 -463
  475. data/misc/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -837
  476. data/misc/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -121
  477. data/misc/openlayers/lib/OpenLayers/BaseTypes/Date.js +0 -123
  478. data/misc/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -189
  479. data/misc/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -215
  480. data/misc/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -143
  481. data/misc/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -89
  482. data/misc/openlayers/lib/OpenLayers/Console.js +0 -250
  483. data/misc/openlayers/lib/OpenLayers/Control.js +0 -371
  484. data/misc/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -182
  485. data/misc/openlayers/lib/OpenLayers/Control/Attribution.js +0 -104
  486. data/misc/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  487. data/misc/openlayers/lib/OpenLayers/Control/CacheRead.js +0 -156
  488. data/misc/openlayers/lib/OpenLayers/Control/CacheWrite.js +0 -257
  489. data/misc/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -366
  490. data/misc/openlayers/lib/OpenLayers/Control/DragPan.js +0 -156
  491. data/misc/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -229
  492. data/misc/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -81
  493. data/misc/openlayers/lib/OpenLayers/Control/Geolocate.js +0 -192
  494. data/misc/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -597
  495. data/misc/openlayers/lib/OpenLayers/Control/Graticule.js +0 -377
  496. data/misc/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -142
  497. data/misc/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -521
  498. data/misc/openlayers/lib/OpenLayers/Control/Measure.js +0 -379
  499. data/misc/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -835
  500. data/misc/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -227
  501. data/misc/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -57
  502. data/misc/openlayers/lib/OpenLayers/Control/Navigation.js +0 -345
  503. data/misc/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  504. data/misc/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -750
  505. data/misc/openlayers/lib/OpenLayers/Control/Pan.js +0 -95
  506. data/misc/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -73
  507. data/misc/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -233
  508. data/misc/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -408
  509. data/misc/openlayers/lib/OpenLayers/Control/Panel.js +0 -431
  510. data/misc/openlayers/lib/OpenLayers/Control/Permalink.js +0 -257
  511. data/misc/openlayers/lib/OpenLayers/Control/PinchZoom.js +0 -157
  512. data/misc/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -567
  513. data/misc/openlayers/lib/OpenLayers/Control/Scale.js +0 -100
  514. data/misc/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -220
  515. data/misc/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -643
  516. data/misc/openlayers/lib/OpenLayers/Control/Snapping.js +0 -560
  517. data/misc/openlayers/lib/OpenLayers/Control/Split.js +0 -494
  518. data/misc/openlayers/lib/OpenLayers/Control/TouchNavigation.js +0 -182
  519. data/misc/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -624
  520. data/misc/openlayers/lib/OpenLayers/Control/UTFGrid.js +0 -240
  521. data/misc/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -532
  522. data/misc/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -400
  523. data/misc/openlayers/lib/OpenLayers/Control/Zoom.js +0 -138
  524. data/misc/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -129
  525. data/misc/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -29
  526. data/misc/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -29
  527. data/misc/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  528. data/misc/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -35
  529. data/misc/openlayers/lib/OpenLayers/Events.js +0 -1170
  530. data/misc/openlayers/lib/OpenLayers/Events/buttonclick.js +0 -206
  531. data/misc/openlayers/lib/OpenLayers/Events/featureclick.js +0 -321
  532. data/misc/openlayers/lib/OpenLayers/Feature.js +0 -225
  533. data/misc/openlayers/lib/OpenLayers/Feature/Vector.js +0 -510
  534. data/misc/openlayers/lib/OpenLayers/Filter.js +0 -87
  535. data/misc/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -267
  536. data/misc/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -87
  537. data/misc/openlayers/lib/OpenLayers/Filter/Function.js +0 -49
  538. data/misc/openlayers/lib/OpenLayers/Filter/Logical.js +0 -121
  539. data/misc/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -122
  540. data/misc/openlayers/lib/OpenLayers/Format.js +0 -123
  541. data/misc/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  542. data/misc/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -46
  543. data/misc/openlayers/lib/OpenLayers/Format/Atom.js +0 -712
  544. data/misc/openlayers/lib/OpenLayers/Format/CQL.js +0 -452
  545. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  546. data/misc/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -240
  547. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  548. data/misc/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -457
  549. data/misc/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  550. data/misc/openlayers/lib/OpenLayers/Format/EncodedPolyline.js +0 -557
  551. data/misc/openlayers/lib/OpenLayers/Format/Filter.js +0 -53
  552. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -504
  553. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -184
  554. data/misc/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -222
  555. data/misc/openlayers/lib/OpenLayers/Format/GML.js +0 -923
  556. data/misc/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -645
  557. data/misc/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  558. data/misc/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -477
  559. data/misc/openlayers/lib/OpenLayers/Format/GPX.js +0 -385
  560. data/misc/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  561. data/misc/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -409
  562. data/misc/openlayers/lib/OpenLayers/Format/JSON.js +0 -398
  563. data/misc/openlayers/lib/OpenLayers/Format/KML.js +0 -1517
  564. data/misc/openlayers/lib/OpenLayers/Format/OGCExceptionReport.js +0 -108
  565. data/misc/openlayers/lib/OpenLayers/Format/OSM.js +0 -465
  566. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon.js +0 -78
  567. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -318
  568. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -62
  569. data/misc/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -116
  570. data/misc/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -86
  571. data/misc/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -595
  572. data/misc/openlayers/lib/OpenLayers/Format/QueryStringFilter.js +0 -183
  573. data/misc/openlayers/lib/OpenLayers/Format/SLD.js +0 -81
  574. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1309
  575. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -46
  576. data/misc/openlayers/lib/OpenLayers/Format/SLD/v1_0_0_GeoServer.js +0 -149
  577. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -48
  578. data/misc/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  579. data/misc/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -190
  580. data/misc/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -302
  581. data/misc/openlayers/lib/OpenLayers/Format/Text.js +0 -151
  582. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities.js +0 -47
  583. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1.js +0 -55
  584. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js +0 -170
  585. data/misc/openlayers/lib/OpenLayers/Format/WCSCapabilities/v1_1_0.js +0 -109
  586. data/misc/openlayers/lib/OpenLayers/Format/WCSGetCoverage.js +0 -199
  587. data/misc/openlayers/lib/OpenLayers/Format/WFS.js +0 -223
  588. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -47
  589. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -129
  590. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -115
  591. data/misc/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -63
  592. data/misc/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -234
  593. data/misc/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  594. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -446
  595. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -174
  596. data/misc/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -189
  597. data/misc/openlayers/lib/OpenLayers/Format/WKT.js +0 -392
  598. data/misc/openlayers/lib/OpenLayers/Format/WMC.js +0 -182
  599. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -1267
  600. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -104
  601. data/misc/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -149
  602. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -56
  603. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -368
  604. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -122
  605. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -57
  606. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -60
  607. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1_WMSC.js +0 -85
  608. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  609. data/misc/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  610. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -53
  611. data/misc/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -122
  612. data/misc/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -296
  613. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -230
  614. data/misc/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -251
  615. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities.js +0 -48
  616. data/misc/openlayers/lib/OpenLayers/Format/WPSCapabilities/v1_0_0.js +0 -119
  617. data/misc/openlayers/lib/OpenLayers/Format/WPSDescribeProcess.js +0 -185
  618. data/misc/openlayers/lib/OpenLayers/Format/WPSExecute.js +0 -395
  619. data/misc/openlayers/lib/OpenLayers/Format/XLS.js +0 -68
  620. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1.js +0 -304
  621. data/misc/openlayers/lib/OpenLayers/Format/XLS/v1_1_0.js +0 -48
  622. data/misc/openlayers/lib/OpenLayers/Format/XML.js +0 -897
  623. data/misc/openlayers/lib/OpenLayers/Format/XML/VersionedOGC.js +0 -212
  624. data/misc/openlayers/lib/OpenLayers/Geometry.js +0 -500
  625. data/misc/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -563
  626. data/misc/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -89
  627. data/misc/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -646
  628. data/misc/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -433
  629. data/misc/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -258
  630. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -66
  631. data/misc/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -42
  632. data/misc/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  633. data/misc/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -255
  634. data/misc/openlayers/lib/OpenLayers/Handler.js +0 -325
  635. data/misc/openlayers/lib/OpenLayers/Handler/Box.js +0 -244
  636. data/misc/openlayers/lib/OpenLayers/Handler/Click.js +0 -505
  637. data/misc/openlayers/lib/OpenLayers/Handler/Drag.js +0 -547
  638. data/misc/openlayers/lib/OpenLayers/Handler/Feature.js +0 -434
  639. data/misc/openlayers/lib/OpenLayers/Handler/Hover.js +0 -180
  640. data/misc/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -117
  641. data/misc/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -264
  642. data/misc/openlayers/lib/OpenLayers/Handler/Path.js +0 -543
  643. data/misc/openlayers/lib/OpenLayers/Handler/Pinch.js +0 -239
  644. data/misc/openlayers/lib/OpenLayers/Handler/Point.js +0 -556
  645. data/misc/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -305
  646. data/misc/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -429
  647. data/misc/openlayers/lib/OpenLayers/Icon.js +0 -243
  648. data/misc/openlayers/lib/OpenLayers/Kinetic.js +0 -178
  649. data/misc/openlayers/lib/OpenLayers/Lang.js +0 -134
  650. data/misc/openlayers/lib/OpenLayers/Lang/ar.js +0 -32
  651. data/misc/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -54
  652. data/misc/openlayers/lib/OpenLayers/Lang/bg.js +0 -25
  653. data/misc/openlayers/lib/OpenLayers/Lang/br.js +0 -53
  654. data/misc/openlayers/lib/OpenLayers/Lang/ca.js +0 -89
  655. data/misc/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -45
  656. data/misc/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -80
  657. data/misc/openlayers/lib/OpenLayers/Lang/de.js +0 -55
  658. data/misc/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  659. data/misc/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  660. data/misc/openlayers/lib/OpenLayers/Lang/en.js +0 -89
  661. data/misc/openlayers/lib/OpenLayers/Lang/es.js +0 -90
  662. data/misc/openlayers/lib/OpenLayers/Lang/fi.js +0 -32
  663. data/misc/openlayers/lib/OpenLayers/Lang/fr.js +0 -53
  664. data/misc/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  665. data/misc/openlayers/lib/OpenLayers/Lang/gl.js +0 -53
  666. data/misc/openlayers/lib/OpenLayers/Lang/gsw.js +0 -53
  667. data/misc/openlayers/lib/OpenLayers/Lang/hr.js +0 -37
  668. data/misc/openlayers/lib/OpenLayers/Lang/hsb.js +0 -53
  669. data/misc/openlayers/lib/OpenLayers/Lang/hu.js +0 -54
  670. data/misc/openlayers/lib/OpenLayers/Lang/ia.js +0 -53
  671. data/misc/openlayers/lib/OpenLayers/Lang/id.js +0 -54
  672. data/misc/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  673. data/misc/openlayers/lib/OpenLayers/Lang/is.js +0 -27
  674. data/misc/openlayers/lib/OpenLayers/Lang/it.js +0 -80
  675. data/misc/openlayers/lib/OpenLayers/Lang/ja.js +0 -54
  676. data/misc/openlayers/lib/OpenLayers/Lang/km.js +0 -23
  677. data/misc/openlayers/lib/OpenLayers/Lang/ksh.js +0 -53
  678. data/misc/openlayers/lib/OpenLayers/Lang/lt.js +0 -47
  679. data/misc/openlayers/lib/OpenLayers/Lang/nb.js +0 -82
  680. data/misc/openlayers/lib/OpenLayers/Lang/nds.js +0 -37
  681. data/misc/openlayers/lib/OpenLayers/Lang/nl.js +0 -53
  682. data/misc/openlayers/lib/OpenLayers/Lang/nn.js +0 -19
  683. data/misc/openlayers/lib/OpenLayers/Lang/oc.js +0 -53
  684. data/misc/openlayers/lib/OpenLayers/Lang/pl.js +0 -89
  685. data/misc/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -54
  686. data/misc/openlayers/lib/OpenLayers/Lang/pt.js +0 -55
  687. data/misc/openlayers/lib/OpenLayers/Lang/ro.js +0 -69
  688. data/misc/openlayers/lib/OpenLayers/Lang/ru.js +0 -56
  689. data/misc/openlayers/lib/OpenLayers/Lang/sk.js +0 -44
  690. data/misc/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -45
  691. data/misc/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  692. data/misc/openlayers/lib/OpenLayers/Lang/vi.js +0 -53
  693. data/misc/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -80
  694. data/misc/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -81
  695. data/misc/openlayers/lib/OpenLayers/Layer.js +0 -1377
  696. data/misc/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -225
  697. data/misc/openlayers/lib/OpenLayers/Layer/ArcGISCache.js +0 -480
  698. data/misc/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -425
  699. data/misc/openlayers/lib/OpenLayers/Layer/Bing.js +0 -333
  700. data/misc/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  701. data/misc/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -441
  702. data/misc/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -319
  703. data/misc/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -265
  704. data/misc/openlayers/lib/OpenLayers/Layer/Google.js +0 -809
  705. data/misc/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -351
  706. data/misc/openlayers/lib/OpenLayers/Layer/Grid.js +0 -1343
  707. data/misc/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  708. data/misc/openlayers/lib/OpenLayers/Layer/Image.js +0 -259
  709. data/misc/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -192
  710. data/misc/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -143
  711. data/misc/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -443
  712. data/misc/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -181
  713. data/misc/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  714. data/misc/openlayers/lib/OpenLayers/Layer/OSM.js +0 -123
  715. data/misc/openlayers/lib/OpenLayers/Layer/PointGrid.js +0 -299
  716. data/misc/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -125
  717. data/misc/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -146
  718. data/misc/openlayers/lib/OpenLayers/Layer/TMS.js +0 -202
  719. data/misc/openlayers/lib/OpenLayers/Layer/Text.js +0 -267
  720. data/misc/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -140
  721. data/misc/openlayers/lib/OpenLayers/Layer/UTFGrid.js +0 -184
  722. data/misc/openlayers/lib/OpenLayers/Layer/Vector.js +0 -1007
  723. data/misc/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -154
  724. data/misc/openlayers/lib/OpenLayers/Layer/WMS.js +0 -267
  725. data/misc/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -510
  726. data/misc/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -105
  727. data/misc/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -172
  728. data/misc/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -260
  729. data/misc/openlayers/lib/OpenLayers/Map.js +0 -2867
  730. data/misc/openlayers/lib/OpenLayers/Marker.js +0 -241
  731. data/misc/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  732. data/misc/openlayers/lib/OpenLayers/Popup.js +0 -1065
  733. data/misc/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -195
  734. data/misc/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  735. data/misc/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -227
  736. data/misc/openlayers/lib/OpenLayers/Projection.js +0 -322
  737. data/misc/openlayers/lib/OpenLayers/Protocol.js +0 -291
  738. data/misc/openlayers/lib/OpenLayers/Protocol/CSW.js +0 -30
  739. data/misc/openlayers/lib/OpenLayers/Protocol/CSW/v2_0_2.js +0 -127
  740. data/misc/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -580
  741. data/misc/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  742. data/misc/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -133
  743. data/misc/openlayers/lib/OpenLayers/Protocol/Script.js +0 -377
  744. data/misc/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -86
  745. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -453
  746. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  747. data/misc/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -68
  748. data/misc/openlayers/lib/OpenLayers/Renderer.js +0 -432
  749. data/misc/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -906
  750. data/misc/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1053
  751. data/misc/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -1012
  752. data/misc/openlayers/lib/OpenLayers/Renderer/VML.js +0 -985
  753. data/misc/openlayers/lib/OpenLayers/Request.js +0 -429
  754. data/misc/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -458
  755. data/misc/openlayers/lib/OpenLayers/Rule.js +0 -236
  756. data/misc/openlayers/lib/OpenLayers/SingleFile.js +0 -78
  757. data/misc/openlayers/lib/OpenLayers/Spherical.js +0 -67
  758. data/misc/openlayers/lib/OpenLayers/Strategy.js +0 -121
  759. data/misc/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -290
  760. data/misc/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -283
  761. data/misc/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -159
  762. data/misc/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -135
  763. data/misc/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -233
  764. data/misc/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -141
  765. data/misc/openlayers/lib/OpenLayers/Strategy/Save.js +0 -231
  766. data/misc/openlayers/lib/OpenLayers/Style.js +0 -448
  767. data/misc/openlayers/lib/OpenLayers/Style2.js +0 -112
  768. data/misc/openlayers/lib/OpenLayers/StyleMap.js +0 -161
  769. data/misc/openlayers/lib/OpenLayers/Symbolizer.js +0 -55
  770. data/misc/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -74
  771. data/misc/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -157
  772. data/misc/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -88
  773. data/misc/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  774. data/misc/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -70
  775. data/misc/openlayers/lib/OpenLayers/Tile.js +0 -292
  776. data/misc/openlayers/lib/OpenLayers/Tile/Image.js +0 -510
  777. data/misc/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -233
  778. data/misc/openlayers/lib/OpenLayers/Tile/UTFGrid.js +0 -252
  779. data/misc/openlayers/lib/OpenLayers/TileManager.js +0 -462
  780. data/misc/openlayers/lib/OpenLayers/Tween.js +0 -361
  781. data/misc/openlayers/lib/OpenLayers/Util.js +0 -1773
  782. data/misc/openlayers/lib/OpenLayers/Util/vendorPrefix.js +0 -131
  783. data/misc/openlayers/lib/OpenLayers/WPSClient.js +0 -223
  784. data/misc/openlayers/lib/OpenLayers/WPSProcess.js +0 -501
  785. data/misc/openlayers/lib/Rico/Color.js +0 -253
  786. data/misc/openlayers/lib/Rico/Corner.js +0 -339
  787. data/misc/openlayers/lib/Rico/license.js +0 -19
  788. data/misc/openlayers/lib/deprecated.js +0 -5842
  789. data/misc/openlayers/license.txt +0 -27
  790. data/misc/openlayers/licenses/APACHE-2.0.txt +0 -202
  791. data/misc/openlayers/licenses/BSD-LICENSE.txt +0 -28
  792. data/misc/openlayers/licenses/MIT-LICENSE.txt +0 -18
  793. data/misc/openlayers/notes/2.12.md +0 -391
  794. data/misc/openlayers/notes/2.13.md +0 -159
  795. data/misc/openlayers/readme.md +0 -79
  796. data/misc/openlayers/tests/Animation.html +0 -96
  797. data/misc/openlayers/tests/BaseTypes.html +0 -387
  798. data/misc/openlayers/tests/BaseTypes/Bounds.html +0 -738
  799. data/misc/openlayers/tests/BaseTypes/Class.html +0 -350
  800. data/misc/openlayers/tests/BaseTypes/Date.html +0 -191
  801. data/misc/openlayers/tests/BaseTypes/Element.html +0 -195
  802. data/misc/openlayers/tests/BaseTypes/LonLat.html +0 -241
  803. data/misc/openlayers/tests/BaseTypes/Pixel.html +0 -123
  804. data/misc/openlayers/tests/BaseTypes/Size.html +0 -67
  805. data/misc/openlayers/tests/Console.html +0 -39
  806. data/misc/openlayers/tests/Control.html +0 -107
  807. data/misc/openlayers/tests/Control/ArgParser.html +0 -26
  808. data/misc/openlayers/tests/Control/Attribution.html +0 -60
  809. data/misc/openlayers/tests/Control/Button.html +0 -17
  810. data/misc/openlayers/tests/Control/CacheRead.html +0 -108
  811. data/misc/openlayers/tests/Control/CacheWrite.html +0 -90
  812. data/misc/openlayers/tests/Control/DragFeature.html +0 -383
  813. data/misc/openlayers/tests/Control/DragPan.html +0 -104
  814. data/misc/openlayers/tests/Control/DrawFeature.html +0 -160
  815. data/misc/openlayers/tests/Control/EditingToolbar.html +0 -33
  816. data/misc/openlayers/tests/Control/Geolocate.html +0 -129
  817. data/misc/openlayers/tests/Control/GetFeature.html +0 -177
  818. data/misc/openlayers/tests/Control/Graticule.html +0 -66
  819. data/misc/openlayers/tests/Control/KeyboardDefaults.html +0 -173
  820. data/misc/openlayers/tests/Control/LayerSwitcher.html +0 -249
  821. data/misc/openlayers/tests/Control/Measure.html +0 -386
  822. data/misc/openlayers/tests/Control/ModifyFeature.html +0 -828
  823. data/misc/openlayers/tests/Control/MousePosition.html +0 -109
  824. data/misc/openlayers/tests/Control/NavToolbar.html +0 -45
  825. data/misc/openlayers/tests/Control/Navigation.html +0 -200
  826. data/misc/openlayers/tests/Control/NavigationHistory.html +0 -245
  827. data/misc/openlayers/tests/Control/OverviewMap.html +0 -266
  828. data/misc/openlayers/tests/Control/Pan.html +0 -201
  829. data/misc/openlayers/tests/Control/PanPanel.html +0 -61
  830. data/misc/openlayers/tests/Control/PanZoom.html +0 -244
  831. data/misc/openlayers/tests/Control/PanZoomBar.html +0 -245
  832. data/misc/openlayers/tests/Control/Panel.html +0 -382
  833. data/misc/openlayers/tests/Control/Permalink.html +0 -453
  834. data/misc/openlayers/tests/Control/PinchZoom.html +0 -134
  835. data/misc/openlayers/tests/Control/SLDSelect.html +0 -239
  836. data/misc/openlayers/tests/Control/Scale.html +0 -54
  837. data/misc/openlayers/tests/Control/ScaleLine.html +0 -187
  838. data/misc/openlayers/tests/Control/SelectFeature.html +0 -632
  839. data/misc/openlayers/tests/Control/Snapping.html +0 -448
  840. data/misc/openlayers/tests/Control/Split.html +0 -319
  841. data/misc/openlayers/tests/Control/TouchNavigation.html +0 -155
  842. data/misc/openlayers/tests/Control/TransformFeature.html +0 -129
  843. data/misc/openlayers/tests/Control/UTFGrid.html +0 -120
  844. data/misc/openlayers/tests/Control/WMSGetFeatureInfo.html +0 -644
  845. data/misc/openlayers/tests/Control/WMTSGetFeatureInfo.html +0 -334
  846. data/misc/openlayers/tests/Control/Zoom.html +0 -83
  847. data/misc/openlayers/tests/Control/ZoomBox.html +0 -54
  848. data/misc/openlayers/tests/Control/ZoomIn.html +0 -101
  849. data/misc/openlayers/tests/Control/ZoomOut.html +0 -100
  850. data/misc/openlayers/tests/Control/ZoomToMaxExtent.html +0 -102
  851. data/misc/openlayers/tests/Events.html +0 -487
  852. data/misc/openlayers/tests/Events/buttonclick.html +0 -214
  853. data/misc/openlayers/tests/Events/featureclick.html +0 -91
  854. data/misc/openlayers/tests/Extras.html +0 -21
  855. data/misc/openlayers/tests/Feature.html +0 -205
  856. data/misc/openlayers/tests/Feature/Vector.html +0 -170
  857. data/misc/openlayers/tests/Filter.html +0 -31
  858. data/misc/openlayers/tests/Filter/Comparison.html +0 -373
  859. data/misc/openlayers/tests/Filter/FeatureId.html +0 -67
  860. data/misc/openlayers/tests/Filter/Logical.html +0 -144
  861. data/misc/openlayers/tests/Filter/Spatial.html +0 -112
  862. data/misc/openlayers/tests/Format.html +0 -23
  863. data/misc/openlayers/tests/Format/ArcXML.html +0 -277
  864. data/misc/openlayers/tests/Format/ArcXML/Features.html +0 -69
  865. data/misc/openlayers/tests/Format/Atom.html +0 -450
  866. data/misc/openlayers/tests/Format/CQL.html +0 -364
  867. data/misc/openlayers/tests/Format/CSWGetDomain.html +0 -23
  868. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.html +0 -56
  869. data/misc/openlayers/tests/Format/CSWGetDomain/v2_0_2.js +0 -18
  870. data/misc/openlayers/tests/Format/CSWGetRecords.html +0 -23
  871. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.html +0 -88
  872. data/misc/openlayers/tests/Format/CSWGetRecords/v2_0_2.js +0 -50
  873. data/misc/openlayers/tests/Format/EncodedPolyline.html +0 -372
  874. data/misc/openlayers/tests/Format/Filter.html +0 -21
  875. data/misc/openlayers/tests/Format/Filter/v1.html +0 -404
  876. data/misc/openlayers/tests/Format/Filter/v1_0_0.html +0 -295
  877. data/misc/openlayers/tests/Format/Filter/v1_1_0.html +0 -402
  878. data/misc/openlayers/tests/Format/GML.html +0 -462
  879. data/misc/openlayers/tests/Format/GML/cases.js +0 -232
  880. data/misc/openlayers/tests/Format/GML/v2.html +0 -684
  881. data/misc/openlayers/tests/Format/GML/v3.html +0 -828
  882. data/misc/openlayers/tests/Format/GPX.html +0 -179
  883. data/misc/openlayers/tests/Format/GeoJSON.html +0 -468
  884. data/misc/openlayers/tests/Format/GeoRSS.html +0 -122
  885. data/misc/openlayers/tests/Format/JSON.html +0 -53
  886. data/misc/openlayers/tests/Format/KML.html +0 -1437
  887. data/misc/openlayers/tests/Format/OGCExceptionReport.html +0 -100
  888. data/misc/openlayers/tests/Format/OSM.html +0 -115
  889. data/misc/openlayers/tests/Format/OWSCommon/v1_0_0.html +0 -34
  890. data/misc/openlayers/tests/Format/OWSCommon/v1_1_0.html +0 -34
  891. data/misc/openlayers/tests/Format/OWSContext/v0_3_1.html +0 -278
  892. data/misc/openlayers/tests/Format/QueryStringFilter.html +0 -306
  893. data/misc/openlayers/tests/Format/SLD.html +0 -36
  894. data/misc/openlayers/tests/Format/SLD/v1_0_0.html +0 -1028
  895. data/misc/openlayers/tests/Format/SLD/v1_0_0_GeoServer.html +0 -228
  896. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.html +0 -80
  897. data/misc/openlayers/tests/Format/SOSCapabilities/v1_0_0.js +0 -484
  898. data/misc/openlayers/tests/Format/SOSGetFeatureOfInterest.html +0 -80
  899. data/misc/openlayers/tests/Format/SOSGetObservation.html +0 -183
  900. data/misc/openlayers/tests/Format/Text.html +0 -49
  901. data/misc/openlayers/tests/Format/WCSCapabilities.html +0 -43
  902. data/misc/openlayers/tests/Format/WCSCapabilities/v1.html +0 -87
  903. data/misc/openlayers/tests/Format/WCSGetCoverage.html +0 -80
  904. data/misc/openlayers/tests/Format/WFS.html +0 -81
  905. data/misc/openlayers/tests/Format/WFSCapabilities.html +0 -43
  906. data/misc/openlayers/tests/Format/WFSCapabilities/v1.html +0 -179
  907. data/misc/openlayers/tests/Format/WFSDescribeFeatureType.html +0 -436
  908. data/misc/openlayers/tests/Format/WFST.html +0 -23
  909. data/misc/openlayers/tests/Format/WFST/v1.html +0 -455
  910. data/misc/openlayers/tests/Format/WFST/v1_0_0.html +0 -135
  911. data/misc/openlayers/tests/Format/WFST/v1_1_0.html +0 -236
  912. data/misc/openlayers/tests/Format/WKT.html +0 -297
  913. data/misc/openlayers/tests/Format/WMC.html +0 -315
  914. data/misc/openlayers/tests/Format/WMC/v1.html +0 -266
  915. data/misc/openlayers/tests/Format/WMC/v1_1_0.html +0 -86
  916. data/misc/openlayers/tests/Format/WMSCapabilities.html +0 -20
  917. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1.html +0 -5209
  918. data/misc/openlayers/tests/Format/WMSCapabilities/v1_1_1_WMSC.html +0 -348
  919. data/misc/openlayers/tests/Format/WMSCapabilities/v1_3_0.html +0 -614
  920. data/misc/openlayers/tests/Format/WMSDescribeLayer.html +0 -65
  921. data/misc/openlayers/tests/Format/WMSGetFeatureInfo.html +0 -319
  922. data/misc/openlayers/tests/Format/WMTSCapabilities.html +0 -20
  923. data/misc/openlayers/tests/Format/WMTSCapabilities/v1_0_0.html +0 -1042
  924. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.html +0 -30
  925. data/misc/openlayers/tests/Format/WPSCapabilities/v1_0_0.js +0 -112
  926. data/misc/openlayers/tests/Format/WPSDescribeProcess.html +0 -206
  927. data/misc/openlayers/tests/Format/WPSExecute.html +0 -549
  928. data/misc/openlayers/tests/Format/XLS/v1_1_0.html +0 -98
  929. data/misc/openlayers/tests/Format/XML.html +0 -900
  930. data/misc/openlayers/tests/Format/XML/VersionedOGC.html +0 -51
  931. data/misc/openlayers/tests/Geometry.html +0 -356
  932. data/misc/openlayers/tests/Geometry/Collection.html +0 -431
  933. data/misc/openlayers/tests/Geometry/Curve.html +0 -157
  934. data/misc/openlayers/tests/Geometry/LineString.html +0 -443
  935. data/misc/openlayers/tests/Geometry/LinearRing.html +0 -362
  936. data/misc/openlayers/tests/Geometry/MultiLineString.html +0 -267
  937. data/misc/openlayers/tests/Geometry/MultiPoint.html +0 -130
  938. data/misc/openlayers/tests/Geometry/MultiPolygon.html +0 -34
  939. data/misc/openlayers/tests/Geometry/Point.html +0 -244
  940. data/misc/openlayers/tests/Geometry/Polygon.html +0 -420
  941. data/misc/openlayers/tests/Handler.html +0 -265
  942. data/misc/openlayers/tests/Handler/Box.html +0 -106
  943. data/misc/openlayers/tests/Handler/Click.html +0 -735
  944. data/misc/openlayers/tests/Handler/Drag.html +0 -603
  945. data/misc/openlayers/tests/Handler/Feature.html +0 -698
  946. data/misc/openlayers/tests/Handler/Hover.html +0 -136
  947. data/misc/openlayers/tests/Handler/Keyboard.html +0 -150
  948. data/misc/openlayers/tests/Handler/MouseWheel.html +0 -182
  949. data/misc/openlayers/tests/Handler/Path.html +0 -1464
  950. data/misc/openlayers/tests/Handler/Pinch.html +0 -285
  951. data/misc/openlayers/tests/Handler/Point.html +0 -600
  952. data/misc/openlayers/tests/Handler/Polygon.html +0 -1161
  953. data/misc/openlayers/tests/Handler/RegularPolygon.html +0 -235
  954. data/misc/openlayers/tests/Icon.html +0 -68
  955. data/misc/openlayers/tests/Kinetic.html +0 -132
  956. data/misc/openlayers/tests/Lang.html +0 -106
  957. data/misc/openlayers/tests/Layer.html +0 -910
  958. data/misc/openlayers/tests/Layer/ArcGIS93Rest.html +0 -324
  959. data/misc/openlayers/tests/Layer/ArcGISCache.html +0 -256
  960. data/misc/openlayers/tests/Layer/ArcGISCache.json +0 -334
  961. data/misc/openlayers/tests/Layer/ArcIMS.html +0 -123
  962. data/misc/openlayers/tests/Layer/Bing.html +0 -200
  963. data/misc/openlayers/tests/Layer/EventPane.html +0 -172
  964. data/misc/openlayers/tests/Layer/FixedZoomLevels.html +0 -137
  965. data/misc/openlayers/tests/Layer/GeoRSS.html +0 -210
  966. data/misc/openlayers/tests/Layer/Google.html +0 -369
  967. data/misc/openlayers/tests/Layer/Google/v3.html +0 -337
  968. data/misc/openlayers/tests/Layer/Grid.html +0 -1593
  969. data/misc/openlayers/tests/Layer/HTTPRequest.html +0 -229
  970. data/misc/openlayers/tests/Layer/Image.html +0 -164
  971. data/misc/openlayers/tests/Layer/KaMap.html +0 -287
  972. data/misc/openlayers/tests/Layer/MapGuide.html +0 -177
  973. data/misc/openlayers/tests/Layer/MapServer.html +0 -238
  974. data/misc/openlayers/tests/Layer/Markers.html +0 -156
  975. data/misc/openlayers/tests/Layer/OSM.html +0 -16
  976. data/misc/openlayers/tests/Layer/PointGrid.html +0 -232
  977. data/misc/openlayers/tests/Layer/PointTrack.html +0 -79
  978. data/misc/openlayers/tests/Layer/SphericalMercator.html +0 -126
  979. data/misc/openlayers/tests/Layer/TMS.html +0 -262
  980. data/misc/openlayers/tests/Layer/Text.html +0 -211
  981. data/misc/openlayers/tests/Layer/TileCache.html +0 -203
  982. data/misc/openlayers/tests/Layer/UTFGrid.html +0 -131
  983. data/misc/openlayers/tests/Layer/Vector.html +0 -879
  984. data/misc/openlayers/tests/Layer/Vector/RootContainer.html +0 -63
  985. data/misc/openlayers/tests/Layer/WMS.html +0 -583
  986. data/misc/openlayers/tests/Layer/WMTS.html +0 -1491
  987. data/misc/openlayers/tests/Layer/WrapDateLine.html +0 -188
  988. data/misc/openlayers/tests/Layer/XYZ.html +0 -266
  989. data/misc/openlayers/tests/Layer/atom-1.0.xml +0 -34
  990. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile.txt +0 -3
  991. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_2.txt +0 -3
  992. data/misc/openlayers/tests/Layer/data_Layer_Text_textfile_overflow.txt +0 -3
  993. data/misc/openlayers/tests/Layer/georss.txt +0 -378
  994. data/misc/openlayers/tests/Map.html +0 -2255
  995. data/misc/openlayers/tests/Marker.html +0 -163
  996. data/misc/openlayers/tests/Marker/Box.html +0 -183
  997. data/misc/openlayers/tests/OLLoader.js +0 -26
  998. data/misc/openlayers/tests/OpenLayers1.html +0 -18
  999. data/misc/openlayers/tests/OpenLayers2.html +0 -19
  1000. data/misc/openlayers/tests/OpenLayers3.html +0 -19
  1001. data/misc/openlayers/tests/OpenLayers4.html +0 -18
  1002. data/misc/openlayers/tests/OpenLayersJsFiles.html +0 -27
  1003. data/misc/openlayers/tests/Popup.html +0 -219
  1004. data/misc/openlayers/tests/Popup/Anchored.html +0 -37
  1005. data/misc/openlayers/tests/Popup/FramedCloud.html +0 -18
  1006. data/misc/openlayers/tests/Projection.html +0 -87
  1007. data/misc/openlayers/tests/Protocol.html +0 -63
  1008. data/misc/openlayers/tests/Protocol/CSW.html +0 -90
  1009. data/misc/openlayers/tests/Protocol/HTTP.html +0 -842
  1010. data/misc/openlayers/tests/Protocol/SOS.html +0 -57
  1011. data/misc/openlayers/tests/Protocol/Script.html +0 -282
  1012. data/misc/openlayers/tests/Protocol/WFS.html +0 -471
  1013. data/misc/openlayers/tests/README.txt +0 -16
  1014. data/misc/openlayers/tests/Renderer.html +0 -96
  1015. data/misc/openlayers/tests/Renderer/Canvas.html +0 -501
  1016. data/misc/openlayers/tests/Renderer/Elements.html +0 -651
  1017. data/misc/openlayers/tests/Renderer/SVG.html +0 -441
  1018. data/misc/openlayers/tests/Renderer/VML.html +0 -454
  1019. data/misc/openlayers/tests/Request.html +0 -524
  1020. data/misc/openlayers/tests/Request/XMLHttpRequest.html +0 -59
  1021. data/misc/openlayers/tests/Rule.html +0 -123
  1022. data/misc/openlayers/tests/SingleFile1.html +0 -15
  1023. data/misc/openlayers/tests/SingleFile2.html +0 -15
  1024. data/misc/openlayers/tests/SingleFile3.html +0 -15
  1025. data/misc/openlayers/tests/Strategy.html +0 -94
  1026. data/misc/openlayers/tests/Strategy/BBOX.html +0 -361
  1027. data/misc/openlayers/tests/Strategy/Cluster.html +0 -148
  1028. data/misc/openlayers/tests/Strategy/Filter.html +0 -135
  1029. data/misc/openlayers/tests/Strategy/Fixed.html +0 -253
  1030. data/misc/openlayers/tests/Strategy/Paging.html +0 -113
  1031. data/misc/openlayers/tests/Strategy/Refresh.html +0 -177
  1032. data/misc/openlayers/tests/Strategy/Save.html +0 -127
  1033. data/misc/openlayers/tests/Style.html +0 -426
  1034. data/misc/openlayers/tests/Style2.html +0 -56
  1035. data/misc/openlayers/tests/StyleMap.html +0 -44
  1036. data/misc/openlayers/tests/Symbolizer.html +0 -31
  1037. data/misc/openlayers/tests/Symbolizer/Line.html +0 -42
  1038. data/misc/openlayers/tests/Symbolizer/Point.html +0 -52
  1039. data/misc/openlayers/tests/Symbolizer/Polygon.html +0 -44
  1040. data/misc/openlayers/tests/Symbolizer/Raster.html +0 -32
  1041. data/misc/openlayers/tests/Symbolizer/Text.html +0 -42
  1042. data/misc/openlayers/tests/Test.AnotherWay.baseadditions.js +0 -191
  1043. data/misc/openlayers/tests/Test.AnotherWay.css +0 -243
  1044. data/misc/openlayers/tests/Test.AnotherWay.geom_eq.js +0 -139
  1045. data/misc/openlayers/tests/Test.AnotherWay.js +0 -2498
  1046. data/misc/openlayers/tests/Test.AnotherWay.xml_eq.js +0 -311
  1047. data/misc/openlayers/tests/Tile.html +0 -130
  1048. data/misc/openlayers/tests/Tile/Image.html +0 -490
  1049. data/misc/openlayers/tests/Tile/Image/IFrame.html +0 -183
  1050. data/misc/openlayers/tests/Tile/UTFGrid.html +0 -306
  1051. data/misc/openlayers/tests/TileManager.html +0 -137
  1052. data/misc/openlayers/tests/Tween.html +0 -116
  1053. data/misc/openlayers/tests/Util.html +0 -1180
  1054. data/misc/openlayers/tests/Util/vendorPrefix.html +0 -117
  1055. data/misc/openlayers/tests/Util_common.js +0 -64
  1056. data/misc/openlayers/tests/Util_w3c.html +0 -35
  1057. data/misc/openlayers/tests/WPSClient.html +0 -108
  1058. data/misc/openlayers/tests/WPSProcess.html +0 -188
  1059. data/misc/openlayers/tests/atom-1.0.xml +0 -34
  1060. data/misc/openlayers/tests/auto-tests.html +0 -2447
  1061. data/misc/openlayers/tests/data/geos_wkt_intersects.js +0 -495
  1062. data/misc/openlayers/tests/data/osm.js +0 -14
  1063. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/0.json +0 -1
  1064. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/1.json +0 -1
  1065. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/0/2.json +0 -1
  1066. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/0.json +0 -1
  1067. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/1.json +0 -1
  1068. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/1/2.json +0 -1
  1069. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/0.json +0 -1
  1070. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/1.json +0 -1
  1071. data/misc/openlayers/tests/data/utfgrid/bio_utfgrid/1/2/2.json +0 -1
  1072. data/misc/openlayers/tests/data/utfgrid/demo-1.1.json +0 -1
  1073. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/0.json +0 -1
  1074. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/1.json +0 -1
  1075. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/0/2.json +0 -1
  1076. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/0.json +0 -1
  1077. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/1.json +0 -1
  1078. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/1/2.json +0 -1
  1079. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/0.json +0 -1
  1080. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/1.json +0 -1
  1081. data/misc/openlayers/tests/data/utfgrid/world_utfgrid/1/2/2.json +0 -1
  1082. data/misc/openlayers/tests/data_Layer_Text_textfile.txt +0 -3
  1083. data/misc/openlayers/tests/data_Layer_Text_textfile_2.txt +0 -3
  1084. data/misc/openlayers/tests/data_Layer_Text_textfile_overflow.txt +0 -3
  1085. data/misc/openlayers/tests/deprecated/Ajax.html +0 -28
  1086. data/misc/openlayers/tests/deprecated/BaseTypes/Class.html +0 -142
  1087. data/misc/openlayers/tests/deprecated/BaseTypes/Element.html +0 -56
  1088. data/misc/openlayers/tests/deprecated/Control/MouseToolbar.html +0 -60
  1089. data/misc/openlayers/tests/deprecated/Geometry/Rectangle.html +0 -77
  1090. data/misc/openlayers/tests/deprecated/Layer/GML.html +0 -61
  1091. data/misc/openlayers/tests/deprecated/Layer/MapServer.html +0 -59
  1092. data/misc/openlayers/tests/deprecated/Layer/MapServer/Untiled.html +0 -158
  1093. data/misc/openlayers/tests/deprecated/Layer/WFS.html +0 -178
  1094. data/misc/openlayers/tests/deprecated/Layer/WMS.html +0 -60
  1095. data/misc/openlayers/tests/deprecated/Layer/WMS/Post.html +0 -89
  1096. data/misc/openlayers/tests/deprecated/Layer/Yahoo.html +0 -121
  1097. data/misc/openlayers/tests/deprecated/Layer/mice.xml +0 -156
  1098. data/misc/openlayers/tests/deprecated/Layer/owls.xml +0 -156
  1099. data/misc/openlayers/tests/deprecated/Popup/AnchoredBubble.html +0 -61
  1100. data/misc/openlayers/tests/deprecated/Protocol/SQL.html +0 -24
  1101. data/misc/openlayers/tests/deprecated/Protocol/SQL/Gears.html +0 -474
  1102. data/misc/openlayers/tests/deprecated/Renderer/SVG2.html +0 -399
  1103. data/misc/openlayers/tests/deprecated/Tile/WFS.html +0 -215
  1104. data/misc/openlayers/tests/deprecated/Util.html +0 -20
  1105. data/misc/openlayers/tests/georss.txt +0 -378
  1106. data/misc/openlayers/tests/grid_inittiles.html +0 -30
  1107. data/misc/openlayers/tests/index.html +0 -6
  1108. data/misc/openlayers/tests/list-tests.html +0 -260
  1109. data/misc/openlayers/tests/manual/ajax.html +0 -49
  1110. data/misc/openlayers/tests/manual/ajax.txt +0 -1
  1111. data/misc/openlayers/tests/manual/alloverlays-mixed.html +0 -55
  1112. data/misc/openlayers/tests/manual/arcims-2117.html +0 -103
  1113. data/misc/openlayers/tests/manual/arkansas.rss +0 -9
  1114. data/misc/openlayers/tests/manual/big-georss.html +0 -33
  1115. data/misc/openlayers/tests/manual/box-quirks.html +0 -52
  1116. data/misc/openlayers/tests/manual/box-strict.html +0 -46
  1117. data/misc/openlayers/tests/manual/clip-features-svg.html +0 -128
  1118. data/misc/openlayers/tests/manual/dateline-sketch.html +0 -66
  1119. data/misc/openlayers/tests/manual/dateline-smallextent.html +0 -61
  1120. data/misc/openlayers/tests/manual/draw-feature.html +0 -73
  1121. data/misc/openlayers/tests/manual/feature-handler.html +0 -126
  1122. data/misc/openlayers/tests/manual/geodesic.html +0 -160
  1123. data/misc/openlayers/tests/manual/geojson-geomcoll-reprojection.html +0 -74
  1124. data/misc/openlayers/tests/manual/google-fullscreen-overlay.html +0 -54
  1125. data/misc/openlayers/tests/manual/google-panning.html +0 -122
  1126. data/misc/openlayers/tests/manual/google-resize.html +0 -55
  1127. data/misc/openlayers/tests/manual/google-tilt.html +0 -37
  1128. data/misc/openlayers/tests/manual/google-v3-resize.html +0 -54
  1129. data/misc/openlayers/tests/manual/loadend.html +0 -73
  1130. data/misc/openlayers/tests/manual/map-events.html +0 -38
  1131. data/misc/openlayers/tests/manual/memory/Marker-2258.html +0 -60
  1132. data/misc/openlayers/tests/manual/memory/PanZoom-2323.html +0 -41
  1133. data/misc/openlayers/tests/manual/memory/RemoveChild-2170.html +0 -56
  1134. data/misc/openlayers/tests/manual/memory/VML-2170.html +0 -49
  1135. data/misc/openlayers/tests/manual/multiple-google-layers.html +0 -135
  1136. data/misc/openlayers/tests/manual/overviewmap-projection.html +0 -70
  1137. data/misc/openlayers/tests/manual/page-position.html +0 -103
  1138. data/misc/openlayers/tests/manual/pan-redraw-svg.html +0 -58
  1139. data/misc/openlayers/tests/manual/popup-keepInMap.html +0 -100
  1140. data/misc/openlayers/tests/manual/reflow.html +0 -59
  1141. data/misc/openlayers/tests/manual/renderedDimensions.html +0 -113
  1142. data/misc/openlayers/tests/manual/select-feature-right-click.html +0 -86
  1143. data/misc/openlayers/tests/manual/select-feature.html +0 -75
  1144. data/misc/openlayers/tests/manual/tiles-loading.html +0 -122
  1145. data/misc/openlayers/tests/manual/tween.html +0 -82
  1146. data/misc/openlayers/tests/manual/vector-features-performance.html +0 -149
  1147. data/misc/openlayers/tests/manual/vector-layer-zindex.html +0 -143
  1148. data/misc/openlayers/tests/mice.xml +0 -156
  1149. data/misc/openlayers/tests/node.js/mockdom.js +0 -104
  1150. data/misc/openlayers/tests/node.js/node-tests.cfg +0 -12
  1151. data/misc/openlayers/tests/node.js/node.js +0 -1
  1152. data/misc/openlayers/tests/node.js/run-test.js +0 -26
  1153. data/misc/openlayers/tests/node.js/run.sh +0 -10
  1154. data/misc/openlayers/tests/owls.xml +0 -156
  1155. data/misc/openlayers/tests/run-tests.html +0 -155
  1156. data/misc/openlayers/tests/selenium/remotecontrol/config.cfg +0 -48
  1157. data/misc/openlayers/tests/selenium/remotecontrol/selenium.py +0 -1846
  1158. data/misc/openlayers/tests/selenium/remotecontrol/setup.txt +0 -8
  1159. data/misc/openlayers/tests/selenium/remotecontrol/test_ol.py +0 -95
  1160. data/misc/openlayers/tests/speed/geometry.html +0 -43
  1161. data/misc/openlayers/tests/speed/string_format.html +0 -29
  1162. data/misc/openlayers/tests/speed/vector-renderers.html +0 -25
  1163. data/misc/openlayers/tests/speed/vector-renderers.js +0 -70
  1164. data/misc/openlayers/tests/speed/wmc_speed.html +0 -30
  1165. data/misc/openlayers/tests/speed/wmscaps.html +0 -52
  1166. data/misc/openlayers/tests/speed/wmscaps.js +0 -4956
  1167. data/misc/openlayers/tests/speed/wmscaps.xml +0 -4954
  1168. data/misc/openlayers/tests/throws.js +0 -82
  1169. data/misc/openlayers/theme/default/google.css +0 -9
  1170. data/misc/openlayers/theme/default/google.tidy.css +0 -1
  1171. data/misc/openlayers/theme/default/ie6-style.css +0 -10
  1172. data/misc/openlayers/theme/default/ie6-style.tidy.css +0 -1
  1173. data/misc/openlayers/theme/default/img/add_point_off.png +0 -0
  1174. data/misc/openlayers/theme/default/img/add_point_on.png +0 -0
  1175. data/misc/openlayers/theme/default/img/blank.gif +0 -0
  1176. data/misc/openlayers/theme/default/img/close.gif +0 -0
  1177. data/misc/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  1178. data/misc/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  1179. data/misc/openlayers/theme/default/img/draw_line_off.png +0 -0
  1180. data/misc/openlayers/theme/default/img/draw_line_on.png +0 -0
  1181. data/misc/openlayers/theme/default/img/draw_point_off.png +0 -0
  1182. data/misc/openlayers/theme/default/img/draw_point_on.png +0 -0
  1183. data/misc/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  1184. data/misc/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  1185. data/misc/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  1186. data/misc/openlayers/theme/default/img/move_feature_off.png +0 -0
  1187. data/misc/openlayers/theme/default/img/move_feature_on.png +0 -0
  1188. data/misc/openlayers/theme/default/img/navigation_history.png +0 -0
  1189. data/misc/openlayers/theme/default/img/overview_replacement.gif +0 -0
  1190. data/misc/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  1191. data/misc/openlayers/theme/default/img/pan-panel.png +0 -0
  1192. data/misc/openlayers/theme/default/img/pan_off.png +0 -0
  1193. data/misc/openlayers/theme/default/img/pan_on.png +0 -0
  1194. data/misc/openlayers/theme/default/img/panning-hand-off.png +0 -0
  1195. data/misc/openlayers/theme/default/img/panning-hand-on.png +0 -0
  1196. data/misc/openlayers/theme/default/img/remove_point_off.png +0 -0
  1197. data/misc/openlayers/theme/default/img/remove_point_on.png +0 -0
  1198. data/misc/openlayers/theme/default/img/ruler.png +0 -0
  1199. data/misc/openlayers/theme/default/img/save_features_off.png +0 -0
  1200. data/misc/openlayers/theme/default/img/save_features_on.png +0 -0
  1201. data/misc/openlayers/theme/default/img/view_next_off.png +0 -0
  1202. data/misc/openlayers/theme/default/img/view_next_on.png +0 -0
  1203. data/misc/openlayers/theme/default/img/view_previous_off.png +0 -0
  1204. data/misc/openlayers/theme/default/img/view_previous_on.png +0 -0
  1205. data/misc/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  1206. data/misc/openlayers/theme/default/img/zoom-panel.png +0 -0
  1207. data/misc/openlayers/theme/default/style.css +0 -516
  1208. data/misc/openlayers/theme/default/style.mobile.css +0 -70
  1209. data/misc/openlayers/theme/default/style.mobile.tidy.css +0 -1
  1210. data/misc/openlayers/theme/default/style.tidy.css +0 -1
  1211. data/misc/openlayers/tools/BeautifulSoup.py +0 -1767
  1212. data/misc/openlayers/tools/README.txt +0 -14
  1213. data/misc/openlayers/tools/closure_library_jscompiler.py +0 -71
  1214. data/misc/openlayers/tools/closure_ws.py +0 -28
  1215. data/misc/openlayers/tools/exampleparser.py +0 -251
  1216. data/misc/openlayers/tools/jsmin.c +0 -272
  1217. data/misc/openlayers/tools/jsmin.py +0 -216
  1218. data/misc/openlayers/tools/mergejs.py +0 -287
  1219. data/misc/openlayers/tools/minimize.py +0 -47
  1220. data/misc/openlayers/tools/oldot.py +0 -43
  1221. data/misc/openlayers/tools/release.sh +0 -71
  1222. data/misc/openlayers/tools/shrinksafe.py +0 -54
  1223. data/misc/openlayers/tools/toposort.py +0 -35
  1224. data/misc/openlayers/tools/uglify_js.py +0 -35
  1225. 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
- });