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,361 +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
- * @requires OpenLayers/BaseTypes/Class.js
8
- * @requires OpenLayers/Animation.js
9
- */
10
-
11
- /**
12
- * Namespace: OpenLayers.Tween
13
- */
14
- OpenLayers.Tween = OpenLayers.Class({
15
-
16
- /**
17
- * APIProperty: easing
18
- * {<OpenLayers.Easing>(Function)} Easing equation used for the animation
19
- * Defaultly set to OpenLayers.Easing.Expo.easeOut
20
- */
21
- easing: null,
22
-
23
- /**
24
- * APIProperty: begin
25
- * {Object} Values to start the animation with
26
- */
27
- begin: null,
28
-
29
- /**
30
- * APIProperty: finish
31
- * {Object} Values to finish the animation with
32
- */
33
- finish: null,
34
-
35
- /**
36
- * APIProperty: duration
37
- * {int} duration of the tween (number of steps)
38
- */
39
- duration: null,
40
-
41
- /**
42
- * APIProperty: callbacks
43
- * {Object} An object with start, eachStep and done properties whose values
44
- * are functions to be call during the animation. They are passed the
45
- * current computed value as argument.
46
- */
47
- callbacks: null,
48
-
49
- /**
50
- * Property: time
51
- * {int} Step counter
52
- */
53
- time: null,
54
-
55
- /**
56
- * APIProperty: minFrameRate
57
- * {Number} The minimum framerate for animations in frames per second. After
58
- * each step, the time spent in the animation is compared to the calculated
59
- * time at this frame rate. If the animation runs longer than the calculated
60
- * time, the next step is skipped. Default is 30.
61
- */
62
- minFrameRate: null,
63
-
64
- /**
65
- * Property: startTime
66
- * {Number} The timestamp of the first execution step. Used for skipping
67
- * frames
68
- */
69
- startTime: null,
70
-
71
- /**
72
- * Property: animationId
73
- * {int} Loop id returned by OpenLayers.Animation.start
74
- */
75
- animationId: null,
76
-
77
- /**
78
- * Property: playing
79
- * {Boolean} Tells if the easing is currently playing
80
- */
81
- playing: false,
82
-
83
- /**
84
- * Constructor: OpenLayers.Tween
85
- * Creates a Tween.
86
- *
87
- * Parameters:
88
- * easing - {<OpenLayers.Easing>(Function)} easing function method to use
89
- */
90
- initialize: function(easing) {
91
- this.easing = (easing) ? easing : OpenLayers.Easing.Expo.easeOut;
92
- },
93
-
94
- /**
95
- * APIMethod: start
96
- * Plays the Tween, and calls the callback method on each step
97
- *
98
- * Parameters:
99
- * begin - {Object} values to start the animation with
100
- * finish - {Object} values to finish the animation with
101
- * duration - {int} duration of the tween (number of steps)
102
- * options - {Object} hash of options (callbacks (start, eachStep, done),
103
- * minFrameRate)
104
- */
105
- start: function(begin, finish, duration, options) {
106
- this.playing = true;
107
- this.begin = begin;
108
- this.finish = finish;
109
- this.duration = duration;
110
- this.callbacks = options.callbacks;
111
- this.minFrameRate = options.minFrameRate || 30;
112
- this.time = 0;
113
- this.startTime = new Date().getTime();
114
- OpenLayers.Animation.stop(this.animationId);
115
- this.animationId = null;
116
- if (this.callbacks && this.callbacks.start) {
117
- this.callbacks.start.call(this, this.begin);
118
- }
119
- this.animationId = OpenLayers.Animation.start(
120
- OpenLayers.Function.bind(this.play, this)
121
- );
122
- },
123
-
124
- /**
125
- * APIMethod: stop
126
- * Stops the Tween, and calls the done callback
127
- * Doesn't do anything if animation is already finished
128
- */
129
- stop: function() {
130
- if (!this.playing) {
131
- return;
132
- }
133
-
134
- if (this.callbacks && this.callbacks.done) {
135
- this.callbacks.done.call(this, this.finish);
136
- }
137
- OpenLayers.Animation.stop(this.animationId);
138
- this.animationId = null;
139
- this.playing = false;
140
- },
141
-
142
- /**
143
- * Method: play
144
- * Calls the appropriate easing method
145
- */
146
- play: function() {
147
- var value = {};
148
- for (var i in this.begin) {
149
- var b = this.begin[i];
150
- var f = this.finish[i];
151
- if (b == null || f == null || isNaN(b) || isNaN(f)) {
152
- throw new TypeError('invalid value for Tween');
153
- }
154
-
155
- var c = f - b;
156
- value[i] = this.easing.apply(this, [this.time, b, c, this.duration]);
157
- }
158
- this.time++;
159
-
160
- if (this.callbacks && this.callbacks.eachStep) {
161
- // skip frames if frame rate drops below threshold
162
- if ((new Date().getTime() - this.startTime) / this.time <= 1000 / this.minFrameRate) {
163
- this.callbacks.eachStep.call(this, value);
164
- }
165
- }
166
-
167
- if (this.time > this.duration) {
168
- this.stop();
169
- }
170
- },
171
-
172
- /**
173
- * Create empty functions for all easing methods.
174
- */
175
- CLASS_NAME: "OpenLayers.Tween"
176
- });
177
-
178
- /**
179
- * Namespace: OpenLayers.Easing
180
- *
181
- * Credits:
182
- * Easing Equations by Robert Penner, <http://www.robertpenner.com/easing/>
183
- */
184
- OpenLayers.Easing = {
185
- /**
186
- * Create empty functions for all easing methods.
187
- */
188
- CLASS_NAME: "OpenLayers.Easing"
189
- };
190
-
191
- /**
192
- * Namespace: OpenLayers.Easing.Linear
193
- */
194
- OpenLayers.Easing.Linear = {
195
-
196
- /**
197
- * Function: easeIn
198
- *
199
- * Parameters:
200
- * t - {Float} time
201
- * b - {Float} beginning position
202
- * c - {Float} total change
203
- * d - {Float} duration of the transition
204
- *
205
- * Returns:
206
- * {Float}
207
- */
208
- easeIn: function(t, b, c, d) {
209
- return c*t/d + b;
210
- },
211
-
212
- /**
213
- * Function: easeOut
214
- *
215
- * Parameters:
216
- * t - {Float} time
217
- * b - {Float} beginning position
218
- * c - {Float} total change
219
- * d - {Float} duration of the transition
220
- *
221
- * Returns:
222
- * {Float}
223
- */
224
- easeOut: function(t, b, c, d) {
225
- return c*t/d + b;
226
- },
227
-
228
- /**
229
- * Function: easeInOut
230
- *
231
- * Parameters:
232
- * t - {Float} time
233
- * b - {Float} beginning position
234
- * c - {Float} total change
235
- * d - {Float} duration of the transition
236
- *
237
- * Returns:
238
- * {Float}
239
- */
240
- easeInOut: function(t, b, c, d) {
241
- return c*t/d + b;
242
- },
243
-
244
- CLASS_NAME: "OpenLayers.Easing.Linear"
245
- };
246
-
247
- /**
248
- * Namespace: OpenLayers.Easing.Expo
249
- */
250
- OpenLayers.Easing.Expo = {
251
-
252
- /**
253
- * Function: easeIn
254
- *
255
- * Parameters:
256
- * t - {Float} time
257
- * b - {Float} beginning position
258
- * c - {Float} total change
259
- * d - {Float} duration of the transition
260
- *
261
- * Returns:
262
- * {Float}
263
- */
264
- easeIn: function(t, b, c, d) {
265
- return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
266
- },
267
-
268
- /**
269
- * Function: easeOut
270
- *
271
- * Parameters:
272
- * t - {Float} time
273
- * b - {Float} beginning position
274
- * c - {Float} total change
275
- * d - {Float} duration of the transition
276
- *
277
- * Returns:
278
- * {Float}
279
- */
280
- easeOut: function(t, b, c, d) {
281
- return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
282
- },
283
-
284
- /**
285
- * Function: easeInOut
286
- *
287
- * Parameters:
288
- * t - {Float} time
289
- * b - {Float} beginning position
290
- * c - {Float} total change
291
- * d - {Float} duration of the transition
292
- *
293
- * Returns:
294
- * {Float}
295
- */
296
- easeInOut: function(t, b, c, d) {
297
- if (t==0) return b;
298
- if (t==d) return b+c;
299
- if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
300
- return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
301
- },
302
-
303
- CLASS_NAME: "OpenLayers.Easing.Expo"
304
- };
305
-
306
- /**
307
- * Namespace: OpenLayers.Easing.Quad
308
- */
309
- OpenLayers.Easing.Quad = {
310
-
311
- /**
312
- * Function: easeIn
313
- *
314
- * Parameters:
315
- * t - {Float} time
316
- * b - {Float} beginning position
317
- * c - {Float} total change
318
- * d - {Float} duration of the transition
319
- *
320
- * Returns:
321
- * {Float}
322
- */
323
- easeIn: function(t, b, c, d) {
324
- return c*(t/=d)*t + b;
325
- },
326
-
327
- /**
328
- * Function: easeOut
329
- *
330
- * Parameters:
331
- * t - {Float} time
332
- * b - {Float} beginning position
333
- * c - {Float} total change
334
- * d - {Float} duration of the transition
335
- *
336
- * Returns:
337
- * {Float}
338
- */
339
- easeOut: function(t, b, c, d) {
340
- return -c *(t/=d)*(t-2) + b;
341
- },
342
-
343
- /**
344
- * Function: easeInOut
345
- *
346
- * Parameters:
347
- * t - {Float} time
348
- * b - {Float} beginning position
349
- * c - {Float} total change
350
- * d - {Float} duration of the transition
351
- *
352
- * Returns:
353
- * {Float}
354
- */
355
- easeInOut: function(t, b, c, d) {
356
- if ((t/=d/2) < 1) return c/2*t*t + b;
357
- return -c/2 * ((--t)*(t-2) - 1) + b;
358
- },
359
-
360
- CLASS_NAME: "OpenLayers.Easing.Quad"
361
- };
@@ -1,1773 +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
- * @requires OpenLayers/BaseTypes.js
8
- * @requires OpenLayers/BaseTypes/Bounds.js
9
- * @requires OpenLayers/BaseTypes/Element.js
10
- * @requires OpenLayers/BaseTypes/LonLat.js
11
- * @requires OpenLayers/BaseTypes/Pixel.js
12
- * @requires OpenLayers/BaseTypes/Size.js
13
- * @requires OpenLayers/Lang.js
14
- */
15
-
16
- /**
17
- * Namespace: Util
18
- */
19
- OpenLayers.Util = OpenLayers.Util || {};
20
-
21
- /**
22
- * Function: getElement
23
- * This is the old $() from prototype
24
- *
25
- * Parameters:
26
- * e - {String or DOMElement or Window}
27
- *
28
- * Returns:
29
- * {Array(DOMElement) or DOMElement}
30
- */
31
- OpenLayers.Util.getElement = function() {
32
- var elements = [];
33
-
34
- for (var i=0, len=arguments.length; i<len; i++) {
35
- var element = arguments[i];
36
- if (typeof element == 'string') {
37
- element = document.getElementById(element);
38
- }
39
- if (arguments.length == 1) {
40
- return element;
41
- }
42
- elements.push(element);
43
- }
44
- return elements;
45
- };
46
-
47
- /**
48
- * Function: isElement
49
- * A cross-browser implementation of "e instanceof Element".
50
- *
51
- * Parameters:
52
- * o - {Object} The object to test.
53
- *
54
- * Returns:
55
- * {Boolean}
56
- */
57
- OpenLayers.Util.isElement = function(o) {
58
- return !!(o && o.nodeType === 1);
59
- };
60
-
61
- /**
62
- * Function: isArray
63
- * Tests that the provided object is an array.
64
- * This test handles the cross-IFRAME case not caught
65
- * by "a instanceof Array" and should be used instead.
66
- *
67
- * Parameters:
68
- * a - {Object} the object test.
69
- *
70
- * Returns:
71
- * {Boolean} true if the object is an array.
72
- */
73
- OpenLayers.Util.isArray = function(a) {
74
- return (Object.prototype.toString.call(a) === '[object Array]');
75
- };
76
-
77
- /**
78
- * Function: removeItem
79
- * Remove an object from an array. Iterates through the array
80
- * to find the item, then removes it.
81
- *
82
- * Parameters:
83
- * array - {Array}
84
- * item - {Object}
85
- *
86
- * Returns:
87
- * {Array} A reference to the array
88
- */
89
- OpenLayers.Util.removeItem = function(array, item) {
90
- for(var i = array.length - 1; i >= 0; i--) {
91
- if(array[i] == item) {
92
- array.splice(i,1);
93
- //break;more than once??
94
- }
95
- }
96
- return array;
97
- };
98
-
99
- /**
100
- * Function: indexOf
101
- * Seems to exist already in FF, but not in MOZ.
102
- *
103
- * Parameters:
104
- * array - {Array}
105
- * obj - {*}
106
- *
107
- * Returns:
108
- * {Integer} The index at which the first object was found in the array.
109
- * If not found, returns -1.
110
- */
111
- OpenLayers.Util.indexOf = function(array, obj) {
112
- // use the build-in function if available.
113
- if (typeof array.indexOf == "function") {
114
- return array.indexOf(obj);
115
- } else {
116
- for (var i = 0, len = array.length; i < len; i++) {
117
- if (array[i] == obj) {
118
- return i;
119
- }
120
- }
121
- return -1;
122
- }
123
- };
124
-
125
-
126
- /**
127
- * Property: dotless
128
- * {RegExp}
129
- * Compiled regular expression to match dots ("."). This is used for replacing
130
- * dots in identifiers. Because object identifiers are frequently used for
131
- * DOM element identifiers by the library, we avoid using dots to make for
132
- * more sensible CSS selectors.
133
- *
134
- * TODO: Use a module pattern to avoid bloating the API with stuff like this.
135
- */
136
- OpenLayers.Util.dotless = /\./g;
137
-
138
- /**
139
- * Function: modifyDOMElement
140
- *
141
- * Modifies many properties of a DOM element all at once. Passing in
142
- * null to an individual parameter will avoid setting the attribute.
143
- *
144
- * Parameters:
145
- * element - {DOMElement} DOM element to modify.
146
- * id - {String} The element id attribute to set. Note that dots (".") will be
147
- * replaced with underscore ("_") in setting the element id.
148
- * px - {<OpenLayers.Pixel>|Object} The element left and top position,
149
- * OpenLayers.Pixel or an object with
150
- * a 'x' and 'y' properties.
151
- * sz - {<OpenLayers.Size>|Object} The element width and height,
152
- * OpenLayers.Size or an object with a
153
- * 'w' and 'h' properties.
154
- * position - {String} The position attribute. eg: absolute,
155
- * relative, etc.
156
- * border - {String} The style.border attribute. eg:
157
- * solid black 2px
158
- * overflow - {String} The style.overview attribute.
159
- * opacity - {Float} Fractional value (0.0 - 1.0)
160
- */
161
- OpenLayers.Util.modifyDOMElement = function(element, id, px, sz, position,
162
- border, overflow, opacity) {
163
-
164
- if (id) {
165
- element.id = id.replace(OpenLayers.Util.dotless, "_");
166
- }
167
- if (px) {
168
- element.style.left = px.x + "px";
169
- element.style.top = px.y + "px";
170
- }
171
- if (sz) {
172
- element.style.width = sz.w + "px";
173
- element.style.height = sz.h + "px";
174
- }
175
- if (position) {
176
- element.style.position = position;
177
- }
178
- if (border) {
179
- element.style.border = border;
180
- }
181
- if (overflow) {
182
- element.style.overflow = overflow;
183
- }
184
- if (parseFloat(opacity) >= 0.0 && parseFloat(opacity) < 1.0) {
185
- element.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
186
- element.style.opacity = opacity;
187
- } else if (parseFloat(opacity) == 1.0) {
188
- element.style.filter = '';
189
- element.style.opacity = '';
190
- }
191
- };
192
-
193
- /**
194
- * Function: createDiv
195
- * Creates a new div and optionally set some standard attributes.
196
- * Null may be passed to each parameter if you do not wish to
197
- * set a particular attribute.
198
- * Note - zIndex is NOT set on the resulting div.
199
- *
200
- * Parameters:
201
- * id - {String} An identifier for this element. If no id is
202
- * passed an identifier will be created
203
- * automatically. Note that dots (".") will be replaced with
204
- * underscore ("_") when generating ids.
205
- * px - {<OpenLayers.Pixel>|Object} The element left and top position,
206
- * OpenLayers.Pixel or an object with
207
- * a 'x' and 'y' properties.
208
- * sz - {<OpenLayers.Size>|Object} The element width and height,
209
- * OpenLayers.Size or an object with a
210
- * 'w' and 'h' properties.
211
- * imgURL - {String} A url pointing to an image to use as a
212
- * background image.
213
- * position - {String} The style.position value. eg: absolute,
214
- * relative etc.
215
- * border - {String} The the style.border value.
216
- * eg: 2px solid black
217
- * overflow - {String} The style.overflow value. Eg. hidden
218
- * opacity - {Float} Fractional value (0.0 - 1.0)
219
- *
220
- * Returns:
221
- * {DOMElement} A DOM Div created with the specified attributes.
222
- */
223
- OpenLayers.Util.createDiv = function(id, px, sz, imgURL, position,
224
- border, overflow, opacity) {
225
-
226
- var dom = document.createElement('div');
227
-
228
- if (imgURL) {
229
- dom.style.backgroundImage = 'url(' + imgURL + ')';
230
- }
231
-
232
- //set generic properties
233
- if (!id) {
234
- id = OpenLayers.Util.createUniqueID("OpenLayersDiv");
235
- }
236
- if (!position) {
237
- position = "absolute";
238
- }
239
- OpenLayers.Util.modifyDOMElement(dom, id, px, sz, position,
240
- border, overflow, opacity);
241
-
242
- return dom;
243
- };
244
-
245
- /**
246
- * Function: createImage
247
- * Creates an img element with specific attribute values.
248
- *
249
- * Parameters:
250
- * id - {String} The id field for the img. If none assigned one will be
251
- * automatically generated.
252
- * px - {<OpenLayers.Pixel>|Object} The element left and top position,
253
- * OpenLayers.Pixel or an object with
254
- * a 'x' and 'y' properties.
255
- * sz - {<OpenLayers.Size>|Object} The element width and height,
256
- * OpenLayers.Size or an object with a
257
- * 'w' and 'h' properties.
258
- * imgURL - {String} The url to use as the image source.
259
- * position - {String} The style.position value.
260
- * border - {String} The border to place around the image.
261
- * opacity - {Float} Fractional value (0.0 - 1.0)
262
- * delayDisplay - {Boolean} If true waits until the image has been
263
- * loaded.
264
- *
265
- * Returns:
266
- * {DOMElement} A DOM Image created with the specified attributes.
267
- */
268
- OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
269
- opacity, delayDisplay) {
270
-
271
- var image = document.createElement("img");
272
-
273
- //set generic properties
274
- if (!id) {
275
- id = OpenLayers.Util.createUniqueID("OpenLayersDiv");
276
- }
277
- if (!position) {
278
- position = "relative";
279
- }
280
- OpenLayers.Util.modifyDOMElement(image, id, px, sz, position,
281
- border, null, opacity);
282
-
283
- if (delayDisplay) {
284
- image.style.display = "none";
285
- function display() {
286
- image.style.display = "";
287
- OpenLayers.Event.stopObservingElement(image);
288
- }
289
- OpenLayers.Event.observe(image, "load", display);
290
- OpenLayers.Event.observe(image, "error", display);
291
- }
292
-
293
- //set special properties
294
- image.style.alt = id;
295
- image.galleryImg = "no";
296
- if (imgURL) {
297
- image.src = imgURL;
298
- }
299
-
300
- return image;
301
- };
302
-
303
- /**
304
- * Property: IMAGE_RELOAD_ATTEMPTS
305
- * {Integer} How many times should we try to reload an image before giving up?
306
- * Default is 0
307
- */
308
- OpenLayers.IMAGE_RELOAD_ATTEMPTS = 0;
309
-
310
- /**
311
- * Property: alphaHackNeeded
312
- * {Boolean} true if the png alpha hack is necessary and possible, false otherwise.
313
- */
314
- OpenLayers.Util.alphaHackNeeded = null;
315
-
316
- /**
317
- * Function: alphaHack
318
- * Checks whether it's necessary (and possible) to use the png alpha
319
- * hack which allows alpha transparency for png images under Internet
320
- * Explorer.
321
- *
322
- * Returns:
323
- * {Boolean} true if the png alpha hack is necessary and possible, false otherwise.
324
- */
325
- OpenLayers.Util.alphaHack = function() {
326
- if (OpenLayers.Util.alphaHackNeeded == null) {
327
- var arVersion = navigator.appVersion.split("MSIE");
328
- var version = parseFloat(arVersion[1]);
329
- var filter = false;
330
-
331
- // IEs4Lin dies when trying to access document.body.filters, because
332
- // the property is there, but requires a DLL that can't be provided. This
333
- // means that we need to wrap this in a try/catch so that this can
334
- // continue.
335
-
336
- try {
337
- filter = !!(document.body.filters);
338
- } catch (e) {}
339
-
340
- OpenLayers.Util.alphaHackNeeded = (filter &&
341
- (version >= 5.5) && (version < 7));
342
- }
343
- return OpenLayers.Util.alphaHackNeeded;
344
- };
345
-
346
- /**
347
- * Function: modifyAlphaImageDiv
348
- *
349
- * Parameters:
350
- * div - {DOMElement} Div containing Alpha-adjusted Image
351
- * id - {String}
352
- * px - {<OpenLayers.Pixel>|Object} OpenLayers.Pixel or an object with
353
- * a 'x' and 'y' properties.
354
- * sz - {<OpenLayers.Size>|Object} OpenLayers.Size or an object with
355
- * a 'w' and 'h' properties.
356
- * imgURL - {String}
357
- * position - {String}
358
- * border - {String}
359
- * sizing - {String} 'crop', 'scale', or 'image'. Default is "scale"
360
- * opacity - {Float} Fractional value (0.0 - 1.0)
361
- */
362
- OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL,
363
- position, border, sizing,
364
- opacity) {
365
-
366
- OpenLayers.Util.modifyDOMElement(div, id, px, sz, position,
367
- null, null, opacity);
368
-
369
- var img = div.childNodes[0];
370
-
371
- if (imgURL) {
372
- img.src = imgURL;
373
- }
374
- OpenLayers.Util.modifyDOMElement(img, div.id + "_innerImage", null, sz,
375
- "relative", border);
376
-
377
- if (OpenLayers.Util.alphaHack()) {
378
- if(div.style.display != "none") {
379
- div.style.display = "inline-block";
380
- }
381
- if (sizing == null) {
382
- sizing = "scale";
383
- }
384
-
385
- div.style.filter = "progid:DXImageTransform.Microsoft" +
386
- ".AlphaImageLoader(src='" + img.src + "', " +
387
- "sizingMethod='" + sizing + "')";
388
- if (parseFloat(div.style.opacity) >= 0.0 &&
389
- parseFloat(div.style.opacity) < 1.0) {
390
- div.style.filter += " alpha(opacity=" + div.style.opacity * 100 + ")";
391
- }
392
-
393
- img.style.filter = "alpha(opacity=0)";
394
- }
395
- };
396
-
397
- /**
398
- * Function: createAlphaImageDiv
399
- *
400
- * Parameters:
401
- * id - {String}
402
- * px - {<OpenLayers.Pixel>|Object} OpenLayers.Pixel or an object with
403
- * a 'x' and 'y' properties.
404
- * sz - {<OpenLayers.Size>|Object} OpenLayers.Size or an object with
405
- * a 'w' and 'h' properties.
406
- * imgURL - {String}
407
- * position - {String}
408
- * border - {String}
409
- * sizing - {String} 'crop', 'scale', or 'image'. Default is "scale"
410
- * opacity - {Float} Fractional value (0.0 - 1.0)
411
- * delayDisplay - {Boolean} If true waits until the image has been
412
- * loaded.
413
- *
414
- * Returns:
415
- * {DOMElement} A DOM Div created with a DOM Image inside it. If the hack is
416
- * needed for transparency in IE, it is added.
417
- */
418
- OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL,
419
- position, border, sizing,
420
- opacity, delayDisplay) {
421
-
422
- var div = OpenLayers.Util.createDiv();
423
- var img = OpenLayers.Util.createImage(null, null, null, null, null, null,
424
- null, delayDisplay);
425
- img.className = "olAlphaImg";
426
- div.appendChild(img);
427
-
428
- OpenLayers.Util.modifyAlphaImageDiv(div, id, px, sz, imgURL, position,
429
- border, sizing, opacity);
430
-
431
- return div;
432
- };
433
-
434
-
435
- /**
436
- * Function: upperCaseObject
437
- * Creates a new hashtable and copies over all the keys from the
438
- * passed-in object, but storing them under an uppercased
439
- * version of the key at which they were stored.
440
- *
441
- * Parameters:
442
- * object - {Object}
443
- *
444
- * Returns:
445
- * {Object} A new Object with all the same keys but uppercased
446
- */
447
- OpenLayers.Util.upperCaseObject = function (object) {
448
- var uObject = {};
449
- for (var key in object) {
450
- uObject[key.toUpperCase()] = object[key];
451
- }
452
- return uObject;
453
- };
454
-
455
- /**
456
- * Function: applyDefaults
457
- * Takes an object and copies any properties that don't exist from
458
- * another properties, by analogy with OpenLayers.Util.extend() from
459
- * Prototype.js.
460
- *
461
- * Parameters:
462
- * to - {Object} The destination object.
463
- * from - {Object} The source object. Any properties of this object that
464
- * are undefined in the to object will be set on the to object.
465
- *
466
- * Returns:
467
- * {Object} A reference to the to object. Note that the to argument is modified
468
- * in place and returned by this function.
469
- */
470
- OpenLayers.Util.applyDefaults = function (to, from) {
471
- to = to || {};
472
- /*
473
- * FF/Windows < 2.0.0.13 reports "Illegal operation on WrappedNative
474
- * prototype object" when calling hawOwnProperty if the source object is an
475
- * instance of window.Event.
476
- */
477
- var fromIsEvt = typeof window.Event == "function"
478
- && from instanceof window.Event;
479
-
480
- for (var key in from) {
481
- if (to[key] === undefined ||
482
- (!fromIsEvt && from.hasOwnProperty
483
- && from.hasOwnProperty(key) && !to.hasOwnProperty(key))) {
484
- to[key] = from[key];
485
- }
486
- }
487
- /**
488
- * IE doesn't include the toString property when iterating over an object's
489
- * properties with the for(property in object) syntax. Explicitly check if
490
- * the source has its own toString property.
491
- */
492
- if(!fromIsEvt && from && from.hasOwnProperty
493
- && from.hasOwnProperty('toString') && !to.hasOwnProperty('toString')) {
494
- to.toString = from.toString;
495
- }
496
-
497
- return to;
498
- };
499
-
500
- /**
501
- * Function: getParameterString
502
- *
503
- * Parameters:
504
- * params - {Object}
505
- *
506
- * Returns:
507
- * {String} A concatenation of the properties of an object in
508
- * http parameter notation.
509
- * (ex. <i>"key1=value1&key2=value2&key3=value3"</i>)
510
- * If a parameter is actually a list, that parameter will then
511
- * be set to a comma-seperated list of values (foo,bar) instead
512
- * of being URL escaped (foo%3Abar).
513
- */
514
- OpenLayers.Util.getParameterString = function(params) {
515
- var paramsArray = [];
516
-
517
- for (var key in params) {
518
- var value = params[key];
519
- if ((value != null) && (typeof value != 'function')) {
520
- var encodedValue;
521
- if (typeof value == 'object' && value.constructor == Array) {
522
- /* value is an array; encode items and separate with "," */
523
- var encodedItemArray = [];
524
- var item;
525
- for (var itemIndex=0, len=value.length; itemIndex<len; itemIndex++) {
526
- item = value[itemIndex];
527
- encodedItemArray.push(encodeURIComponent(
528
- (item === null || item === undefined) ? "" : item)
529
- );
530
- }
531
- encodedValue = encodedItemArray.join(",");
532
- }
533
- else {
534
- /* value is a string; simply encode */
535
- encodedValue = encodeURIComponent(value);
536
- }
537
- paramsArray.push(encodeURIComponent(key) + "=" + encodedValue);
538
- }
539
- }
540
-
541
- return paramsArray.join("&");
542
- };
543
-
544
- /**
545
- * Function: urlAppend
546
- * Appends a parameter string to a url. This function includes the logic for
547
- * using the appropriate character (none, & or ?) to append to the url before
548
- * appending the param string.
549
- *
550
- * Parameters:
551
- * url - {String} The url to append to
552
- * paramStr - {String} The param string to append
553
- *
554
- * Returns:
555
- * {String} The new url
556
- */
557
- OpenLayers.Util.urlAppend = function(url, paramStr) {
558
- var newUrl = url;
559
- if(paramStr) {
560
- var parts = (url + " ").split(/[?&]/);
561
- newUrl += (parts.pop() === " " ?
562
- paramStr :
563
- parts.length ? "&" + paramStr : "?" + paramStr);
564
- }
565
- return newUrl;
566
- };
567
-
568
- /**
569
- * Function: getImagesLocation
570
- *
571
- * Returns:
572
- * {String} The fully formatted image location string
573
- */
574
- OpenLayers.Util.getImagesLocation = function() {
575
- return OpenLayers.ImgPath || (OpenLayers._getScriptLocation() + "img/");
576
- };
577
-
578
- /**
579
- * Function: getImageLocation
580
- *
581
- * Returns:
582
- * {String} The fully formatted location string for a specified image
583
- */
584
- OpenLayers.Util.getImageLocation = function(image) {
585
- return OpenLayers.Util.getImagesLocation() + image;
586
- };
587
-
588
-
589
- /**
590
- * Function: Try
591
- * Execute functions until one of them doesn't throw an error.
592
- * Capitalized because "try" is a reserved word in JavaScript.
593
- * Taken directly from OpenLayers.Util.Try()
594
- *
595
- * Parameters:
596
- * [*] - {Function} Any number of parameters may be passed to Try()
597
- * It will attempt to execute each of them until one of them
598
- * successfully executes.
599
- * If none executes successfully, returns null.
600
- *
601
- * Returns:
602
- * {*} The value returned by the first successfully executed function.
603
- */
604
- OpenLayers.Util.Try = function() {
605
- var returnValue = null;
606
-
607
- for (var i=0, len=arguments.length; i<len; i++) {
608
- var lambda = arguments[i];
609
- try {
610
- returnValue = lambda();
611
- break;
612
- } catch (e) {}
613
- }
614
-
615
- return returnValue;
616
- };
617
-
618
- /**
619
- * Function: getXmlNodeValue
620
- *
621
- * Parameters:
622
- * node - {XMLNode}
623
- *
624
- * Returns:
625
- * {String} The text value of the given node, without breaking in firefox or IE
626
- */
627
- OpenLayers.Util.getXmlNodeValue = function(node) {
628
- var val = null;
629
- OpenLayers.Util.Try(
630
- function() {
631
- val = node.text;
632
- if (!val) {
633
- val = node.textContent;
634
- }
635
- if (!val) {
636
- val = node.firstChild.nodeValue;
637
- }
638
- },
639
- function() {
640
- val = node.textContent;
641
- });
642
- return val;
643
- };
644
-
645
- /**
646
- * Function: mouseLeft
647
- *
648
- * Parameters:
649
- * evt - {Event}
650
- * div - {HTMLDivElement}
651
- *
652
- * Returns:
653
- * {Boolean}
654
- */
655
- OpenLayers.Util.mouseLeft = function (evt, div) {
656
- // start with the element to which the mouse has moved
657
- var target = (evt.relatedTarget) ? evt.relatedTarget : evt.toElement;
658
- // walk up the DOM tree.
659
- while (target != div && target != null) {
660
- target = target.parentNode;
661
- }
662
- // if the target we stop at isn't the div, then we've left the div.
663
- return (target != div);
664
- };
665
-
666
- /**
667
- * Property: precision
668
- * {Number} The number of significant digits to retain to avoid
669
- * floating point precision errors.
670
- *
671
- * We use 14 as a "safe" default because, although IEEE 754 double floats
672
- * (standard on most modern operating systems) support up to about 16
673
- * significant digits, 14 significant digits are sufficient to represent
674
- * sub-millimeter accuracy in any coordinate system that anyone is likely to
675
- * use with OpenLayers.
676
- *
677
- * If DEFAULT_PRECISION is set to 0, the original non-truncating behavior
678
- * of OpenLayers <2.8 is preserved. Be aware that this will cause problems
679
- * with certain projections, e.g. spherical Mercator.
680
- *
681
- */
682
- OpenLayers.Util.DEFAULT_PRECISION = 14;
683
-
684
- /**
685
- * Function: toFloat
686
- * Convenience method to cast an object to a Number, rounded to the
687
- * desired floating point precision.
688
- *
689
- * Parameters:
690
- * number - {Number} The number to cast and round.
691
- * precision - {Number} An integer suitable for use with
692
- * Number.toPrecision(). Defaults to OpenLayers.Util.DEFAULT_PRECISION.
693
- * If set to 0, no rounding is performed.
694
- *
695
- * Returns:
696
- * {Number} The cast, rounded number.
697
- */
698
- OpenLayers.Util.toFloat = function (number, precision) {
699
- if (precision == null) {
700
- precision = OpenLayers.Util.DEFAULT_PRECISION;
701
- }
702
- if (typeof number !== "number") {
703
- number = parseFloat(number);
704
- }
705
- return precision === 0 ? number :
706
- parseFloat(number.toPrecision(precision));
707
- };
708
-
709
- /**
710
- * Function: rad
711
- *
712
- * Parameters:
713
- * x - {Float}
714
- *
715
- * Returns:
716
- * {Float}
717
- */
718
- OpenLayers.Util.rad = function(x) {return x*Math.PI/180;};
719
-
720
- /**
721
- * Function: deg
722
- *
723
- * Parameters:
724
- * x - {Float}
725
- *
726
- * Returns:
727
- * {Float}
728
- */
729
- OpenLayers.Util.deg = function(x) {return x*180/Math.PI;};
730
-
731
- /**
732
- * Property: VincentyConstants
733
- * {Object} Constants for Vincenty functions.
734
- */
735
- OpenLayers.Util.VincentyConstants = {
736
- a: 6378137,
737
- b: 6356752.3142,
738
- f: 1/298.257223563
739
- };
740
-
741
- /**
742
- * APIFunction: distVincenty
743
- * Given two objects representing points with geographic coordinates, this
744
- * calculates the distance between those points on the surface of an
745
- * ellipsoid.
746
- *
747
- * Parameters:
748
- * p1 - {<OpenLayers.LonLat>} (or any object with both .lat, .lon properties)
749
- * p2 - {<OpenLayers.LonLat>} (or any object with both .lat, .lon properties)
750
- *
751
- * Returns:
752
- * {Float} The distance (in km) between the two input points as measured on an
753
- * ellipsoid. Note that the input point objects must be in geographic
754
- * coordinates (decimal degrees) and the return distance is in kilometers.
755
- */
756
- OpenLayers.Util.distVincenty = function(p1, p2) {
757
- var ct = OpenLayers.Util.VincentyConstants;
758
- var a = ct.a, b = ct.b, f = ct.f;
759
-
760
- var L = OpenLayers.Util.rad(p2.lon - p1.lon);
761
- var U1 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p1.lat)));
762
- var U2 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p2.lat)));
763
- var sinU1 = Math.sin(U1), cosU1 = Math.cos(U1);
764
- var sinU2 = Math.sin(U2), cosU2 = Math.cos(U2);
765
- var lambda = L, lambdaP = 2*Math.PI;
766
- var iterLimit = 20;
767
- while (Math.abs(lambda-lambdaP) > 1e-12 && --iterLimit>0) {
768
- var sinLambda = Math.sin(lambda), cosLambda = Math.cos(lambda);
769
- var sinSigma = Math.sqrt((cosU2*sinLambda) * (cosU2*sinLambda) +
770
- (cosU1*sinU2-sinU1*cosU2*cosLambda) * (cosU1*sinU2-sinU1*cosU2*cosLambda));
771
- if (sinSigma==0) {
772
- return 0; // co-incident points
773
- }
774
- var cosSigma = sinU1*sinU2 + cosU1*cosU2*cosLambda;
775
- var sigma = Math.atan2(sinSigma, cosSigma);
776
- var alpha = Math.asin(cosU1 * cosU2 * sinLambda / sinSigma);
777
- var cosSqAlpha = Math.cos(alpha) * Math.cos(alpha);
778
- var cos2SigmaM = cosSigma - 2*sinU1*sinU2/cosSqAlpha;
779
- var C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));
780
- lambdaP = lambda;
781
- lambda = L + (1-C) * f * Math.sin(alpha) *
782
- (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));
783
- }
784
- if (iterLimit==0) {
785
- return NaN; // formula failed to converge
786
- }
787
- var uSq = cosSqAlpha * (a*a - b*b) / (b*b);
788
- var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));
789
- var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));
790
- var deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
791
- B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
792
- var s = b*A*(sigma-deltaSigma);
793
- var d = s.toFixed(3)/1000; // round to 1mm precision
794
- return d;
795
- };
796
-
797
- /**
798
- * APIFunction: destinationVincenty
799
- * Calculate destination point given start point lat/long (numeric degrees),
800
- * bearing (numeric degrees) & distance (in m).
801
- * Adapted from Chris Veness work, see
802
- * http://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html
803
- *
804
- * Parameters:
805
- * lonlat - {<OpenLayers.LonLat>} (or any object with both .lat, .lon
806
- * properties) The start point.
807
- * brng - {Float} The bearing (degrees).
808
- * dist - {Float} The ground distance (meters).
809
- *
810
- * Returns:
811
- * {<OpenLayers.LonLat>} The destination point.
812
- */
813
- OpenLayers.Util.destinationVincenty = function(lonlat, brng, dist) {
814
- var u = OpenLayers.Util;
815
- var ct = u.VincentyConstants;
816
- var a = ct.a, b = ct.b, f = ct.f;
817
-
818
- var lon1 = lonlat.lon;
819
- var lat1 = lonlat.lat;
820
-
821
- var s = dist;
822
- var alpha1 = u.rad(brng);
823
- var sinAlpha1 = Math.sin(alpha1);
824
- var cosAlpha1 = Math.cos(alpha1);
825
-
826
- var tanU1 = (1-f) * Math.tan(u.rad(lat1));
827
- var cosU1 = 1 / Math.sqrt((1 + tanU1*tanU1)), sinU1 = tanU1*cosU1;
828
- var sigma1 = Math.atan2(tanU1, cosAlpha1);
829
- var sinAlpha = cosU1 * sinAlpha1;
830
- var cosSqAlpha = 1 - sinAlpha*sinAlpha;
831
- var uSq = cosSqAlpha * (a*a - b*b) / (b*b);
832
- var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));
833
- var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));
834
-
835
- var sigma = s / (b*A), sigmaP = 2*Math.PI;
836
- while (Math.abs(sigma-sigmaP) > 1e-12) {
837
- var cos2SigmaM = Math.cos(2*sigma1 + sigma);
838
- var sinSigma = Math.sin(sigma);
839
- var cosSigma = Math.cos(sigma);
840
- var deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
841
- B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
842
- sigmaP = sigma;
843
- sigma = s / (b*A) + deltaSigma;
844
- }
845
-
846
- var tmp = sinU1*sinSigma - cosU1*cosSigma*cosAlpha1;
847
- var lat2 = Math.atan2(sinU1*cosSigma + cosU1*sinSigma*cosAlpha1,
848
- (1-f)*Math.sqrt(sinAlpha*sinAlpha + tmp*tmp));
849
- var lambda = Math.atan2(sinSigma*sinAlpha1, cosU1*cosSigma - sinU1*sinSigma*cosAlpha1);
850
- var C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));
851
- var L = lambda - (1-C) * f * sinAlpha *
852
- (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));
853
-
854
- var revAz = Math.atan2(sinAlpha, -tmp); // final bearing
855
-
856
- return new OpenLayers.LonLat(lon1+u.deg(L), u.deg(lat2));
857
- };
858
-
859
- /**
860
- * Function: getParameters
861
- * Parse the parameters from a URL or from the current page itself into a
862
- * JavaScript Object. Note that parameter values with commas are separated
863
- * out into an Array.
864
- *
865
- * Parameters:
866
- * url - {String} Optional url used to extract the query string.
867
- * If url is null or is not supplied, query string is taken
868
- * from the page location.
869
- * options - {Object} Additional options. Optional.
870
- *
871
- * Valid options:
872
- * splitArgs - {Boolean} Split comma delimited params into arrays? Default is
873
- * true.
874
- *
875
- * Returns:
876
- * {Object} An object of key/value pairs from the query string.
877
- */
878
- OpenLayers.Util.getParameters = function(url, options) {
879
- options = options || {};
880
- // if no url specified, take it from the location bar
881
- url = (url === null || url === undefined) ? window.location.href : url;
882
-
883
- //parse out parameters portion of url string
884
- var paramsString = "";
885
- if (OpenLayers.String.contains(url, '?')) {
886
- var start = url.indexOf('?') + 1;
887
- var end = OpenLayers.String.contains(url, "#") ?
888
- url.indexOf('#') : url.length;
889
- paramsString = url.substring(start, end);
890
- }
891
-
892
- var parameters = {};
893
- var pairs = paramsString.split(/[&;]/);
894
- for(var i=0, len=pairs.length; i<len; ++i) {
895
- var keyValue = pairs[i].split('=');
896
- if (keyValue[0]) {
897
-
898
- var key = keyValue[0];
899
- try {
900
- key = decodeURIComponent(key);
901
- } catch (err) {
902
- key = unescape(key);
903
- }
904
-
905
- // being liberal by replacing "+" with " "
906
- var value = (keyValue[1] || '').replace(/\+/g, " ");
907
-
908
- try {
909
- value = decodeURIComponent(value);
910
- } catch (err) {
911
- value = unescape(value);
912
- }
913
-
914
- // follow OGC convention of comma delimited values
915
- if (options.splitArgs !== false) {
916
- value = value.split(",");
917
- }
918
-
919
- //if there's only one value, do not return as array
920
- if (value.length == 1) {
921
- value = value[0];
922
- }
923
-
924
- parameters[key] = value;
925
- }
926
- }
927
- return parameters;
928
- };
929
-
930
- /**
931
- * Property: lastSeqID
932
- * {Integer} The ever-incrementing count variable.
933
- * Used for generating unique ids.
934
- */
935
- OpenLayers.Util.lastSeqID = 0;
936
-
937
- /**
938
- * Function: createUniqueID
939
- * Create a unique identifier for this session. Each time this function
940
- * is called, a counter is incremented. The return will be the optional
941
- * prefix (defaults to "id_") appended with the counter value.
942
- *
943
- * Parameters:
944
- * prefix - {String} Optional string to prefix unique id. Default is "id_".
945
- * Note that dots (".") in the prefix will be replaced with underscore ("_").
946
- *
947
- * Returns:
948
- * {String} A unique id string, built on the passed in prefix.
949
- */
950
- OpenLayers.Util.createUniqueID = function(prefix) {
951
- if (prefix == null) {
952
- prefix = "id_";
953
- } else {
954
- prefix = prefix.replace(OpenLayers.Util.dotless, "_");
955
- }
956
- OpenLayers.Util.lastSeqID += 1;
957
- return prefix + OpenLayers.Util.lastSeqID;
958
- };
959
-
960
- /**
961
- * Constant: INCHES_PER_UNIT
962
- * {Object} Constant inches per unit -- borrowed from MapServer mapscale.c
963
- * derivation of nautical miles from http://en.wikipedia.org/wiki/Nautical_mile
964
- * Includes the full set of units supported by CS-MAP (http://trac.osgeo.org/csmap/)
965
- * and PROJ.4 (http://trac.osgeo.org/proj/)
966
- * The hardcoded table is maintain in a CS-MAP source code module named CSdataU.c
967
- * The hardcoded table of PROJ.4 units are in pj_units.c.
968
- */
969
- OpenLayers.INCHES_PER_UNIT = {
970
- 'inches': 1.0,
971
- 'ft': 12.0,
972
- 'mi': 63360.0,
973
- 'm': 39.37,
974
- 'km': 39370,
975
- 'dd': 4374754,
976
- 'yd': 36
977
- };
978
- OpenLayers.INCHES_PER_UNIT["in"]= OpenLayers.INCHES_PER_UNIT.inches;
979
- OpenLayers.INCHES_PER_UNIT["degrees"] = OpenLayers.INCHES_PER_UNIT.dd;
980
- OpenLayers.INCHES_PER_UNIT["nmi"] = 1852 * OpenLayers.INCHES_PER_UNIT.m;
981
-
982
- // Units from CS-Map
983
- OpenLayers.METERS_PER_INCH = 0.02540005080010160020;
984
- OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT, {
985
- "Inch": OpenLayers.INCHES_PER_UNIT.inches,
986
- "Meter": 1.0 / OpenLayers.METERS_PER_INCH, //EPSG:9001
987
- "Foot": 0.30480060960121920243 / OpenLayers.METERS_PER_INCH, //EPSG:9003
988
- "IFoot": 0.30480000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9002
989
- "ClarkeFoot": 0.3047972651151 / OpenLayers.METERS_PER_INCH, //EPSG:9005
990
- "SearsFoot": 0.30479947153867624624 / OpenLayers.METERS_PER_INCH, //EPSG:9041
991
- "GoldCoastFoot": 0.30479971018150881758 / OpenLayers.METERS_PER_INCH, //EPSG:9094
992
- "IInch": 0.02540000000000000000 / OpenLayers.METERS_PER_INCH,
993
- "MicroInch": 0.00002540000000000000 / OpenLayers.METERS_PER_INCH,
994
- "Mil": 0.00000002540000000000 / OpenLayers.METERS_PER_INCH,
995
- "Centimeter": 0.01000000000000000000 / OpenLayers.METERS_PER_INCH,
996
- "Kilometer": 1000.00000000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9036
997
- "Yard": 0.91440182880365760731 / OpenLayers.METERS_PER_INCH,
998
- "SearsYard": 0.914398414616029 / OpenLayers.METERS_PER_INCH, //EPSG:9040
999
- "IndianYard": 0.91439853074444079983 / OpenLayers.METERS_PER_INCH, //EPSG:9084
1000
- "IndianYd37": 0.91439523 / OpenLayers.METERS_PER_INCH, //EPSG:9085
1001
- "IndianYd62": 0.9143988 / OpenLayers.METERS_PER_INCH, //EPSG:9086
1002
- "IndianYd75": 0.9143985 / OpenLayers.METERS_PER_INCH, //EPSG:9087
1003
- "IndianFoot": 0.30479951 / OpenLayers.METERS_PER_INCH, //EPSG:9080
1004
- "IndianFt37": 0.30479841 / OpenLayers.METERS_PER_INCH, //EPSG:9081
1005
- "IndianFt62": 0.3047996 / OpenLayers.METERS_PER_INCH, //EPSG:9082
1006
- "IndianFt75": 0.3047995 / OpenLayers.METERS_PER_INCH, //EPSG:9083
1007
- "Mile": 1609.34721869443738887477 / OpenLayers.METERS_PER_INCH,
1008
- "IYard": 0.91440000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9096
1009
- "IMile": 1609.34400000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9093
1010
- "NautM": 1852.00000000000000000000 / OpenLayers.METERS_PER_INCH, //EPSG:9030
1011
- "Lat-66": 110943.316488932731 / OpenLayers.METERS_PER_INCH,
1012
- "Lat-83": 110946.25736872234125 / OpenLayers.METERS_PER_INCH,
1013
- "Decimeter": 0.10000000000000000000 / OpenLayers.METERS_PER_INCH,
1014
- "Millimeter": 0.00100000000000000000 / OpenLayers.METERS_PER_INCH,
1015
- "Dekameter": 10.00000000000000000000 / OpenLayers.METERS_PER_INCH,
1016
- "Decameter": 10.00000000000000000000 / OpenLayers.METERS_PER_INCH,
1017
- "Hectometer": 100.00000000000000000000 / OpenLayers.METERS_PER_INCH,
1018
- "GermanMeter": 1.0000135965 / OpenLayers.METERS_PER_INCH, //EPSG:9031
1019
- "CaGrid": 0.999738 / OpenLayers.METERS_PER_INCH,
1020
- "ClarkeChain": 20.1166194976 / OpenLayers.METERS_PER_INCH, //EPSG:9038
1021
- "GunterChain": 20.11684023368047 / OpenLayers.METERS_PER_INCH, //EPSG:9033
1022
- "BenoitChain": 20.116782494375872 / OpenLayers.METERS_PER_INCH, //EPSG:9062
1023
- "SearsChain": 20.11676512155 / OpenLayers.METERS_PER_INCH, //EPSG:9042
1024
- "ClarkeLink": 0.201166194976 / OpenLayers.METERS_PER_INCH, //EPSG:9039
1025
- "GunterLink": 0.2011684023368047 / OpenLayers.METERS_PER_INCH, //EPSG:9034
1026
- "BenoitLink": 0.20116782494375872 / OpenLayers.METERS_PER_INCH, //EPSG:9063
1027
- "SearsLink": 0.2011676512155 / OpenLayers.METERS_PER_INCH, //EPSG:9043
1028
- "Rod": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
1029
- "IntnlChain": 20.1168 / OpenLayers.METERS_PER_INCH, //EPSG:9097
1030
- "IntnlLink": 0.201168 / OpenLayers.METERS_PER_INCH, //EPSG:9098
1031
- "Perch": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
1032
- "Pole": 5.02921005842012 / OpenLayers.METERS_PER_INCH,
1033
- "Furlong": 201.1684023368046 / OpenLayers.METERS_PER_INCH,
1034
- "Rood": 3.778266898 / OpenLayers.METERS_PER_INCH,
1035
- "CapeFoot": 0.3047972615 / OpenLayers.METERS_PER_INCH,
1036
- "Brealey": 375.00000000000000000000 / OpenLayers.METERS_PER_INCH,
1037
- "ModAmFt": 0.304812252984505969011938 / OpenLayers.METERS_PER_INCH,
1038
- "Fathom": 1.8288 / OpenLayers.METERS_PER_INCH,
1039
- "NautM-UK": 1853.184 / OpenLayers.METERS_PER_INCH,
1040
- "50kilometers": 50000.0 / OpenLayers.METERS_PER_INCH,
1041
- "150kilometers": 150000.0 / OpenLayers.METERS_PER_INCH
1042
- });
1043
-
1044
- //unit abbreviations supported by PROJ.4
1045
- OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT, {
1046
- "mm": OpenLayers.INCHES_PER_UNIT["Meter"] / 1000.0,
1047
- "cm": OpenLayers.INCHES_PER_UNIT["Meter"] / 100.0,
1048
- "dm": OpenLayers.INCHES_PER_UNIT["Meter"] * 100.0,
1049
- "km": OpenLayers.INCHES_PER_UNIT["Meter"] * 1000.0,
1050
- "kmi": OpenLayers.INCHES_PER_UNIT["nmi"], //International Nautical Mile
1051
- "fath": OpenLayers.INCHES_PER_UNIT["Fathom"], //International Fathom
1052
- "ch": OpenLayers.INCHES_PER_UNIT["IntnlChain"], //International Chain
1053
- "link": OpenLayers.INCHES_PER_UNIT["IntnlLink"], //International Link
1054
- "us-in": OpenLayers.INCHES_PER_UNIT["inches"], //U.S. Surveyor's Inch
1055
- "us-ft": OpenLayers.INCHES_PER_UNIT["Foot"], //U.S. Surveyor's Foot
1056
- "us-yd": OpenLayers.INCHES_PER_UNIT["Yard"], //U.S. Surveyor's Yard
1057
- "us-ch": OpenLayers.INCHES_PER_UNIT["GunterChain"], //U.S. Surveyor's Chain
1058
- "us-mi": OpenLayers.INCHES_PER_UNIT["Mile"], //U.S. Surveyor's Statute Mile
1059
- "ind-yd": OpenLayers.INCHES_PER_UNIT["IndianYd37"], //Indian Yard
1060
- "ind-ft": OpenLayers.INCHES_PER_UNIT["IndianFt37"], //Indian Foot
1061
- "ind-ch": 20.11669506 / OpenLayers.METERS_PER_INCH //Indian Chain
1062
- });
1063
-
1064
- /**
1065
- * Constant: DOTS_PER_INCH
1066
- * {Integer} 72 (A sensible default)
1067
- */
1068
- OpenLayers.DOTS_PER_INCH = 72;
1069
-
1070
- /**
1071
- * Function: normalizeScale
1072
- *
1073
- * Parameters:
1074
- * scale - {float}
1075
- *
1076
- * Returns:
1077
- * {Float} A normalized scale value, in 1 / X format.
1078
- * This means that if a value less than one ( already 1/x) is passed
1079
- * in, it just returns scale directly. Otherwise, it returns
1080
- * 1 / scale
1081
- */
1082
- OpenLayers.Util.normalizeScale = function (scale) {
1083
- var normScale = (scale > 1.0) ? (1.0 / scale)
1084
- : scale;
1085
- return normScale;
1086
- };
1087
-
1088
- /**
1089
- * Function: getResolutionFromScale
1090
- *
1091
- * Parameters:
1092
- * scale - {Float}
1093
- * units - {String} Index into OpenLayers.INCHES_PER_UNIT hashtable.
1094
- * Default is degrees
1095
- *
1096
- * Returns:
1097
- * {Float} The corresponding resolution given passed-in scale and unit
1098
- * parameters. If the given scale is falsey, the returned resolution will
1099
- * be undefined.
1100
- */
1101
- OpenLayers.Util.getResolutionFromScale = function (scale, units) {
1102
- var resolution;
1103
- if (scale) {
1104
- if (units == null) {
1105
- units = "degrees";
1106
- }
1107
- var normScale = OpenLayers.Util.normalizeScale(scale);
1108
- resolution = 1 / (normScale * OpenLayers.INCHES_PER_UNIT[units]
1109
- * OpenLayers.DOTS_PER_INCH);
1110
- }
1111
- return resolution;
1112
- };
1113
-
1114
- /**
1115
- * Function: getScaleFromResolution
1116
- *
1117
- * Parameters:
1118
- * resolution - {Float}
1119
- * units - {String} Index into OpenLayers.INCHES_PER_UNIT hashtable.
1120
- * Default is degrees
1121
- *
1122
- * Returns:
1123
- * {Float} The corresponding scale given passed-in resolution and unit
1124
- * parameters.
1125
- */
1126
- OpenLayers.Util.getScaleFromResolution = function (resolution, units) {
1127
-
1128
- if (units == null) {
1129
- units = "degrees";
1130
- }
1131
-
1132
- var scale = resolution * OpenLayers.INCHES_PER_UNIT[units] *
1133
- OpenLayers.DOTS_PER_INCH;
1134
- return scale;
1135
- };
1136
-
1137
- /**
1138
- * Function: pagePosition
1139
- * Calculates the position of an element on the page (see
1140
- * http://code.google.com/p/doctype/wiki/ArticlePageOffset)
1141
- *
1142
- * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is
1143
- * Copyright (c) 2006, Yahoo! Inc.
1144
- * All rights reserved.
1145
- *
1146
- * Redistribution and use of this software in source and binary forms, with or
1147
- * without modification, are permitted provided that the following conditions
1148
- * are met:
1149
- *
1150
- * * Redistributions of source code must retain the above copyright notice,
1151
- * this list of conditions and the following disclaimer.
1152
- *
1153
- * * Redistributions in binary form must reproduce the above copyright notice,
1154
- * this list of conditions and the following disclaimer in the documentation
1155
- * and/or other materials provided with the distribution.
1156
- *
1157
- * * Neither the name of Yahoo! Inc. nor the names of its contributors may be
1158
- * used to endorse or promote products derived from this software without
1159
- * specific prior written permission of Yahoo! Inc.
1160
- *
1161
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1162
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1163
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1164
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1165
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1166
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1167
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1168
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1169
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1170
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1171
- * POSSIBILITY OF SUCH DAMAGE.
1172
- *
1173
- * Parameters:
1174
- * forElement - {DOMElement}
1175
- *
1176
- * Returns:
1177
- * {Array} two item array, Left value then Top value.
1178
- */
1179
- OpenLayers.Util.pagePosition = function(forElement) {
1180
- // NOTE: If element is hidden (display none or disconnected or any the
1181
- // ancestors are hidden) we get (0,0) by default but we still do the
1182
- // accumulation of scroll position.
1183
-
1184
- var pos = [0, 0];
1185
- var viewportElement = OpenLayers.Util.getViewportElement();
1186
- if (!forElement || forElement == window || forElement == viewportElement) {
1187
- // viewport is always at 0,0 as that defined the coordinate system for
1188
- // this function - this avoids special case checks in the code below
1189
- return pos;
1190
- }
1191
-
1192
- // Gecko browsers normally use getBoxObjectFor to calculate the position.
1193
- // When invoked for an element with an implicit absolute position though it
1194
- // can be off by one. Therefore the recursive implementation is used in
1195
- // those (relatively rare) cases.
1196
- var BUGGY_GECKO_BOX_OBJECT =
1197
- OpenLayers.IS_GECKO && document.getBoxObjectFor &&
1198
- OpenLayers.Element.getStyle(forElement, 'position') == 'absolute' &&
1199
- (forElement.style.top == '' || forElement.style.left == '');
1200
-
1201
- var parent = null;
1202
- var box;
1203
-
1204
- if (forElement.getBoundingClientRect) { // IE
1205
- box = forElement.getBoundingClientRect();
1206
- var scrollTop = window.pageYOffset || viewportElement.scrollTop;
1207
- var scrollLeft = window.pageXOffset || viewportElement.scrollLeft;
1208
-
1209
- pos[0] = box.left + scrollLeft;
1210
- pos[1] = box.top + scrollTop;
1211
-
1212
- } else if (document.getBoxObjectFor && !BUGGY_GECKO_BOX_OBJECT) { // gecko
1213
- // Gecko ignores the scroll values for ancestors, up to 1.9. See:
1214
- // https://bugzilla.mozilla.org/show_bug.cgi?id=328881 and
1215
- // https://bugzilla.mozilla.org/show_bug.cgi?id=330619
1216
-
1217
- box = document.getBoxObjectFor(forElement);
1218
- var vpBox = document.getBoxObjectFor(viewportElement);
1219
- pos[0] = box.screenX - vpBox.screenX;
1220
- pos[1] = box.screenY - vpBox.screenY;
1221
-
1222
- } else { // safari/opera
1223
- pos[0] = forElement.offsetLeft;
1224
- pos[1] = forElement.offsetTop;
1225
- parent = forElement.offsetParent;
1226
- if (parent != forElement) {
1227
- while (parent) {
1228
- pos[0] += parent.offsetLeft;
1229
- pos[1] += parent.offsetTop;
1230
- parent = parent.offsetParent;
1231
- }
1232
- }
1233
-
1234
- var browser = OpenLayers.BROWSER_NAME;
1235
-
1236
- // opera & (safari absolute) incorrectly account for body offsetTop
1237
- if (browser == "opera" || (browser == "safari" &&
1238
- OpenLayers.Element.getStyle(forElement, 'position') == 'absolute')) {
1239
- pos[1] -= document.body.offsetTop;
1240
- }
1241
-
1242
- // accumulate the scroll positions for everything but the body element
1243
- parent = forElement.offsetParent;
1244
- while (parent && parent != document.body) {
1245
- pos[0] -= parent.scrollLeft;
1246
- // see https://bugs.opera.com/show_bug.cgi?id=249965
1247
- if (browser != "opera" || parent.tagName != 'TR') {
1248
- pos[1] -= parent.scrollTop;
1249
- }
1250
- parent = parent.offsetParent;
1251
- }
1252
- }
1253
-
1254
- return pos;
1255
- };
1256
-
1257
- /**
1258
- * Function: getViewportElement
1259
- * Returns die viewport element of the document. The viewport element is
1260
- * usually document.documentElement, except in IE,where it is either
1261
- * document.body or document.documentElement, depending on the document's
1262
- * compatibility mode (see
1263
- * http://code.google.com/p/doctype/wiki/ArticleClientViewportElement)
1264
- *
1265
- * Returns:
1266
- * {DOMElement}
1267
- */
1268
- OpenLayers.Util.getViewportElement = function() {
1269
- var viewportElement = arguments.callee.viewportElement;
1270
- if (viewportElement == undefined) {
1271
- viewportElement = (OpenLayers.BROWSER_NAME == "msie" &&
1272
- document.compatMode != 'CSS1Compat') ? document.body :
1273
- document.documentElement;
1274
- arguments.callee.viewportElement = viewportElement;
1275
- }
1276
- return viewportElement;
1277
- };
1278
-
1279
- /**
1280
- * Function: isEquivalentUrl
1281
- * Test two URLs for equivalence.
1282
- *
1283
- * Setting 'ignoreCase' allows for case-independent comparison.
1284
- *
1285
- * Comparison is based on:
1286
- * - Protocol
1287
- * - Host (evaluated without the port)
1288
- * - Port (set 'ignorePort80' to ignore "80" values)
1289
- * - Hash ( set 'ignoreHash' to disable)
1290
- * - Pathname (for relative <-> absolute comparison)
1291
- * - Arguments (so they can be out of order)
1292
- *
1293
- * Parameters:
1294
- * url1 - {String}
1295
- * url2 - {String}
1296
- * options - {Object} Allows for customization of comparison:
1297
- * 'ignoreCase' - Default is True
1298
- * 'ignorePort80' - Default is True
1299
- * 'ignoreHash' - Default is True
1300
- *
1301
- * Returns:
1302
- * {Boolean} Whether or not the two URLs are equivalent
1303
- */
1304
- OpenLayers.Util.isEquivalentUrl = function(url1, url2, options) {
1305
- options = options || {};
1306
-
1307
- OpenLayers.Util.applyDefaults(options, {
1308
- ignoreCase: true,
1309
- ignorePort80: true,
1310
- ignoreHash: true,
1311
- splitArgs: false
1312
- });
1313
-
1314
- var urlObj1 = OpenLayers.Util.createUrlObject(url1, options);
1315
- var urlObj2 = OpenLayers.Util.createUrlObject(url2, options);
1316
-
1317
- //compare all keys except for "args" (treated below)
1318
- for(var key in urlObj1) {
1319
- if(key !== "args") {
1320
- if(urlObj1[key] != urlObj2[key]) {
1321
- return false;
1322
- }
1323
- }
1324
- }
1325
-
1326
- // compare search args - irrespective of order
1327
- for(var key in urlObj1.args) {
1328
- if(urlObj1.args[key] != urlObj2.args[key]) {
1329
- return false;
1330
- }
1331
- delete urlObj2.args[key];
1332
- }
1333
- // urlObj2 shouldn't have any args left
1334
- for(var key in urlObj2.args) {
1335
- return false;
1336
- }
1337
-
1338
- return true;
1339
- };
1340
-
1341
- /**
1342
- * Function: createUrlObject
1343
- *
1344
- * Parameters:
1345
- * url - {String}
1346
- * options - {Object} A hash of options.
1347
- *
1348
- * Valid options:
1349
- * ignoreCase - {Boolean} lowercase url,
1350
- * ignorePort80 - {Boolean} don't include explicit port if port is 80,
1351
- * ignoreHash - {Boolean} Don't include part of url after the hash (#).
1352
- * splitArgs - {Boolean} Split comma delimited params into arrays? Default is
1353
- * true.
1354
- *
1355
- * Returns:
1356
- * {Object} An object with separate url, a, port, host, and args parsed out
1357
- * and ready for comparison
1358
- */
1359
- OpenLayers.Util.createUrlObject = function(url, options) {
1360
- options = options || {};
1361
-
1362
- // deal with relative urls first
1363
- if(!(/^\w+:\/\//).test(url)) {
1364
- var loc = window.location;
1365
- var port = loc.port ? ":" + loc.port : "";
1366
- var fullUrl = loc.protocol + "//" + loc.host.split(":").shift() + port;
1367
- if(url.indexOf("/") === 0) {
1368
- // full pathname
1369
- url = fullUrl + url;
1370
- } else {
1371
- // relative to current path
1372
- var parts = loc.pathname.split("/");
1373
- parts.pop();
1374
- url = fullUrl + parts.join("/") + "/" + url;
1375
- }
1376
- }
1377
-
1378
- if (options.ignoreCase) {
1379
- url = url.toLowerCase();
1380
- }
1381
-
1382
- var a = document.createElement('a');
1383
- a.href = url;
1384
-
1385
- var urlObject = {};
1386
-
1387
- //host (without port)
1388
- urlObject.host = a.host.split(":").shift();
1389
-
1390
- //protocol
1391
- urlObject.protocol = a.protocol;
1392
-
1393
- //port (get uniform browser behavior with port 80 here)
1394
- if(options.ignorePort80) {
1395
- urlObject.port = (a.port == "80" || a.port == "0") ? "" : a.port;
1396
- } else {
1397
- urlObject.port = (a.port == "" || a.port == "0") ? "80" : a.port;
1398
- }
1399
-
1400
- //hash
1401
- urlObject.hash = (options.ignoreHash || a.hash === "#") ? "" : a.hash;
1402
-
1403
- //args
1404
- var queryString = a.search;
1405
- if (!queryString) {
1406
- var qMark = url.indexOf("?");
1407
- queryString = (qMark != -1) ? url.substr(qMark) : "";
1408
- }
1409
- urlObject.args = OpenLayers.Util.getParameters(queryString,
1410
- {splitArgs: options.splitArgs});
1411
-
1412
- // pathname
1413
- //
1414
- // This is a workaround for Internet Explorer where
1415
- // window.location.pathname has a leading "/", but
1416
- // a.pathname has no leading "/".
1417
- urlObject.pathname = (a.pathname.charAt(0) == "/") ? a.pathname : "/" + a.pathname;
1418
-
1419
- return urlObject;
1420
- };
1421
-
1422
- /**
1423
- * Function: removeTail
1424
- * Takes a url and removes everything after the ? and #
1425
- *
1426
- * Parameters:
1427
- * url - {String} The url to process
1428
- *
1429
- * Returns:
1430
- * {String} The string with all queryString and Hash removed
1431
- */
1432
- OpenLayers.Util.removeTail = function(url) {
1433
- var head = null;
1434
-
1435
- var qMark = url.indexOf("?");
1436
- var hashMark = url.indexOf("#");
1437
-
1438
- if (qMark == -1) {
1439
- head = (hashMark != -1) ? url.substr(0,hashMark) : url;
1440
- } else {
1441
- head = (hashMark != -1) ? url.substr(0,Math.min(qMark, hashMark))
1442
- : url.substr(0, qMark);
1443
- }
1444
- return head;
1445
- };
1446
-
1447
- /**
1448
- * Constant: IS_GECKO
1449
- * {Boolean} True if the userAgent reports the browser to use the Gecko engine
1450
- */
1451
- OpenLayers.IS_GECKO = (function() {
1452
- var ua = navigator.userAgent.toLowerCase();
1453
- return ua.indexOf("webkit") == -1 && ua.indexOf("gecko") != -1;
1454
- })();
1455
-
1456
- /**
1457
- * Constant: CANVAS_SUPPORTED
1458
- * {Boolean} True if canvas 2d is supported.
1459
- */
1460
- OpenLayers.CANVAS_SUPPORTED = (function() {
1461
- var elem = document.createElement('canvas');
1462
- return !!(elem.getContext && elem.getContext('2d'));
1463
- })();
1464
-
1465
- /**
1466
- * Constant: BROWSER_NAME
1467
- * {String}
1468
- * A substring of the navigator.userAgent property. Depending on the userAgent
1469
- * property, this will be the empty string or one of the following:
1470
- * * "opera" -- Opera
1471
- * * "msie" -- Internet Explorer
1472
- * * "safari" -- Safari
1473
- * * "firefox" -- Firefox
1474
- * * "mozilla" -- Mozilla
1475
- */
1476
- OpenLayers.BROWSER_NAME = (function() {
1477
- var name = "";
1478
- var ua = navigator.userAgent.toLowerCase();
1479
- if (ua.indexOf("opera") != -1) {
1480
- name = "opera";
1481
- } else if (ua.indexOf("msie") != -1) {
1482
- name = "msie";
1483
- } else if (ua.indexOf("safari") != -1) {
1484
- name = "safari";
1485
- } else if (ua.indexOf("mozilla") != -1) {
1486
- if (ua.indexOf("firefox") != -1) {
1487
- name = "firefox";
1488
- } else {
1489
- name = "mozilla";
1490
- }
1491
- }
1492
- return name;
1493
- })();
1494
-
1495
- /**
1496
- * Function: getBrowserName
1497
- *
1498
- * Returns:
1499
- * {String} A string which specifies which is the current
1500
- * browser in which we are running.
1501
- *
1502
- * Currently-supported browser detection and codes:
1503
- * * 'opera' -- Opera
1504
- * * 'msie' -- Internet Explorer
1505
- * * 'safari' -- Safari
1506
- * * 'firefox' -- Firefox
1507
- * * 'mozilla' -- Mozilla
1508
- *
1509
- * If we are unable to property identify the browser, we
1510
- * return an empty string.
1511
- */
1512
- OpenLayers.Util.getBrowserName = function() {
1513
- return OpenLayers.BROWSER_NAME;
1514
- };
1515
-
1516
- /**
1517
- * Method: getRenderedDimensions
1518
- * Renders the contentHTML offscreen to determine actual dimensions for
1519
- * popup sizing. As we need layout to determine dimensions the content
1520
- * is rendered -9999px to the left and absolute to ensure the
1521
- * scrollbars do not flicker
1522
- *
1523
- * Parameters:
1524
- * contentHTML
1525
- * size - {<OpenLayers.Size>} If either the 'w' or 'h' properties is
1526
- * specified, we fix that dimension of the div to be measured. This is
1527
- * useful in the case where we have a limit in one dimension and must
1528
- * therefore meaure the flow in the other dimension.
1529
- * options - {Object}
1530
- *
1531
- * Allowed Options:
1532
- * displayClass - {String} Optional parameter. A CSS class name(s) string
1533
- * to provide the CSS context of the rendered content.
1534
- * containerElement - {DOMElement} Optional parameter. Insert the HTML to
1535
- * this node instead of the body root when calculating dimensions.
1536
- *
1537
- * Returns:
1538
- * {<OpenLayers.Size>}
1539
- */
1540
- OpenLayers.Util.getRenderedDimensions = function(contentHTML, size, options) {
1541
-
1542
- var w, h;
1543
-
1544
- // create temp container div with restricted size
1545
- var container = document.createElement("div");
1546
- container.style.visibility = "hidden";
1547
-
1548
- var containerElement = (options && options.containerElement)
1549
- ? options.containerElement : document.body;
1550
-
1551
- // Opera and IE7 can't handle a node with position:aboslute if it inherits
1552
- // position:absolute from a parent.
1553
- var parentHasPositionAbsolute = false;
1554
- var superContainer = null;
1555
- var parent = containerElement;
1556
- while (parent && parent.tagName.toLowerCase()!="body") {
1557
- var parentPosition = OpenLayers.Element.getStyle(parent, "position");
1558
- if(parentPosition == "absolute") {
1559
- parentHasPositionAbsolute = true;
1560
- break;
1561
- } else if (parentPosition && parentPosition != "static") {
1562
- break;
1563
- }
1564
- parent = parent.parentNode;
1565
- }
1566
- if(parentHasPositionAbsolute && (containerElement.clientHeight === 0 ||
1567
- containerElement.clientWidth === 0) ){
1568
- superContainer = document.createElement("div");
1569
- superContainer.style.visibility = "hidden";
1570
- superContainer.style.position = "absolute";
1571
- superContainer.style.overflow = "visible";
1572
- superContainer.style.width = document.body.clientWidth + "px";
1573
- superContainer.style.height = document.body.clientHeight + "px";
1574
- superContainer.appendChild(container);
1575
- }
1576
- container.style.position = "absolute";
1577
-
1578
- //fix a dimension, if specified.
1579
- if (size) {
1580
- if (size.w) {
1581
- w = size.w;
1582
- container.style.width = w + "px";
1583
- } else if (size.h) {
1584
- h = size.h;
1585
- container.style.height = h + "px";
1586
- }
1587
- }
1588
-
1589
- //add css classes, if specified
1590
- if (options && options.displayClass) {
1591
- container.className = options.displayClass;
1592
- }
1593
-
1594
- // create temp content div and assign content
1595
- var content = document.createElement("div");
1596
- content.innerHTML = contentHTML;
1597
-
1598
- // we need overflow visible when calculating the size
1599
- content.style.overflow = "visible";
1600
- if (content.childNodes) {
1601
- for (var i=0, l=content.childNodes.length; i<l; i++) {
1602
- if (!content.childNodes[i].style) continue;
1603
- content.childNodes[i].style.overflow = "visible";
1604
- }
1605
- }
1606
-
1607
- // add content to restricted container
1608
- container.appendChild(content);
1609
-
1610
- // append container to body for rendering
1611
- if (superContainer) {
1612
- containerElement.appendChild(superContainer);
1613
- } else {
1614
- containerElement.appendChild(container);
1615
- }
1616
-
1617
- // calculate scroll width of content and add corners and shadow width
1618
- if (!w) {
1619
- w = parseInt(content.scrollWidth);
1620
-
1621
- // update container width to allow height to adjust
1622
- container.style.width = w + "px";
1623
- }
1624
- // capture height and add shadow and corner image widths
1625
- if (!h) {
1626
- h = parseInt(content.scrollHeight);
1627
- }
1628
-
1629
- // remove elements
1630
- container.removeChild(content);
1631
- if (superContainer) {
1632
- superContainer.removeChild(container);
1633
- containerElement.removeChild(superContainer);
1634
- } else {
1635
- containerElement.removeChild(container);
1636
- }
1637
-
1638
- return new OpenLayers.Size(w, h);
1639
- };
1640
-
1641
- /**
1642
- * APIFunction: getScrollbarWidth
1643
- * This function has been modified by the OpenLayers from the original version,
1644
- * written by Matthew Eernisse and released under the Apache 2
1645
- * license here:
1646
- *
1647
- * http://www.fleegix.org/articles/2006/05/30/getting-the-scrollbar-width-in-pixels
1648
- *
1649
- * It has been modified simply to cache its value, since it is physically
1650
- * impossible that this code could ever run in more than one browser at
1651
- * once.
1652
- *
1653
- * Returns:
1654
- * {Integer}
1655
- */
1656
- OpenLayers.Util.getScrollbarWidth = function() {
1657
-
1658
- var scrollbarWidth = OpenLayers.Util._scrollbarWidth;
1659
-
1660
- if (scrollbarWidth == null) {
1661
- var scr = null;
1662
- var inn = null;
1663
- var wNoScroll = 0;
1664
- var wScroll = 0;
1665
-
1666
- // Outer scrolling div
1667
- scr = document.createElement('div');
1668
- scr.style.position = 'absolute';
1669
- scr.style.top = '-1000px';
1670
- scr.style.left = '-1000px';
1671
- scr.style.width = '100px';
1672
- scr.style.height = '50px';
1673
- // Start with no scrollbar
1674
- scr.style.overflow = 'hidden';
1675
-
1676
- // Inner content div
1677
- inn = document.createElement('div');
1678
- inn.style.width = '100%';
1679
- inn.style.height = '200px';
1680
-
1681
- // Put the inner div in the scrolling div
1682
- scr.appendChild(inn);
1683
- // Append the scrolling div to the doc
1684
- document.body.appendChild(scr);
1685
-
1686
- // Width of the inner div sans scrollbar
1687
- wNoScroll = inn.offsetWidth;
1688
-
1689
- // Add the scrollbar
1690
- scr.style.overflow = 'scroll';
1691
- // Width of the inner div width scrollbar
1692
- wScroll = inn.offsetWidth;
1693
-
1694
- // Remove the scrolling div from the doc
1695
- document.body.removeChild(document.body.lastChild);
1696
-
1697
- // Pixel width of the scroller
1698
- OpenLayers.Util._scrollbarWidth = (wNoScroll - wScroll);
1699
- scrollbarWidth = OpenLayers.Util._scrollbarWidth;
1700
- }
1701
-
1702
- return scrollbarWidth;
1703
- };
1704
-
1705
- /**
1706
- * APIFunction: getFormattedLonLat
1707
- * This function will return latitude or longitude value formatted as
1708
- *
1709
- * Parameters:
1710
- * coordinate - {Float} the coordinate value to be formatted
1711
- * axis - {String} value of either 'lat' or 'lon' to indicate which axis is to
1712
- * to be formatted (default = lat)
1713
- * dmsOption - {String} specify the precision of the output can be one of:
1714
- * 'dms' show degrees minutes and seconds
1715
- * 'dm' show only degrees and minutes
1716
- * 'd' show only degrees
1717
- *
1718
- * Returns:
1719
- * {String} the coordinate value formatted as a string
1720
- */
1721
- OpenLayers.Util.getFormattedLonLat = function(coordinate, axis, dmsOption) {
1722
- if (!dmsOption) {
1723
- dmsOption = 'dms'; //default to show degree, minutes, seconds
1724
- }
1725
-
1726
- coordinate = (coordinate+540)%360 - 180; // normalize for sphere being round
1727
-
1728
- var abscoordinate = Math.abs(coordinate);
1729
- var coordinatedegrees = Math.floor(abscoordinate);
1730
-
1731
- var coordinateminutes = (abscoordinate - coordinatedegrees)/(1/60);
1732
- var tempcoordinateminutes = coordinateminutes;
1733
- coordinateminutes = Math.floor(coordinateminutes);
1734
- var coordinateseconds = (tempcoordinateminutes - coordinateminutes)/(1/60);
1735
- coordinateseconds = Math.round(coordinateseconds*10);
1736
- coordinateseconds /= 10;
1737
-
1738
- if( coordinateseconds >= 60) {
1739
- coordinateseconds -= 60;
1740
- coordinateminutes += 1;
1741
- if( coordinateminutes >= 60) {
1742
- coordinateminutes -= 60;
1743
- coordinatedegrees += 1;
1744
- }
1745
- }
1746
-
1747
- if( coordinatedegrees < 10 ) {
1748
- coordinatedegrees = "0" + coordinatedegrees;
1749
- }
1750
- var str = coordinatedegrees + "\u00B0";
1751
-
1752
- if (dmsOption.indexOf('dm') >= 0) {
1753
- if( coordinateminutes < 10 ) {
1754
- coordinateminutes = "0" + coordinateminutes;
1755
- }
1756
- str += coordinateminutes + "'";
1757
-
1758
- if (dmsOption.indexOf('dms') >= 0) {
1759
- if( coordinateseconds < 10 ) {
1760
- coordinateseconds = "0" + coordinateseconds;
1761
- }
1762
- str += coordinateseconds + '"';
1763
- }
1764
- }
1765
-
1766
- if (axis == "lon") {
1767
- str += coordinate < 0 ? OpenLayers.i18n("W") : OpenLayers.i18n("E");
1768
- } else {
1769
- str += coordinate < 0 ? OpenLayers.i18n("S") : OpenLayers.i18n("N");
1770
- }
1771
- return str;
1772
- };
1773
-