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,34 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <feed xmlns="http://www.w3.org/2005/Atom"
3
- xmlns:georss="http://www.georss.org/georss">
4
-
5
- <title>tumulus</title>
6
- <link rel="self"
7
- href="http://pleiades.stoa.org/places/tumulus"/>
8
- <updated/>
9
- <author/>
10
- <id>http://pleiades.stoa.org/places/tumulus</id>
11
-
12
- <entry>
13
- <title>Unnamed Tumulus</title>
14
- <link rel="alternate"
15
- href="http://pleiades.stoa.org/places/638896"
16
- />
17
- <id>http://pleiades.stoa.org/places/638896</id>
18
- <updated/>
19
- <summary>An ancient tumulus, attested during the Classical period (modern location: Karaburun). Its ancient name is not known.</summary>
20
- <georss:point>36.7702 29.9805</georss:point>
21
- </entry>
22
- <entry>
23
- <title>Unnamed Tumulus</title>
24
- <link rel="alternate"
25
- href="http://pleiades.stoa.org/places/638924"
26
- />
27
- <id>http://pleiades.stoa.org/places/638924</id>
28
- <updated/>
29
- <summary>An ancient tumulus, attested during the Classical period (modern location: Kızılbel). Its ancient name is not known.</summary>
30
- <georss:point>36.7263 29.8619</georss:point>
31
- </entry>
32
-
33
- </feed>
34
-
@@ -1,3 +0,0 @@
1
- point image
2
- 10,20 http://boston.openguides.org/markers/ORANGE.png
3
- 15,25 http://boston.openguides.org/markers/ORANGE.png
@@ -1,3 +0,0 @@
1
- point title description image
2
- 10,20 a b http://boston.openguides.org/markers/ORANGE.png
3
- 15,25 c d http://boston.openguides.org/markers/ORANGE.png
@@ -1,3 +0,0 @@
1
- overflow point title description image
2
- auto 10,20 a b http://boston.openguides.org/markers/ORANGE.png
3
- hidden 15,25 c d http://boston.openguides.org/markers/ORANGE.png
@@ -1,378 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/css" href="/css/rss.css" ?>
2
-
3
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4
- xmlns="http://purl.org/rss/1.0/"
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:georss="http://www.georss.org/georss">
7
- <docs>This is an RSS file. Copy the URL into your aggregator of choice. If you don't know what this means and want to learn more, please see: <span>http://platial.typepad.com/news/2006/04/really_simple_t.html</span> for more info.</docs><channel rdf:about="http://platial.com">
8
- <link>http://platial.com</link>
9
- <title>Crschmidt's Places At Platial</title>
10
- <description></description>
11
- <items>
12
- <rdf:Seq>
13
- <rdf:li resource="http://platial.com/place/90306"/>
14
- <rdf:li resource="http://platial.com/place/67230"/>
15
- <rdf:li resource="http://platial.com/place/65645"/>
16
- <rdf:li resource="http://platial.com/place/62200"/>
17
- <rdf:li resource="http://platial.com/place/28232"/>
18
- <rdf:li resource="http://platial.com/place/43666"/>
19
- <rdf:li resource="http://platial.com/place/28394"/>
20
- <rdf:li resource="http://platial.com/place/28251"/>
21
- <rdf:li resource="http://platial.com/place/28392"/>
22
- <rdf:li resource="http://platial.com/place/28391"/>
23
- <rdf:li resource="http://platial.com/place/28231"/>
24
- <rdf:li resource="http://platial.com/place/28393"/>
25
- <rdf:li resource="http://platial.com/place/31685"/>
26
- <rdf:li resource="http://platial.com/place/28596"/>
27
- <rdf:li resource="http://platial.com/place/28595"/>
28
- <rdf:li resource="http://platial.com/place/28594"/>
29
- <rdf:li resource="http://platial.com/place/28593"/>
30
- <rdf:li resource="http://platial.com/place/28592"/>
31
- <rdf:li resource="http://platial.com/place/28591"/>
32
- <rdf:li resource="http://platial.com/place/28590"/>
33
- <rdf:li resource="http://platial.com/place/28589"/>
34
- <rdf:li resource="http://platial.com/place/28588"/>
35
- <rdf:li resource="http://platial.com/place/28587"/>
36
- <rdf:li resource="http://platial.com/place/28586"/>
37
- <rdf:li resource="http://platial.com/place/28585"/>
38
- <rdf:li resource="http://platial.com/place/28584"/>
39
- <rdf:li resource="http://platial.com/place/28583"/>
40
- <rdf:li resource="http://platial.com/place/28582"/>
41
- <rdf:li resource="http://platial.com/place/28581"/>
42
- <rdf:li resource="http://platial.com/place/28580"/>
43
- <rdf:li resource="http://platial.com/place/28579"/>
44
- <rdf:li resource="http://platial.com/place/28578"/>
45
- <rdf:li resource="http://platial.com/place/28577"/>
46
- <rdf:li resource="http://platial.com/place/28576"/>
47
- <rdf:li resource="http://platial.com/place/28575"/>
48
- <rdf:li resource="http://platial.com/place/28574"/>
49
- <rdf:li resource="http://platial.com/place/28573"/>
50
- <rdf:li resource="http://platial.com/place/28572"/>
51
- <rdf:li resource="http://platial.com/place/28571"/>
52
- <rdf:li resource="http://platial.com/place/28570"/>
53
- </rdf:Seq>
54
- </items>
55
- </channel>
56
- <item rdf:about="http://platial.com/place/90306">
57
- <link>http://platial.com/place/90306</link>
58
- <title>Knitting Room</title>
59
- <description><![CDATA[This little shop is jammed full. Yarn, yarn everywhere. They make the most of every possible nook and cranny. I like this place also because they have a lot of different kinds of knitting needles in all different sizes. Also, the people who work here are younger and hipper than in the other stores I go to. I reccomend buying supplies here and then knitting your way through a good documentary at the Capitol Theater across the street.<br/>Address: 2 lake St, Arlington, MA <br/>Tags: knitting, yarn, pins and needles, handspun, hand dyed, novelty yarn, fancy, simple, young, hip, friendly, needles, addy, cute hats<br /><br /><a href="http://platial.com/place/90306">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/90306">Grab this on Platial</a> ]]></description>
60
- <georss:point>42.405696 -71.142197</georss:point>
61
- <dc:creator>crschmidt</dc:creator>
62
- <dc:date>2006-06-08T17:35:01.942452+00:00</dc:date>
63
- </item>
64
- <item rdf:about="http://platial.com/place/67230">
65
- <link>http://platial.com/place/67230</link>
66
- <title>Knitting Room</title>
67
- <description><![CDATA[This little shop is jammed full. Yarn, yarn everywhere. They make the most of every possible nook and cranny. I like this place also because they have a lot of different kinds of knitting needles in all different sizes. Also, the people who work here are younger and hipper than in the other stores I go to. I reccomend buying supplies here and then knitting your way through a good documentary at the Capitol Theater across the street.<br/>Address: 2 lake St, Arlington, MA <br/>Tags: knitting, yarn, pins and needles, handspun, hand dyed, novelty yarn, fancy, simple, young, hip, friendly, needles, addy, cute hats<br /><br /><a href="http://platial.com/place/67230">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/67230">Grab this on Platial</a> ]]></description>
68
- <georss:point>42.405524 -71.142273</georss:point>
69
- <dc:creator>crschmidt</dc:creator>
70
- <dc:date>2006-04-24T11:35:26.733857+00:00</dc:date>
71
- </item>
72
- <item rdf:about="http://platial.com/place/65645">
73
- <link>http://platial.com/place/65645</link>
74
- <title>†¢¢™£ˆøœ</title>
75
- <description><![CDATA[ijeª£∆µˆ˚î<br/>Address: 151 Erie St., Cambridge, MA<br/>Tags: platial graffiti<br /><br /><a href="http://platial.com/place/65645">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/65645">Grab this on Platial</a> ]]></description>
76
- <georss:point>42.352455 -71.110210</georss:point>
77
- <dc:creator>crschmidt</dc:creator>
78
- <dc:date>2006-04-20T08:56:12.696224+00:00</dc:date>
79
- </item>
80
- <item rdf:about="http://platial.com/place/62200">
81
- <link>http://platial.com/place/62200</link>
82
- <title>Allen Hall</title>
83
- <description><![CDATA[My dorm at UIUC.<br/>Address: 1301 W Gregory Dr, Urbana, IL<br/>Tags: dorm, uiuc, college<br/><a href="http://platial.com/place/62200"><img src="http://platial.comhttp://static.flickr.com/4/8576450_0d59cc2531_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/62200">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/62200">Grab this on Platial</a> ]]></description>
84
- <georss:point>40.104172 -88.220623</georss:point>
85
- <dc:creator>crschmidt</dc:creator>
86
- <dc:date>2006-04-14T08:01:01.872873+00:00</dc:date>
87
- </item>
88
- <item rdf:about="http://platial.com/place/28232">
89
- <link>http://platial.com/place/28232</link>
90
- <title>Bagby Hot Springs, OR</title>
91
- <description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C. However, the area around the springs are not exactly well looked upon by people who know the place.
92
-
93
- <br/>Tags: 20s, rosalie, romance, childhood, hike, camping, soak, relax, beautiful, hot springs, bathhouse, favorite, popular, crowded, organized, honeymoon tub, plumbing made from hollowed out trees, hot springs, mt hood, notorious car break in spot, rash, bacteria<br /><br /><a href="http://platial.com/place/28232">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28232">Grab this on Platial</a> ]]></description>
94
- <georss:point>44.936000 -122.173000</georss:point>
95
- <dc:creator>crschmidt</dc:creator>
96
- <dc:date>2006-01-03T23:10:18.553063+00:00</dc:date>
97
- </item>
98
- <item rdf:about="http://platial.com/place/43666">
99
- <link>http://platial.com/place/43666</link>
100
- <title>Shooting Location for "The Field of Dreams" Film</title>
101
- <description><![CDATA[1989's Field of Dreams was a Best Picture Academy Award nominee, and the baseball field in the cornfield still stands today, and has become quite a tourist destination. Games are occasionally played at the field, re-enacting professional baseball at the turn of the 20th Century.<br/>Address: Dyersville, Iowa<br/>Tags: iowa, baseball, movie locations, field of dreams, kevin costner, costner, dyersville, kinsella, james earl jones, chicago black sox, shoeless joe, joe jackson, famous farms, film, movie, cinema, shooting location<br /><br /><a href="http://platial.com/place/43666">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/43666">Grab this on Platial</a> ]]></description>
102
- <georss:point>42.481213 -91.111679</georss:point>
103
- <dc:creator>echinodermata</dc:creator>
104
- <dc:date>2006-03-23T11:40:17.654061+00:00</dc:date>
105
- </item>
106
- <item rdf:about="http://platial.com/place/28394">
107
- <link>http://platial.com/place/28394</link>
108
- <title>Moffetts (Bonneville) Hot Springs, WA</title>
109
- <description><![CDATA[Hot spring, temperature: 97 degress F, 36 degress C<br/>Tags: soak, hot springs, relax, nature<br /><br /><a href="http://platial.com/place/28394">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28394">Grab this on Platial</a> ]]></description>
110
- <georss:point>45.658000 -121.962000</georss:point>
111
- <dc:creator>crschmidt</dc:creator>
112
- <dc:date>2006-01-03T23:16:27.329816+00:00</dc:date>
113
- </item>
114
- <item rdf:about="http://platial.com/place/28251">
115
- <link>http://platial.com/place/28251</link>
116
- <title>Austin Hot Springs, OR</title>
117
- <description><![CDATA[Hot spring, temperature: 186 degress F, 86 degress C<br/>Tags: soak, hot springs, relax, nature, popular, crowded<br /><br /><a href="http://platial.com/place/28251">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28251">Grab this on Platial</a> ]]></description>
118
- <georss:point>45.021000 -122.009000</georss:point>
119
- <dc:creator>crschmidt</dc:creator>
120
- <dc:date>2006-01-03T23:11:04.489886+00:00</dc:date>
121
- </item>
122
- <item rdf:about="http://platial.com/place/28392">
123
- <link>http://platial.com/place/28392</link>
124
- <title>Rock Creek Hot Springs, WA</title>
125
- <description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br/>Tags: soak, hot springs, relax, nature<br /><br /><a href="http://platial.com/place/28392">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28392">Grab this on Platial</a> ]]></description>
126
- <georss:point>45.723000 -121.927000</georss:point>
127
- <dc:creator>crschmidt</dc:creator>
128
- <dc:date>2006-01-03T23:16:22.636855+00:00</dc:date>
129
- </item>
130
- <item rdf:about="http://platial.com/place/28391">
131
- <link>http://platial.com/place/28391</link>
132
- <title>St. Martins (Wind River) Hot Springs, WA</title>
133
- <description><![CDATA[Hot spring, temperature: 120 degress F, 49 degress C<br/>Tags: hot springs, soak, relax, nature, wonderful<br /><br /><a href="http://platial.com/place/28391">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28391">Grab this on Platial</a> ]]></description>
134
- <georss:point>45.728000 -121.800000</georss:point>
135
- <dc:creator>crschmidt</dc:creator>
136
- <dc:date>2006-01-03T23:16:20.383244+00:00</dc:date>
137
- </item>
138
- <item rdf:about="http://platial.com/place/28231">
139
- <link>http://platial.com/place/28231</link>
140
- <title>Breitenbush Hot Springs, OR</title>
141
- <description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br/>Tags: hot springs, resort, relax, nature, beautiful, http:www.breitenbush.com, soaking<br /><br /><a href="http://platial.com/place/28231">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28231">Grab this on Platial</a> ]]></description>
142
- <georss:point>44.782000 -121.975000</georss:point>
143
- <dc:creator>crschmidt</dc:creator>
144
- <dc:date>2006-01-03T23:10:16.529195+00:00</dc:date>
145
- </item>
146
- <item rdf:about="http://platial.com/place/28393">
147
- <link>http://platial.com/place/28393</link>
148
- <title>Collins Hot Springs, WA</title>
149
- <description><![CDATA[Hot spring, temperature: 122 degress F, 50 degress C<br/>Tags: portland, nice, hot springs, soak<br /><br /><a href="http://platial.com/place/28393">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28393">Grab this on Platial</a> ]]></description>
150
- <georss:point>45.701000 -121.728000</georss:point>
151
- <dc:creator>crschmidt</dc:creator>
152
- <dc:date>2006-01-03T23:16:24.648745+00:00</dc:date>
153
- </item>
154
- <item rdf:about="http://platial.com/place/31685">
155
- <link>http://platial.com/place/31685</link>
156
- <title>Darwin's Ltd.</title>
157
- <description><![CDATA[Nice little coffee shop/cafe, free Wifi, close enough to walk from Harvard Square.<br/>Address: 148 Mount Auburn St, Cambridge, MA<br/>Tags: coffee, beer, sandwiches, freewifi<br/><a href="http://platial.com/place/31685"><img src="http://platial.comhttp://static.flickr.com/38/84885937_74fd3d1025_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/31685">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/31685">Grab this on Platial</a> ]]></description>
158
- <georss:point>42.373974 -71.125053</georss:point>
159
- <dc:creator>crschmidt</dc:creator>
160
- <dc:date>2006-01-10T09:24:08.152985+00:00</dc:date>
161
- </item>
162
- <item rdf:about="http://platial.com/place/28596">
163
- <link>http://platial.com/place/28596</link>
164
- <title>Huckleberry Hot Springs, WY</title>
165
- <description><![CDATA[Hot spring, temperature: Boiling degress F, Boiling degress C<br /><br /><a href="http://platial.com/place/28596">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28596">Grab this on Platial</a> ]]></description>
166
- <georss:point>44.115000 -110.684000</georss:point>
167
- <dc:creator>crschmidt</dc:creator>
168
- <dc:date>2006-01-03T23:24:32.283094+00:00</dc:date>
169
- </item>
170
- <item rdf:about="http://platial.com/place/28595">
171
- <link>http://platial.com/place/28595</link>
172
- <title>South Entrance Hot Springs, WY</title>
173
- <description><![CDATA[Hot spring, temperature: 156 degress F, 69 degress C<br/><a href="http://platial.com/place/28595"><img src="http://platial.comhttp://static.flickr.com/52/130989872_f1457f68b5_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/28595">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28595">Grab this on Platial</a> ]]></description>
174
- <georss:point>44.142000 -110.656000</georss:point>
175
- <dc:creator>crschmidt</dc:creator>
176
- <dc:date>2006-01-03T23:24:30.279497+00:00</dc:date>
177
- </item>
178
- <item rdf:about="http://platial.com/place/28594">
179
- <link>http://platial.com/place/28594</link>
180
- <title>Crawfish Creek Hot Springs, WY</title>
181
- <description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C<br/><a href="http://platial.com/place/28594"><img src="http://platial.comhttp://static.flickr.com/52/128312256_d6a879924c_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/28594">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28594">Grab this on Platial</a> ]]></description>
182
- <georss:point>44.157000 -110.699000</georss:point>
183
- <dc:creator>crschmidt</dc:creator>
184
- <dc:date>2006-01-03T23:24:28.280271+00:00</dc:date>
185
- </item>
186
- <item rdf:about="http://platial.com/place/28593">
187
- <link>http://platial.com/place/28593</link>
188
- <title>Crawfish Creek Hot Springs, WY</title>
189
- <description><![CDATA[Hot spring, temperature: 138 degress F, 59 degress C<br /><br /><a href="http://platial.com/place/28593">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28593">Grab this on Platial</a> ]]></description>
190
- <georss:point>44.165000 -110.723000</georss:point>
191
- <dc:creator>crschmidt</dc:creator>
192
- <dc:date>2006-01-03T23:24:20.364077+00:00</dc:date>
193
- </item>
194
- <item rdf:about="http://platial.com/place/28592">
195
- <link>http://platial.com/place/28592</link>
196
- <title>Snake Hot Springs, WY</title>
197
- <description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C<br /><br /><a href="http://platial.com/place/28592">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28592">Grab this on Platial</a> ]]></description>
198
- <georss:point>44.169000 -110.583000</georss:point>
199
- <dc:creator>crschmidt</dc:creator>
200
- <dc:date>2006-01-03T23:24:12.234974+00:00</dc:date>
201
- </item>
202
- <item rdf:about="http://platial.com/place/28591">
203
- <link>http://platial.com/place/28591</link>
204
- <title>Hot Springs, WY</title>
205
- <description><![CDATA[Hot spring, temperature: 142 degress F, 61 degress C<br /><br /><a href="http://platial.com/place/28591">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28591">Grab this on Platial</a> ]]></description>
206
- <georss:point>44.187000 -110.726000</georss:point>
207
- <dc:creator>crschmidt</dc:creator>
208
- <dc:date>2006-01-03T23:24:10.027857+00:00</dc:date>
209
- </item>
210
- <item rdf:about="http://platial.com/place/28590">
211
- <link>http://platial.com/place/28590</link>
212
- <title>Hot Springs on Upper Snake River, WY</title>
213
- <description><![CDATA[Hot spring, temperature: 167 degress F, 75 degress C<br /><br /><a href="http://platial.com/place/28590">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28590">Grab this on Platial</a> ]]></description>
214
- <georss:point>44.204000 -110.486000</georss:point>
215
- <dc:creator>crschmidt</dc:creator>
216
- <dc:date>2006-01-03T23:24:07.79658+00:00</dc:date>
217
- </item>
218
- <item rdf:about="http://platial.com/place/28589">
219
- <link>http://platial.com/place/28589</link>
220
- <title>Hot Springs on lewis Lake, WY</title>
221
- <description><![CDATA[Hot spring, temperature: 154 degress F, 68 degress C<br /><br /><a href="http://platial.com/place/28589">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28589">Grab this on Platial</a> ]]></description>
222
- <georss:point>44.276000 -110.636000</georss:point>
223
- <dc:creator>crschmidt</dc:creator>
224
- <dc:date>2006-01-03T23:24:05.683418+00:00</dc:date>
225
- </item>
226
- <item rdf:about="http://platial.com/place/28588">
227
- <link>http://platial.com/place/28588</link>
228
- <title>Rustic Geyser, WY</title>
229
- <description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28588">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28588">Grab this on Platial</a> ]]></description>
230
- <georss:point>44.282000 -110.506000</georss:point>
231
- <dc:creator>crschmidt</dc:creator>
232
- <dc:date>2006-01-03T23:24:03.66329+00:00</dc:date>
233
- </item>
234
- <item rdf:about="http://platial.com/place/28587">
235
- <link>http://platial.com/place/28587</link>
236
- <title>Bechler River Hot Springs, WY</title>
237
- <description><![CDATA[Hot spring, temperature: 194 degress F, 90 degress C<br /><br /><a href="http://platial.com/place/28587">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28587">Grab this on Platial</a> ]]></description>
238
- <georss:point>44.285000 -110.900000</georss:point>
239
- <dc:creator>crschmidt</dc:creator>
240
- <dc:date>2006-01-03T23:24:01.611442+00:00</dc:date>
241
- </item>
242
- <item rdf:about="http://platial.com/place/28586">
243
- <link>http://platial.com/place/28586</link>
244
- <title>Hot Springs, WY</title>
245
- <description><![CDATA[Hot spring, temperature: Boiling degress F, 201 degress C<br /><br /><a href="http://platial.com/place/28586">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28586">Grab this on Platial</a> ]]></description>
246
- <georss:point>44.290000 -110.504000</georss:point>
247
- <dc:creator>crschmidt</dc:creator>
248
- <dc:date>2006-01-03T23:23:59.658699+00:00</dc:date>
249
- </item>
250
- <item rdf:about="http://platial.com/place/28585">
251
- <link>http://platial.com/place/28585</link>
252
- <title>Heart Lake Geyser Basin, WY</title>
253
- <description><![CDATA[Hot spring, temperature: Middle Group degress F, 174 degress C<br /><br /><a href="http://platial.com/place/28585">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28585">Grab this on Platial</a> ]]></description>
254
- <georss:point>44.299000 -110.517000</georss:point>
255
- <dc:creator>crschmidt</dc:creator>
256
- <dc:date>2006-01-03T23:23:57.181801+00:00</dc:date>
257
- </item>
258
- <item rdf:about="http://platial.com/place/28584">
259
- <link>http://platial.com/place/28584</link>
260
- <title>Hot Springs, WY</title>
261
- <description><![CDATA[Hot spring, temperature: Boiling degress F, 201 degress C<br /><br /><a href="http://platial.com/place/28584">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28584">Grab this on Platial</a> ]]></description>
262
- <georss:point>44.307000 -110.526000</georss:point>
263
- <dc:creator>crschmidt</dc:creator>
264
- <dc:date>2006-01-03T23:23:55.240485+00:00</dc:date>
265
- </item>
266
- <item rdf:about="http://platial.com/place/28583">
267
- <link>http://platial.com/place/28583</link>
268
- <title>Hot Springs on lewis Lake, WY</title>
269
- <description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28583">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28583">Grab this on Platial</a> ]]></description>
270
- <georss:point>44.309000 -110.654000</georss:point>
271
- <dc:creator>crschmidt</dc:creator>
272
- <dc:date>2006-01-03T23:23:53.22295+00:00</dc:date>
273
- </item>
274
- <item rdf:about="http://platial.com/place/28582">
275
- <link>http://platial.com/place/28582</link>
276
- <title>Shoshone Geyser Basin, WY</title>
277
- <description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28582">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28582">Grab this on Platial</a> ]]></description>
278
- <georss:point>44.354000 -110.800000</georss:point>
279
- <dc:creator>crschmidt</dc:creator>
280
- <dc:date>2006-01-03T23:23:51.179049+00:00</dc:date>
281
- </item>
282
- <item rdf:about="http://platial.com/place/28581">
283
- <link>http://platial.com/place/28581</link>
284
- <title>Hot Springs on Continental Divide, WY</title>
285
- <description><![CDATA[Hot spring, temperature: 189 degress F, 87 degress C<br /><br /><a href="http://platial.com/place/28581">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28581">Grab this on Platial</a> ]]></description>
286
- <georss:point>44.401000 -110.936000</georss:point>
287
- <dc:creator>crschmidt</dc:creator>
288
- <dc:date>2006-01-03T23:23:49.077176+00:00</dc:date>
289
- </item>
290
- <item rdf:about="http://platial.com/place/28580">
291
- <link>http://platial.com/place/28580</link>
292
- <title>Hot Springs on Upper Firehole River, WY</title>
293
- <description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28580">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28580">Grab this on Platial</a> ]]></description>
294
- <georss:point>44.404000 -110.824000</georss:point>
295
- <dc:creator>crschmidt</dc:creator>
296
- <dc:date>2006-01-03T23:23:47.054664+00:00</dc:date>
297
- </item>
298
- <item rdf:about="http://platial.com/place/28579">
299
- <link>http://platial.com/place/28579</link>
300
- <title>Summit Lake Hot Springs, WY</title>
301
- <description><![CDATA[Hot spring, temperature: 162 degress F, 72 degress C<br /><br /><a href="http://platial.com/place/28579">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28579">Grab this on Platial</a> ]]></description>
302
- <georss:point>44.410000 -110.953000</georss:point>
303
- <dc:creator>crschmidt</dc:creator>
304
- <dc:date>2006-01-03T23:23:45.039394+00:00</dc:date>
305
- </item>
306
- <item rdf:about="http://platial.com/place/28578">
307
- <link>http://platial.com/place/28578</link>
308
- <title>Lone Star Geyser Basin, WY</title>
309
- <description><![CDATA[Hot spring, temperature: Footbridge degress F, 183 degress C<br /><br /><a href="http://platial.com/place/28578">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28578">Grab this on Platial</a> ]]></description>
310
- <georss:point>44.414000 -110.817000</georss:point>
311
- <dc:creator>crschmidt</dc:creator>
312
- <dc:date>2006-01-03T23:23:42.938808+00:00</dc:date>
313
- </item>
314
- <item rdf:about="http://platial.com/place/28577">
315
- <link>http://platial.com/place/28577</link>
316
- <title>West. Thumb Geyser Basin, WY</title>
317
- <description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28577">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28577">Grab this on Platial</a> ]]></description>
318
- <georss:point>44.417000 -110.570000</georss:point>
319
- <dc:creator>crschmidt</dc:creator>
320
- <dc:date>2006-01-03T23:23:40.90238+00:00</dc:date>
321
- </item>
322
- <item rdf:about="http://platial.com/place/28576">
323
- <link>http://platial.com/place/28576</link>
324
- <title>Lone Star Geyser, WY</title>
325
- <description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28576">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28576">Grab this on Platial</a> ]]></description>
326
- <georss:point>44.418000 -110.805000</georss:point>
327
- <dc:creator>crschmidt</dc:creator>
328
- <dc:date>2006-01-03T23:23:38.844625+00:00</dc:date>
329
- </item>
330
- <item rdf:about="http://platial.com/place/28575">
331
- <link>http://platial.com/place/28575</link>
332
- <title>Smoke Jumper Hot Springs, WY</title>
333
- <description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br /><br /><a href="http://platial.com/place/28575">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28575">Grab this on Platial</a> ]]></description>
334
- <georss:point>44.421000 -110.952000</georss:point>
335
- <dc:creator>crschmidt</dc:creator>
336
- <dc:date>2006-01-03T23:23:36.818513+00:00</dc:date>
337
- </item>
338
- <item rdf:about="http://platial.com/place/28574">
339
- <link>http://platial.com/place/28574</link>
340
- <title>West. Thumb Geyser Basin, WY</title>
341
- <description><![CDATA[Hot spring, temperature: 196 degress F, 91 degress C<br /><br /><a href="http://platial.com/place/28574">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28574">Grab this on Platial</a> ]]></description>
342
- <georss:point>44.422000 -110.574000</georss:point>
343
- <dc:creator>crschmidt</dc:creator>
344
- <dc:date>2006-01-03T23:23:34.767729+00:00</dc:date>
345
- </item>
346
- <item rdf:about="http://platial.com/place/28573">
347
- <link>http://platial.com/place/28573</link>
348
- <title>Potts Hot Spring Basin, WY</title>
349
- <description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28573">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28573">Grab this on Platial</a> ]]></description>
350
- <georss:point>44.433000 -110.581000</georss:point>
351
- <dc:creator>crschmidt</dc:creator>
352
- <dc:date>2006-01-03T23:23:32.749915+00:00</dc:date>
353
- </item>
354
- <item rdf:about="http://platial.com/place/28572">
355
- <link>http://platial.com/place/28572</link>
356
- <title>Hot Springs, WY</title>
357
- <description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28572">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28572">Grab this on Platial</a> ]]></description>
358
- <georss:point>44.433000 -110.813000</georss:point>
359
- <dc:creator>crschmidt</dc:creator>
360
- <dc:date>2006-01-03T23:23:30.829745+00:00</dc:date>
361
- </item>
362
- <item rdf:about="http://platial.com/place/28571">
363
- <link>http://platial.com/place/28571</link>
364
- <title>Hot Springs on Continental Divide, WY</title>
365
- <description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28571">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28571">Grab this on Platial</a> ]]></description>
366
- <georss:point>44.438000 -110.977000</georss:point>
367
- <dc:creator>crschmidt</dc:creator>
368
- <dc:date>2006-01-03T23:23:28.730401+00:00</dc:date>
369
- </item>
370
- <item rdf:about="http://platial.com/place/28570">
371
- <link>http://platial.com/place/28570</link>
372
- <title>SouthEastern Group, WY</title>
373
- <description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br /><br /><a href="http://platial.com/place/28570">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28570">Grab this on Platial</a> ]]></description>
374
- <georss:point>44.459000 -110.817000</georss:point>
375
- <dc:creator>crschmidt</dc:creator>
376
- <dc:date>2006-01-03T23:23:26.706763+00:00</dc:date>
377
- </item>
378
- </rdf:RDF>
@@ -1,2255 +0,0 @@
1
- <html>
2
- <head>
3
- <script>
4
- /**
5
- * Because browsers that implement requestAnimationFrame may not execute
6
- * animation functions while a window is not displayed (e.g. in a hidden
7
- * iframe as in these tests), we mask the native implementations here. The
8
- * native requestAnimationFrame functionality is tested in Util.html and
9
- * in PanZoom.html (where a popup is opened before panning). The panTo tests
10
- * here will test the fallback setTimeout implementation for animation.
11
- */
12
- window.requestAnimationFrame =
13
- window.webkitRequestAnimationFrame =
14
- window.mozRequestAnimationFrame =
15
- window.oRequestAnimationFrame =
16
- window.msRequestAnimationFrame = null;
17
- </script>
18
- <script src="OLLoader.js"></script>
19
- <script type="text/javascript">
20
-
21
- var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
22
- var map;
23
-
24
- function test_Map_constructor (t) {
25
- t.plan( 11 );
26
-
27
- map = new OpenLayers.Map('map');
28
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
29
- "http://octo.metacarta.com/cgi-bin/mapserv?",
30
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
31
- map.addLayer(baseLayer);
32
-
33
- t.ok( OpenLayers.Element.hasClass(map.div, "olMap"), "Map div has olMap class");
34
-
35
- t.ok( map instanceof OpenLayers.Map, "new OpenLayers.Map returns object" );
36
- if (!isMozilla) {
37
- t.ok( true, "skipping element test outside of Mozilla");
38
- t.ok( true, "skipping element test outside of Mozilla");
39
- t.ok( true, "skipping element test outside of Mozilla");
40
- } else {
41
- t.ok( map.div instanceof HTMLDivElement, "map.div is an HTMLDivElement" );
42
- t.ok( map.viewPortDiv instanceof HTMLDivElement, "map.viewPortDiv is an HTMLDivElement" );
43
- t.ok( map.layerContainerDiv instanceof HTMLDivElement, "map.layerContainerDiv is an HTMLDivElement" );
44
- }
45
- t.ok( map.layers instanceof Array, "map.layers is an Array" );
46
- t.ok( map.controls instanceof Array, "map.controls is an Array" );
47
- t.eq( map.controls.length, 4, "Default map has 4 controls." );
48
- t.ok( map.events instanceof OpenLayers.Events, "map.events is an OpenLayers.Events" );
49
- t.ok( map.getMaxExtent() instanceof OpenLayers.Bounds, "map.maxExtent is an OpenLayers.Bounds" );
50
- t.ok( map.getNumZoomLevels() > 0, "map has a default numZoomLevels" );
51
-
52
- map.destroy();
53
- }
54
-
55
- function test_Map_constructor_convenience(t) {
56
- t.plan(13);
57
- var map = new OpenLayers.Map({
58
- maxExtent: [-170, -80, 170, 80],
59
- restrictedExtent: [-120, -65, 120, 65],
60
- layers: [
61
- new OpenLayers.Layer(null, {isBaseLayer: true})
62
- ],
63
- center: [-111, 45],
64
- zoom: 3
65
- });
66
-
67
- // maxExtent from array
68
- t.ok(map.maxExtent instanceof OpenLayers.Bounds, "maxExtent bounds");
69
- t.eq(map.maxExtent.left, -170, "maxExtent left");
70
- t.eq(map.maxExtent.bottom, -80, "maxExtent bottom");
71
- t.eq(map.maxExtent.right, 170, "maxExtent right");
72
- t.eq(map.maxExtent.top, 80, "maxExtent top");
73
-
74
- // restrictedExtent from array
75
- t.ok(map.restrictedExtent instanceof OpenLayers.Bounds, "restrictedExtent bounds");
76
- t.eq(map.restrictedExtent.left, -120, "restrictedExtent left");
77
- t.eq(map.restrictedExtent.bottom, -65, "restrictedExtent bottom");
78
- t.eq(map.restrictedExtent.right, 120, "restrictedExtent right");
79
- t.eq(map.restrictedExtent.top, 65, "restrictedExtent top");
80
-
81
- var center = map.getCenter();
82
- t.eq(center.lon, -111, "center lon");
83
- t.eq(center.lat, 45, "center lat");
84
-
85
- t.eq(map.getZoom(), 3, "zoom");
86
-
87
- map.destroy();
88
- }
89
-
90
- function test_Map_constructor_late_rendering(t) {
91
- t.plan( 4 );
92
-
93
- map = new OpenLayers.Map();
94
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
95
- "http://octo.metacarta.com/cgi-bin/mapserv?",
96
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
97
- map.addLayer(baseLayer);
98
-
99
- t.ok(map.div != null, "Map has a div even though none was specified.");
100
- t.ok(map.viewPortDiv.parentNode == map.div, "Map is attached to a temporary div that holds the viewPortDiv.");
101
-
102
- var mapDiv = document.getElementById("map");
103
- // clean up the effects of other tests
104
- while(OpenLayers.Element.hasClass(mapDiv, "olMap")) {
105
- OpenLayers.Element.removeClass(mapDiv, "olMap");
106
- }
107
- map.render(mapDiv); // Can also take a string.
108
-
109
- t.ok(map.div == mapDiv, "Map is now rendered to the 'map' div.")
110
- t.ok( OpenLayers.Element.hasClass(map.div, "olMap"), "Map div has olMap class");
111
-
112
- map.destroy();
113
-
114
- }
115
-
116
- function test_Map_constructor_renderTo(t) {
117
- t.plan( 1 );
118
-
119
- map = new OpenLayers.Map({
120
- div: "map"
121
- });
122
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
123
- "http://octo.metacarta.com/cgi-bin/mapserv?",
124
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
125
- map.addLayer(baseLayer);
126
-
127
- var mapDiv = document.getElementById("map");
128
- t.ok(map.div == mapDiv, "Map is rendered to the 'map' div.")
129
-
130
- map.destroy();
131
- }
132
-
133
- function test_Map_setOptions(t) {
134
- t.plan(2);
135
- map = new OpenLayers.Map('map', {maxExtent: new OpenLayers.Bounds(100, 200, 300, 400)});
136
- map.setOptions({theme: 'foo'});
137
-
138
- t.eq(map.theme, 'foo', "theme is correctly set by setOptions");
139
- t.ok(map.maxExtent.equals(new OpenLayers.Bounds(100, 200, 300, 400)),
140
- "maxExtent is correct after calling setOptions");
141
-
142
- map.destroy();
143
- }
144
-
145
- function test_Map_add_layers(t) {
146
- t.plan(8);
147
- map = new OpenLayers.Map('map');
148
- var layer1 = new OpenLayers.Layer.WMS("Layer 1",
149
- "http://octo.metacarta.com/cgi-bin/mapserv?",
150
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
151
- var layer2 = new OpenLayers.Layer.WMS("Layer 2",
152
- "http://wms.jpl.nasa.gov/wms.cgi", {layers: "modis,global_mosaic"});
153
- // this uses map.addLayer internally
154
- map.addLayers([layer1, layer2])
155
- t.eq( map.layers.length, 2, "map has exactly two layers" );
156
- t.ok( map.layers[0] === layer1, "1st layer is layer1" );
157
- t.ok( map.layers[1] === layer2, "2nd layer is layer2" );
158
- t.ok( layer1.map === map, "layer.map is map" );
159
- t.eq( parseInt(layer1.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'],
160
- "layer1 zIndex is set" );
161
- t.eq( parseInt(layer2.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 5,
162
- "layer2 zIndex is set" );
163
-
164
- map.events.register('preaddlayer', this, function(evt) {
165
- return !(evt.layer.name === 'donotadd');
166
- });
167
- var layer3 = new OpenLayers.Layer.WMS("donotadd",
168
- "http://octo.metacarta.com/cgi-bin/mapserv?",
169
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
170
- map.addLayers([layer3]);
171
- t.eq(map.layers.length, 2, "layer is not added since preaddlayer returns false");
172
- layer3.name = 'pleaseadd';
173
- map.addLayers([layer3]);
174
- t.eq(map.layers.length, 3, "layer is added since preaddlayer returns true");
175
-
176
- map.destroy();
177
- }
178
-
179
- function test_Map_options(t) {
180
- t.plan(3);
181
- map = new OpenLayers.Map('map', {numZoomLevels: 6, maxResolution: 3.14159, theme: 'foo'});
182
- t.eq( map.numZoomLevels, 6, "map.numZoomLevels set correctly via options hashtable" );
183
- t.eq( map.maxResolution, 3.14159, "map.maxResolution set correctly via options hashtable" );
184
- t.eq( map.theme, 'foo', "map theme set correctly." );
185
-
186
- map.destroy();
187
- }
188
-
189
- function test_eventListeners(t) {
190
- t.plan(1);
191
-
192
- var method = OpenLayers.Events.prototype.on;
193
- // test that events.on is called at map construction
194
- var options = {
195
- eventListeners: {foo: "bar"},
196
- tileManager: null,
197
- controls: []
198
- };
199
- OpenLayers.Events.prototype.on = function(obj) {
200
- t.eq(obj, options.eventListeners, "events.on called with eventListeners");
201
- }
202
- var map = new OpenLayers.Map('map', options);
203
- OpenLayers.Events.prototype.on = method;
204
- map.destroy();
205
-
206
- // if events.on is called again, this will fail due to an extra test
207
- // test map without eventListeners
208
- OpenLayers.Events.prototype.on = function(obj) {
209
- t.fail("events.on called without eventListeners");
210
- }
211
- var map2 = new OpenLayers.Map("map", {tileManager: null, controls: []});
212
- OpenLayers.Events.prototype.on = method;
213
- map2.destroy();
214
- }
215
-
216
- function test_Map_center(t) {
217
- t.plan(14);
218
- var log = [];
219
- map = new OpenLayers.Map('map', {
220
- zoomMethod: null,
221
- eventListeners: {
222
- "movestart": function() {log.push("movestart");},
223
- "move": function() {log.push("move");},
224
- "moveend": function() {log.push("moveend");}
225
- }
226
- });
227
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
228
- "http://octo.metacarta.com/cgi-bin/mapserv?",
229
- {map: "/mapdata/vmap_wms.map", layers: "basic"} );
230
- map.addLayer(baseLayer);
231
- var ll = new OpenLayers.LonLat(2,1);
232
- map.setCenter(ll, 0);
233
- t.ok( map.getCenter() instanceof OpenLayers.LonLat, "map.getCenter returns a LonLat");
234
- t.eq( map.getZoom(), 0, "map.zoom is correct after calling setCenter");
235
- t.ok( map.getCenter().equals(ll), "map center is correct after calling setCenter");
236
- map.zoomIn();
237
- t.eq( map.getZoom(), 1, "map.zoom is correct after calling setCenter,zoom in");
238
- t.ok( map.getCenter().equals(ll), "map center is correct after calling setCenter, zoom in");
239
- map.zoomOut();
240
- t.eq( map.getZoom(), 0, "map.zoom is correct after calling setCenter,zoom in, zoom out");
241
-
242
- log = [];
243
- map.zoomTo(5);
244
- t.eq(log[0], "movestart", "zoomTo fires movestart event");
245
- t.eq(log[1], "move", "zoomTo fires move event");
246
- t.eq(log[2], "moveend", "zoomTo fires moveend event");
247
- t.eq( map.getZoom(), 5, "map.zoom is correct after calling zoomTo" );
248
-
249
- /**
250
- map.zoomToMaxExtent();
251
- t.eq( map.getZoom(), 2, "map.zoom is correct after calling zoomToMaxExtent" );
252
- var lonlat = map.getCenter();
253
- var zero = new OpenLayers.LonLat(0, 0);
254
- t.ok( lonlat.equals(zero), "map center is correct after calling zoomToFullExtent" );
255
- */
256
-
257
- map.getCenter().lon = 10;
258
- t.ok( map.getCenter().equals(ll), "map.getCenter returns a clone of map.center");
259
-
260
- // allow calling setCenter with an array
261
- map.setCenter([4, 2]);
262
- var center = map.getCenter();
263
- t.ok(center instanceof OpenLayers.LonLat, "(array) center is lonlat");
264
- t.eq(center.lon, 4, "(array) center lon");
265
- t.eq(center.lat, 2, "(array) center lat");
266
-
267
- map.destroy();
268
- }
269
-
270
- function test_Map_zoomend_event (t) {
271
- t.plan(2);
272
-
273
- map = new OpenLayers.Map('map', {zoomMethod: null});
274
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
275
- "http://octo.metacarta.com/cgi-bin/mapserv?",
276
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
277
- map.addLayer(baseLayer);
278
- map.events.register("zoomend", {count: 0}, function() {
279
- this.count++;
280
- t.ok(true, "zoomend event was triggered " + this.count + " times");
281
- });
282
- map.setCenter(new OpenLayers.LonLat(2, 1), 0);
283
- map.zoomIn();
284
- map.zoomOut();
285
-
286
- map.destroy();
287
- }
288
-
289
- function test_Map_add_remove_popup (t) {
290
- t.plan(4);
291
-
292
- map = new OpenLayers.Map('map');
293
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
294
- "http://octo.metacarta.com/cgi-bin/mapserv?",
295
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
296
- map.addLayer(baseLayer);
297
-
298
- var popup = new OpenLayers.Popup("chicken",
299
- new OpenLayers.LonLat(0,0),
300
- new OpenLayers.Size(200,200));
301
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
302
-
303
- map.addPopup(popup);
304
- var pIndex = OpenLayers.Util.indexOf(map.popups, popup);
305
- t.eq(pIndex, 0, "popup successfully added to Map's internal popups array");
306
-
307
- var nodes = map.layerContainerDiv.childNodes;
308
-
309
- var found = false;
310
- for (var i=0; i < nodes.length; i++) {
311
- if (nodes.item(i) == popup.div) {
312
- found = true;
313
- break;
314
- }
315
- }
316
- t.ok(found, "popup.div successfully added to the map's viewPort");
317
-
318
-
319
- map.removePopup(popup);
320
- var pIndex = OpenLayers.Util.indexOf(map.popups, popup);
321
- t.eq(pIndex, -1, "popup successfully removed from Map's internal popups array");
322
-
323
- var found = false;
324
- for (var i=0; i < nodes.length; i++) {
325
- if (nodes.item(i) == popup.div) {
326
- found = true;
327
- break;
328
- }
329
- }
330
- t.ok(!found, "popup.div successfully removed from the map's viewPort");
331
-
332
- map.destroy();
333
- }
334
-
335
- function test_Map_add_popup_exclusive(t) {
336
- t.plan(2);
337
-
338
- map = new OpenLayers.Map('map');
339
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
340
- "http://octo.metacarta.com/cgi-bin/mapserv?",
341
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
342
- map.addLayer(baseLayer);
343
-
344
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
345
-
346
- for (var i = 0; i < 10; i++) {
347
- var popup = new OpenLayers.Popup("chicken",
348
- new OpenLayers.LonLat(0,0),
349
- new OpenLayers.Size(200,200));
350
- map.addPopup(popup);
351
- }
352
- t.eq(map.popups.length, 10, "addPopup non exclusive mode works");
353
-
354
- var popup = new OpenLayers.Popup("chicken",
355
- new OpenLayers.LonLat(0,0),
356
- new OpenLayers.Size(200,200));
357
- map.addPopup(popup, true);
358
- t.eq(map.popups.length, 1, "addPopup exclusive mode works");
359
-
360
- map.destroy();
361
- }
362
-
363
-
364
- /*** THIS IS A GOOD TEST, BUT IT SHOULD BE MOVED TO WMS.
365
- * Also, it won't work until we figure out the viewSize bug
366
-
367
- function 08_Map_px_lonlat_translation (t) {
368
- t.plan( 6 );
369
- map = new OpenLayers.Map('map');
370
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
371
- "http://octo.metacarta.com/cgi-bin/mapserv?",
372
- {map: "/mapdata/vmap_wms.map", layers: "basic"});
373
- map.addLayer(baseLayer);
374
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
375
-
376
- var pixel = new OpenLayers.Pixel(50,150);
377
- var lonlat = map.getLonLatFromViewPortPx(pixel);
378
- t.ok( lonlat instanceof OpenLayers.LonLat, "getLonLatFromViewPortPx returns valid OpenLayers.LonLat" );
379
-
380
- var newPixel = map.getViewPortPxFromLonLat(lonlat);
381
- t.ok( newPixel instanceof OpenLayers.Pixel, "getViewPortPxFromLonLat returns valid OpenLayers.Pixel" );
382
-
383
- // WARNING!!! I'm faily sure that the following test's validity
384
- // depends highly on rounding and the resolution. For now,
385
- // in the default case, it seems to work. This may not
386
- // always be so.
387
- t.ok( newPixel.equals(pixel), "Translation to pixel and back to lonlat is consistent");
388
-
389
- lonlat = map.getLonLatFromPixel(pixel);
390
- t.ok( lonlat instanceof OpenLayers.LonLat, "getLonLatFromPixel returns valid OpenLayers.LonLat" );
391
-
392
- newPixel = map.getPixelFromLonLat(lonlat);
393
- t.ok( newPixel instanceof OpenLayers.Pixel, "getPixelFromLonLat returns valid OpenLayers.Pixel" );
394
-
395
- t.ok( newPixel.equals(pixel), "2nd translation to pixel and back to lonlat is consistent");
396
- }
397
- */
398
-
399
- function test_Map_isValidZoomLevel(t) {
400
- t.plan(5);
401
- var map = new OpenLayers.Map("map");
402
- map.addLayer(new OpenLayers.Layer(null, {
403
- isBaseLayer: true, wrapDateLine: true, numZoomLevels: 19
404
- }));
405
- map.zoomToMaxExtent();
406
-
407
- var valid;
408
-
409
- valid = OpenLayers.Map.prototype.isValidZoomLevel.apply(map, [-1]);
410
- t.eq(valid, false, "-1 is not a valid zoomLevel");
411
-
412
- valid = OpenLayers.Map.prototype.isValidZoomLevel.apply(map, [0]);
413
- t.eq(valid, true, "0 is a valid zoomLevel");
414
-
415
- valid = OpenLayers.Map.prototype.isValidZoomLevel.apply(map, [18]);
416
- t.eq(valid, true, "18 is a valid zoomLevel");
417
-
418
- valid = OpenLayers.Map.prototype.isValidZoomLevel.apply(map, [19]);
419
- t.eq(valid, false, "19 is not a valid zoomLevel");
420
-
421
- map.moveTo([16, 48], 0);
422
- t.eq(map.getCenter().toShortString(), "0, 0", "no panning when moveTo is called with invalid zoom");
423
-
424
- map.destroy();
425
- }
426
-
427
- function test_Map_isValidLonLat(t) {
428
- t.plan( 3 );
429
-
430
- map = new OpenLayers.Map('map');
431
- layer = new OpenLayers.Layer.WMS('Test Layer',
432
- "http://octo.metacarta.com/cgi-bin/mapserv",
433
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
434
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
435
- map.addLayer(layer);
436
-
437
- t.ok( !map.isValidLonLat(null), "null lonlat is not valid" );
438
- t.ok( map.isValidLonLat(new OpenLayers.LonLat(33862, 717606)), "lonlat outside max extent is valid" );
439
- t.ok( !map.isValidLonLat(new OpenLayers.LonLat(10, 10)), "lonlat outside max extent is not valid" );
440
-
441
- map.destroy();
442
- }
443
-
444
- function test_Map_getLayer(t) {
445
- var numLayers = 3;
446
- t.plan( numLayers + 1 );
447
-
448
- var m = {
449
- layers: []
450
- };
451
-
452
- for(var i = 0; i < numLayers; i++) {
453
- m.layers.push( { 'id': i } );
454
- }
455
-
456
- for(var i = 0; i < numLayers; i++) {
457
- var layer = OpenLayers.Map.prototype.getLayer.apply(m, [i]);
458
- t.ok( layer == m.layers[i], "getLayer correctly returns layer " + i);
459
- }
460
-
461
- var gotLayer = OpenLayers.Map.prototype.getLayer.apply(m, ["chicken"]);
462
- t.ok( gotLayer == null, "getLayer correctly returns null when layer not found");
463
-
464
- map.destroy();
465
- }
466
-
467
- function test_Map_getLayersBy(t) {
468
-
469
- var map = {
470
- getBy: OpenLayers.Map.prototype.getBy,
471
- getLayersBy: OpenLayers.Map.prototype.getLayersBy,
472
- layers: [
473
- {foo: "foo", id: Math.random()},
474
- {foo: "bar", id: Math.random()},
475
- {foo: "foobar", id: Math.random()},
476
- {foo: "foo bar", id: Math.random()},
477
- {foo: "foo", id: Math.random()}
478
- ]
479
- };
480
-
481
- var cases = [
482
- {
483
- got: map.getLayersBy("foo", "foo"),
484
- expected: [map.layers[0], map.layers[4]],
485
- message: "(string literal) got two layers matching foo"
486
- }, {
487
- got: map.getLayersBy("foo", "bar"),
488
- expected: [map.layers[1]],
489
- message: "(string literal) got one layer matching foo"
490
- }, {
491
- got: map.getLayersBy("foo", "barfoo"),
492
- expected: [],
493
- message: "(string literal) got empty array for no foo match"
494
- }, {
495
- got: map.getLayersBy("foo", /foo/),
496
- expected: [map.layers[0], map.layers[2], map.layers[3], map.layers[4]],
497
- message: "(regexp literal) got three layers containing string"
498
- }, {
499
- got: map.getLayersBy("foo", /foo$/),
500
- expected: [map.layers[0], map.layers[4]],
501
- message: "(regexp literal) got three layers ending with string"
502
- }, {
503
- got: map.getLayersBy("foo", /\s/),
504
- expected: [map.layers[3]],
505
- message: "(regexp literal) got layer containing space"
506
- }, {
507
- got: map.getLayersBy("foo", new RegExp("BAR", "i")),
508
- expected: [map.layers[1], map.layers[2], map.layers[3]],
509
- message: "(regexp object) got layers ignoring case"
510
- }, {
511
- got: map.getLayersBy("foo", {test: function(str) {return str.length > 3;}}),
512
- expected: [map.layers[2], map.layers[3]],
513
- message: "(custom object) got layers with foo length greater than 3"
514
- }
515
- ];
516
- t.plan(cases.length);
517
- for(var i=0; i<cases.length; ++i) {
518
- t.eq(cases[i].got, cases[i].expected, cases[i].message);
519
- }
520
-
521
- }
522
-
523
- function test_Map_getLayersByName(t) {
524
-
525
- var map = {
526
- getBy: OpenLayers.Map.prototype.getBy,
527
- getLayersBy: OpenLayers.Map.prototype.getLayersBy,
528
- getLayersByName: OpenLayers.Map.prototype.getLayersByName,
529
- layers: [
530
- {name: "foo", id: Math.random()},
531
- {name: "bar", id: Math.random()},
532
- {name: "foobar", id: Math.random()},
533
- {name: "foo bar", id: Math.random()},
534
- {name: "foo", id: Math.random()}
535
- ]
536
- };
537
-
538
- var cases = [
539
- {
540
- got: map.getLayersByName("foo"),
541
- expected: [map.layers[0], map.layers[4]],
542
- message: "(string literal) got two layers matching name"
543
- }, {
544
- got: map.getLayersByName("bar"),
545
- expected: [map.layers[1]],
546
- message: "(string literal) got one layer matching name"
547
- }, {
548
- got: map.getLayersByName("barfoo"),
549
- expected: [],
550
- message: "(string literal) got empty array for no match"
551
- }, {
552
- got: map.getLayersByName(/foo/),
553
- expected: [map.layers[0], map.layers[2], map.layers[3], map.layers[4]],
554
- message: "(regexp literal) got three layers containing string"
555
- }, {
556
- got: map.getLayersByName(/foo$/),
557
- expected: [map.layers[0], map.layers[4]],
558
- message: "(regexp literal) got three layers ending with string"
559
- }, {
560
- got: map.getLayersByName(/\s/),
561
- expected: [map.layers[3]],
562
- message: "(regexp literal) got layer containing space"
563
- }, {
564
- got: map.getLayersByName(new RegExp("BAR", "i")),
565
- expected: [map.layers[1], map.layers[2], map.layers[3]],
566
- message: "(regexp object) got layers ignoring case"
567
- }, {
568
- got: map.getLayersByName({test: function(str) {return str.length > 3;}}),
569
- expected: [map.layers[2], map.layers[3]],
570
- message: "(custom object) got layers with name length greater than 3"
571
- }
572
- ];
573
- t.plan(cases.length);
574
- for(var i=0; i<cases.length; ++i) {
575
- t.eq(cases[i].got, cases[i].expected, cases[i].message);
576
- }
577
-
578
- }
579
-
580
- function test_Map_getLayersByClass(t) {
581
-
582
- var map = {
583
- getBy: OpenLayers.Map.prototype.getBy,
584
- getLayersBy: OpenLayers.Map.prototype.getLayersBy,
585
- getLayersByClass: OpenLayers.Map.prototype.getLayersByClass,
586
- layers: [
587
- {CLASS_NAME: "foo", id: Math.random()},
588
- {CLASS_NAME: "bar", id: Math.random()},
589
- {CLASS_NAME: "foobar", id: Math.random()},
590
- {CLASS_NAME: "foo bar", id: Math.random()},
591
- {CLASS_NAME: "foo", id: Math.random()}
592
- ]
593
- };
594
-
595
- var cases = [
596
- {
597
- got: map.getLayersByClass("foo"),
598
- expected: [map.layers[0], map.layers[4]],
599
- message: "(string literal) got two layers matching type"
600
- }, {
601
- got: map.getLayersByClass("bar"),
602
- expected: [map.layers[1]],
603
- message: "(string literal) got one layer matching type"
604
- }, {
605
- got: map.getLayersByClass("barfoo"),
606
- expected: [],
607
- message: "(string literal) got empty array for no match"
608
- }, {
609
- got: map.getLayersByClass(/foo/),
610
- expected: [map.layers[0], map.layers[2], map.layers[3], map.layers[4]],
611
- message: "(regexp literal) got three layers containing string"
612
- }, {
613
- got: map.getLayersByClass(/foo$/),
614
- expected: [map.layers[0], map.layers[4]],
615
- message: "(regexp literal) got three layers ending with string"
616
- }, {
617
- got: map.getLayersByClass(/\s/),
618
- expected: [map.layers[3]],
619
- message: "(regexp literal) got layer containing space"
620
- }, {
621
- got: map.getLayersByClass(new RegExp("BAR", "i")),
622
- expected: [map.layers[1], map.layers[2], map.layers[3]],
623
- message: "(regexp object) got layers ignoring case"
624
- }, {
625
- got: map.getLayersByClass({test: function(str) {return str.length > 3;}}),
626
- expected: [map.layers[2], map.layers[3]],
627
- message: "(custom object) got layers with type length greater than 3"
628
- }
629
- ];
630
- t.plan(cases.length);
631
- for(var i=0; i<cases.length; ++i) {
632
- t.eq(cases[i].got, cases[i].expected, cases[i].message);
633
- }
634
-
635
- }
636
-
637
- function test_Map_getControlsBy(t) {
638
-
639
- var map = {
640
- getBy: OpenLayers.Map.prototype.getBy,
641
- getControlsBy: OpenLayers.Map.prototype.getControlsBy,
642
- controls: [
643
- {foo: "foo", id: Math.random()},
644
- {foo: "bar", id: Math.random()},
645
- {foo: "foobar", id: Math.random()},
646
- {foo: "foo bar", id: Math.random()},
647
- {foo: "foo", id: Math.random()}
648
- ]
649
- };
650
-
651
- var cases = [
652
- {
653
- got: map.getControlsBy("foo", "foo"),
654
- expected: [map.controls[0], map.controls[4]],
655
- message: "(string literal) got two controls matching foo"
656
- }, {
657
- got: map.getControlsBy("foo", "bar"),
658
- expected: [map.controls[1]],
659
- message: "(string literal) got one control matching foo"
660
- }, {
661
- got: map.getControlsBy("foo", "barfoo"),
662
- expected: [],
663
- message: "(string literal) got empty array for no foo match"
664
- }, {
665
- got: map.getControlsBy("foo", /foo/),
666
- expected: [map.controls[0], map.controls[2], map.controls[3], map.controls[4]],
667
- message: "(regexp literal) got three controls containing string"
668
- }, {
669
- got: map.getControlsBy("foo", /foo$/),
670
- expected: [map.controls[0], map.controls[4]],
671
- message: "(regexp literal) got three controls ending with string"
672
- }, {
673
- got: map.getControlsBy("foo", /\s/),
674
- expected: [map.controls[3]],
675
- message: "(regexp literal) got control containing space"
676
- }, {
677
- got: map.getControlsBy("foo", new RegExp("BAR", "i")),
678
- expected: [map.controls[1], map.controls[2], map.controls[3]],
679
- message: "(regexp object) got layers ignoring case"
680
- }, {
681
- got: map.getControlsBy("foo", {test: function(str) {return str.length > 3;}}),
682
- expected: [map.controls[2], map.controls[3]],
683
- message: "(custom object) got controls with foo length greater than 3"
684
- }
685
- ];
686
- t.plan(cases.length);
687
- for(var i=0; i<cases.length; ++i) {
688
- t.eq(cases[i].got, cases[i].expected, cases[i].message);
689
- }
690
-
691
- }
692
-
693
- function test_Map_getControlsByClass(t) {
694
-
695
- var map = {
696
- getBy: OpenLayers.Map.prototype.getBy,
697
- getControlsBy: OpenLayers.Map.prototype.getControlsBy,
698
- getControlsByClass: OpenLayers.Map.prototype.getControlsByClass,
699
- controls: [
700
- {CLASS_NAME: "foo", id: Math.random()},
701
- {CLASS_NAME: "bar", id: Math.random()},
702
- {CLASS_NAME: "foobar", id: Math.random()},
703
- {CLASS_NAME: "foo bar", id: Math.random()},
704
- {CLASS_NAME: "foo", id: Math.random()}
705
- ]
706
- };
707
-
708
- var cases = [
709
- {
710
- got: map.getControlsByClass("foo"),
711
- expected: [map.controls[0], map.controls[4]],
712
- message: "(string literal) got two controls matching type"
713
- }, {
714
- got: map.getControlsByClass("bar"),
715
- expected: [map.controls[1]],
716
- message: "(string literal) got one control matching type"
717
- }, {
718
- got: map.getControlsByClass("barfoo"),
719
- expected: [],
720
- message: "(string literal) got empty array for no match"
721
- }, {
722
- got: map.getControlsByClass(/foo/),
723
- expected: [map.controls[0], map.controls[2], map.controls[3], map.controls[4]],
724
- message: "(regexp literal) got three controls containing string"
725
- }, {
726
- got: map.getControlsByClass(/foo$/),
727
- expected: [map.controls[0], map.controls[4]],
728
- message: "(regexp literal) got three controls ending with string"
729
- }, {
730
- got: map.getControlsByClass(/\s/),
731
- expected: [map.controls[3]],
732
- message: "(regexp literal) got control containing space"
733
- }, {
734
- got: map.getControlsByClass(new RegExp("BAR", "i")),
735
- expected: [map.controls[1], map.controls[2], map.controls[3]],
736
- message: "(regexp object) got controls ignoring case"
737
- }, {
738
- got: map.getControlsByClass({test: function(str) {return str.length > 3;}}),
739
- expected: [map.controls[2], map.controls[3]],
740
- message: "(custom object) got controls with type length greater than 3"
741
- }
742
- ];
743
- t.plan(cases.length);
744
- for(var i=0; i<cases.length; ++i) {
745
- t.eq(cases[i].got, cases[i].expected, cases[i].message);
746
- }
747
-
748
- }
749
-
750
- function test_Map_double_addLayer(t) {
751
- t.plan(2);
752
-
753
- map = new OpenLayers.Map('map');
754
- layer = new OpenLayers.Layer.WMS('Test Layer',
755
- "http://octo.metacarta.com/cgi-bin/mapserv",
756
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'}
757
- );
758
-
759
- var added = map.addLayer(layer);
760
- t.ok(added === true, "Map.addLayer returns true if the layer is added to the map.");
761
- var added = map.addLayer(layer);
762
- t.ok(added === false, "Map.addLayer returns false if the layer is already present.");
763
-
764
- map.destroy();
765
- }
766
-
767
- function test_Map_setBaseLayer(t) {
768
- t.plan( 6 );
769
-
770
- map = new OpenLayers.Map('map');
771
-
772
- var wmslayer = new OpenLayers.Layer.WMS('Test Layer',
773
- "http://octo.metacarta.com/cgi-bin/mapserv",
774
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
775
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
776
-
777
- var wmslayer2 = new OpenLayers.Layer.WMS('Test Layer2',
778
- "http://octo.metacarta.com/cgi-bin/mapserv",
779
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
780
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
781
-
782
- map.addLayers([wmslayer, wmslayer2]);
783
-
784
- t.ok(map.baseLayer == wmslayer, "default base layer is first one added");
785
-
786
- map.setBaseLayer(null);
787
- t.ok(map.baseLayer == wmslayer, "setBaseLayer on null object does nothing (and does not break)");
788
-
789
- map.setBaseLayer("chicken");
790
- t.ok(map.baseLayer == wmslayer, "setBaseLayer on non-layer object does nothing (and does not break)");
791
-
792
- map.setBaseLayer(wmslayer2);
793
- t.ok(map.baseLayer == wmslayer2, "setbaselayer correctly sets 'baseLayer' property");
794
-
795
- map.destroy();
796
-
797
- var l1 = new OpenLayers.Layer(),
798
- l2 = new OpenLayers.Layer(null, {maxResolution: 1.4});
799
- map = new OpenLayers.Map({
800
- div: 'map',
801
- allOverlays: true,
802
- layers: [l1, l2],
803
- zoom: 0,
804
- center: [0, 0]
805
- });
806
- t.eq(l2.div.style.display, "none", "Layer invisible because not in range");
807
- map.raiseLayer(l1, 1);
808
- t.eq(l2.div.style.display, "block", "Layer visible after base layer change because in range now");
809
- map.destroy();
810
- }
811
-
812
- function test_Map_removeLayer(t) {
813
- t.plan(1);
814
- var f = function() {};
815
- var events = {triggerEvent: f};
816
- var layers = [
817
- {name: "fee", removeMap: f, events: events},
818
- {name: "fi", removeMap: f, events: events},
819
- {name: "fo", removeMap: f, events: events},
820
- {name: "fum", removeMap: f, events: events}
821
- ];
822
- var map = {
823
- layers: layers,
824
- baseLayer: layers[0],
825
- layerContainerDiv: {removeChild: f},
826
- events: {triggerEvent: f},
827
- resetLayersZIndex: function() {}
828
- };
829
- OpenLayers.Map.prototype.removeLayer.apply(map, [map.baseLayer, false]);
830
- t.eq(map.baseLayer, null,
831
- "removing the baselayer sets baseLayer to null");
832
- }
833
-
834
- function test_Map_removeLayer_res(t) {
835
- t.plan(2);
836
-
837
- map = new OpenLayers.Map('map');
838
-
839
- var layer0 = new OpenLayers.Layer.WMS(
840
- 'Test Layer 0',
841
- "http://octo.metacarta.com/cgi-bin/mapserv",
842
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
843
- {resolutions: [4, 2, 1]}
844
- );
845
-
846
- var layer1 = new OpenLayers.Layer.WMS(
847
- 'Test Layer 1',
848
- "http://octo.metacarta.com/cgi-bin/mapserv",
849
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
850
- {resolutions: [4, 2]}
851
- );
852
-
853
- map.addLayers([layer0, layer1]);
854
- map.zoomToMaxExtent();
855
- map.zoomTo(2);
856
- t.eq(map.getResolution(), layer0.resolutions[2],
857
- "correct resolution before removal");
858
- map.removeLayer(layer0);
859
- t.eq(map.getResolution(), layer0.resolutions[1],
860
- "correct resolution after removal");
861
-
862
- map.destroy();
863
- }
864
-
865
- function test_Map_removeLayer_zindex(t) {
866
- t.plan(2);
867
-
868
- map = new OpenLayers.Map('map');
869
-
870
- var layer0 = new OpenLayers.Layer('Test Layer 0', {isBaseLayer:true});
871
- var layer1 = new OpenLayers.Layer('Test Layer 1', {isBaseLayer:true});
872
- var layer2 = new OpenLayers.Layer('Test Layer 2', {isBaseLayer:false});
873
-
874
- map.addLayers([layer0, layer1, layer2]);
875
- map.removeLayer(layer0);
876
-
877
- t.eq(parseInt(layer1.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'],
878
- "correct z-index after removeLayer");
879
- t.eq(parseInt(layer2.div.style.zIndex), map.Z_INDEX_BASE['Overlay'] + 5,
880
- "correct z-index after removeLayer");
881
-
882
- map.destroy();
883
- }
884
-
885
- function test_Map_removeLayer_preremovelayer(t) {
886
- t.plan(4);
887
- map = new OpenLayers.Map('map');
888
-
889
- map.addLayer(new OpenLayers.Layer());
890
- map.removeLayer(map.layers[0]);
891
-
892
- // one test: standard behaviour without listener
893
- t.eq(map.layers.length, 0, "without registered preremovelayer-listener layers can be removed as usual");
894
-
895
- var callCnt = 0;
896
-
897
- map.events.register('preremovelayer', this, function(evt) {
898
- callCnt++;
899
- return !(evt.layer.name === 'donotremove');
900
- });
901
- var layer1 = new OpenLayers.Layer('donotremove');
902
- var layer2 = new OpenLayers.Layer('doremove');
903
-
904
- map.addLayers([layer1,layer2]);
905
-
906
- // two tests: remove action can be canceled
907
- map.removeLayer(layer1);
908
- t.eq(map.layers.length, 2, "layer is not removed since preremovelayer returns false");
909
- map.removeLayer(layer2);
910
- t.eq(map.layers.length, 1, "layer is removed since preremovelayer returns true");
911
-
912
- // one test: listener was called twice
913
- t.eq(callCnt, 2, "preremovelayer-listener was called exactly twice");
914
-
915
- map.destroy();
916
- }
917
-
918
- function test_Map_setBaseLayer_after_pan (t) {
919
- t.plan(1);
920
-
921
- map = new OpenLayers.Map('map');
922
- var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
923
- "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
924
- var tmsLayer = new OpenLayers.Layer.TMS("TMS",
925
- "http://labs.metacarta.com/wms-c/Basic.py/",
926
- {'layername':'basic', 'type':'png'});
927
- map.addLayers([wmsLayer,tmsLayer]);
928
- map.setBaseLayer(wmsLayer);
929
- map.zoomToMaxExtent();
930
- map.setBaseLayer(tmsLayer);
931
- map.zoomIn();
932
- map.pan(0, -200, {animate:false});
933
- var log = [];
934
- map.applyTransform = function(x, y, scale) {
935
- log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
936
- OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
937
- };
938
- map.setBaseLayer(wmsLayer);
939
- t.eq(log[0][0], 0, "layerContainer is recentered after setBaseLayer");
940
-
941
- map.destroy();
942
- }
943
-
944
- function test_Map_moveLayer (t) {
945
- t.plan(10);
946
-
947
- var ct = 0;
948
- map = new OpenLayers.Map('map');
949
- var wmslayer = new OpenLayers.Layer.WMS('Test Layer',
950
- "http://octo.metacarta.com/cgi-bin/mapserv",
951
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
952
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
953
-
954
- var wmslayer2 = new OpenLayers.Layer.WMS('Test Layer2',
955
- "http://octo.metacarta.com/cgi-bin/mapserv",
956
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
957
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
958
-
959
- var wmslayer3 = new OpenLayers.Layer.WMS('Test Layer2',
960
- "http://octo.metacarta.com/cgi-bin/mapserv",
961
- {map: '/mapdata/vmap_wms.map', layers: 'basic', format: 'image/jpeg'},
962
- {maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
963
-
964
- map.addLayers([wmslayer, wmslayer2, wmslayer3]);
965
- map.events.register("changelayer", map, function (e) { ct++; });
966
- t.eq( map.getNumLayers(), 3, "getNumLayers returns the number of layers" );
967
- t.eq( map.getLayerIndex(wmslayer3), 2, "getLayerIndex returns the right index" );
968
- map.raiseLayer(wmslayer3, 1);
969
- t.eq( map.getLayerIndex(wmslayer3), 2, "can't moveLayer up past the top of the stack" );
970
- map.raiseLayer(wmslayer, -1);
971
- t.eq( map.getLayerIndex(wmslayer), 0, "can't moveLayer down past the bottom of the stack" );
972
- map.raiseLayer(wmslayer3, -1);
973
- t.eq( map.getLayerIndex(wmslayer3), 1, "can moveLayer down from the top" );
974
- t.eq( parseInt(wmslayer3.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 5,
975
- "layer div has the right zIndex after moving down" );
976
- map.raiseLayer(wmslayer, 2);
977
- t.eq( map.getLayerIndex(wmslayer), 2, "can moveLayer up from the bottom" );
978
- t.eq( parseInt(wmslayer.div.style.zIndex), map.Z_INDEX_BASE['BaseLayer'] + 2 * 5,
979
- "layer div has the right zIndex after moving up" );
980
- t.eq( map.getLayerIndex(wmslayer3), 0, "top layer is now on the bottom" );
981
- t.eq( ct, 3, "raiseLayer triggered changelayer the right # of times" );
982
-
983
- map.destroy();
984
- }
985
-
986
- function test_Map_moveTo(t) {
987
- t.plan(2);
988
-
989
- map = new OpenLayers.Map('map');
990
- var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
991
- "http://octo.metacarta.com/cgi-bin/mapserv?",
992
- {map: "/mapdata/vmap_wms.map", layers: "basic"},
993
- {maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)});
994
- baseLayer.events.on({
995
- move: function() {
996
- t.ok(true, "move listener called");
997
- },
998
- movestart: function(e) {
999
- t.eq(e.zoomChanged, true, "movestart listener called with expected value");
1000
- }
1001
- });
1002
- baseLayer.events.on({
1003
- moveend: function(e) {
1004
- t.eq(e.zoomChanged, true, "moveend listener called with expected value");
1005
- }
1006
- });
1007
- map.addLayer(baseLayer);
1008
- var ll = new OpenLayers.LonLat(-100,-150);
1009
- map.moveTo(ll, 2);
1010
- t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat");
1011
-
1012
- map.destroy();
1013
- }
1014
-
1015
- function test_Map_defaultTheme(t) {
1016
- t.plan(5);
1017
-
1018
- var links = document.getElementsByTagName('link');
1019
- map = new OpenLayers.Map('map');
1020
- var gotNodes = 0;
1021
- var themeNode = null;
1022
- for(var i=0; i<links.length; ++i) {
1023
- if(OpenLayers.Util.isEquivalentUrl(map.theme, links.item(i).href)) {
1024
- gotNodes += 1;
1025
- themeNode = links.item(i);
1026
- }
1027
- }
1028
- t.eq(gotNodes, 1, "by default, a single link node is added to document");
1029
- t.ok(themeNode != null, "a link node with the theme href was added");
1030
- t.eq(themeNode.rel, "stylesheet", "node added has rel set to stylesheet");
1031
- t.eq(themeNode.type, "text/css", "node added has type set to text/css");
1032
-
1033
- // reconstruct the map to prove that another link is not added
1034
- map = new OpenLayers.Map('map');
1035
- t.eq(links.length, document.getElementsByTagName('link').length,
1036
- "calling the map constructor twice with the same theme doesn't add duplicate link nodes");
1037
-
1038
- map.destroy();
1039
- }
1040
-
1041
- function test_Map_customTheme(t) {
1042
- t.plan(5);
1043
-
1044
- var customTheme = 'foo';
1045
- var options = {theme: customTheme};
1046
- map = new OpenLayers.Map('map', options);
1047
-
1048
- var links = document.getElementsByTagName('link');
1049
- var gotNodes = 0;
1050
- var themeNode = null;
1051
- for(var i=0; i<links.length; ++i) {
1052
- if(OpenLayers.Util.isEquivalentUrl(map.theme, links.item(i).href)) {
1053
- gotNodes += 1;
1054
- themeNode = links.item(i);
1055
- }
1056
- }
1057
-
1058
- t.eq(map.theme, customTheme, "map theme is properly set");
1059
- t.eq(gotNodes, 1, "with custom theme, a single link node is added to document");
1060
- t.ok(themeNode != null, "a link node with the theme href was added");
1061
- t.eq(themeNode.rel, "stylesheet", "node added has rel set to stylesheet");
1062
- t.eq(themeNode.type, "text/css", "node added has type set to text/css");
1063
-
1064
- map.destroy();
1065
- }
1066
-
1067
- function test_Map_noTheme(t) {
1068
- t.plan(1);
1069
-
1070
- var head = document.getElementsByTagName('head')[0];
1071
- var nodeCount = head.childNodes.length;
1072
-
1073
- var options = {theme: null};
1074
- map = new OpenLayers.Map('map', options);
1075
-
1076
- t.eq(nodeCount, head.childNodes.length, "with no theme, a node is not added to document head" );
1077
-
1078
- map.destroy();
1079
- }
1080
-
1081
- function test_Map_addControls(t) {
1082
- t.plan(5);
1083
- var map = new OpenLayers.Map('map', {
1084
- controls: []
1085
- });
1086
- var controls = [
1087
- new OpenLayers.Control({id:'firstctrl'}),
1088
- new OpenLayers.Control({id:'secondctrl'})
1089
- ];
1090
- map.addControls(controls);
1091
- t.eq(map.controls.length, 2, "two controls were added by map.addControls without a px-array");
1092
- t.eq(map.controls[0].id, 'firstctrl', "control with index 0 has id 'firstctrl'");
1093
- t.eq(map.controls[1].id, 'secondctrl', "control with index 1 has id 'secondctrl'");
1094
-
1095
- var controls2 = [
1096
- new OpenLayers.Control({id:'thirdctrl'}),
1097
- new OpenLayers.Control({id:'fourthctrl'}),
1098
- new OpenLayers.Control({id:'fifthctrl'})
1099
- ];
1100
- // this array is intentionally one element shorter than the above
1101
- var pixels2 = [
1102
- null,
1103
- new OpenLayers.Pixel(27,11)
1104
- ];
1105
- map.addControls(controls2, pixels2);
1106
- t.eq(map.controls.length, 5, "three additional controls were added by map.addControls with a px-array");
1107
- t.eq(map.controls[3].position.toString(), pixels2[1].toString(), "control 'fourthctrl' has position set to given px");
1108
-
1109
- map.destroy();
1110
- }
1111
-
1112
- function test_Map_getControl(t) {
1113
- t.plan(2);
1114
-
1115
- var map1 = new OpenLayers.Map('map');
1116
-
1117
- var control = new OpenLayers.Control();
1118
- map1.addControl(control);
1119
-
1120
- var gotControl = map1.getControl(control.id);
1121
- t.ok(gotControl == control, "got right control");
1122
-
1123
- gotControl = map1.getControl("bogus id");
1124
- t.ok(gotControl == null, "getControl() for bad id returns null");
1125
-
1126
- map1.destroy();
1127
- }
1128
-
1129
- function test_Map_removeControl(t) {
1130
- t.plan(6);
1131
-
1132
- var oldNumControls, newNumControls;
1133
-
1134
- var map1 = new OpenLayers.Map('map');
1135
- oldNumControls = map1.controls.length;
1136
-
1137
- var control = new OpenLayers.Control();
1138
- map1.addControl(control);
1139
-
1140
- //add control
1141
- newNumControls = map1.controls.length;
1142
- t.ok( newNumControls = oldNumControls + 1, "adding a control increases control count")
1143
-
1144
- var foundDiv = false;
1145
- for(var i=0; i < map1.viewPortDiv.childNodes.length; i++) {
1146
- var childNode = map1.viewPortDiv.childNodes[i];
1147
- if (childNode == control.div) {
1148
- foundDiv = true;
1149
- }
1150
- }
1151
- t.ok(foundDiv, "new control's div correctly added to viewPort");
1152
-
1153
- //remove control
1154
- map1.removeControl(control)
1155
- newNumControls = map1.controls.length;
1156
- t.ok( newNumControls == oldNumControls, "removing the control decreases control count")
1157
-
1158
- var gotControl = map1.getControl(control.id);
1159
- t.ok( gotControl == null, "control no longer in map's controls array");
1160
-
1161
- var foundDiv = false;
1162
- for(var i=0; i < map1.viewPortDiv.childNodes.length; i++) {
1163
- var childNode = map1.viewPortDiv.childNodes[i];
1164
- if (childNode == control.div) {
1165
- foundDiv = true;
1166
- }
1167
- }
1168
- t.ok(!foundDiv, "control no longer child of viewPort");
1169
-
1170
- //remove bogus
1171
- control = { id: "bogus id" };
1172
- map1.removeControl(control);
1173
- newNumControls = map1.controls.length;
1174
- t.ok( newNumControls == oldNumControls, "removing bad controlid doesnt crash or decrease control count")
1175
-
1176
- map1.destroy();
1177
-
1178
- }
1179
-
1180
- function test_Map_restrictedExtent(t) {
1181
- t.plan(25);
1182
- var extent = new OpenLayers.Bounds(-180, -90, 180, 90);
1183
- var options = {
1184
- maxResolution: "auto"
1185
- };
1186
- var map = new OpenLayers.Map("map", options);
1187
- var layer = new OpenLayers.Layer.WMS(
1188
- "test",
1189
- "http://octo.metacarta.com/cgi-bin/mapserv?",
1190
- {map: "/mapdata/vmap_wms.map", layers: "basic"}
1191
- );
1192
- map.addLayer(layer);
1193
- map.zoomToMaxExtent();
1194
- var nw = new OpenLayers.LonLat(extent.left, extent.top);
1195
- var ne = new OpenLayers.LonLat(extent.right, extent.top);
1196
- var sw = new OpenLayers.LonLat(extent.left, extent.bottom);
1197
- var se = new OpenLayers.LonLat(extent.right, extent.bottom);
1198
-
1199
- // try panning to northwest corner
1200
- map.setOptions({restrictedExtent: extent});
1201
- map.setCenter(nw, 0);
1202
- t.eq(map.getExtent().getCenterLonLat().toString(),
1203
- extent.getCenterLonLat().toString(),
1204
- "map extent properly restricted to northwest at zoom 0");
1205
- t.eq(map.zoom, 0, "zoom not restricted for nw, 0");
1206
- map.setCenter(nw, 5);
1207
- t.eq(map.getExtent().top, extent.top,
1208
- "map extent top properly restricted to northwest at zoom 5");
1209
- t.eq(map.getExtent().left, extent.left,
1210
- "map extent left properly restricted to northwest at zoom 5");
1211
- t.eq(map.zoom, 5, "zoom not restricted for nw, 5");
1212
- map.setOptions({restrictedExtent: null});
1213
- map.setCenter(nw, 0);
1214
- t.eq(map.getExtent().getCenterLonLat().toString(),
1215
- nw.toString(),
1216
- "map extent not restricted with null restrictedExtent for nw");
1217
-
1218
- // try panning to northeast corner
1219
- map.setOptions({restrictedExtent: extent});
1220
- map.setCenter(ne, 0);
1221
- t.eq(map.getExtent().getCenterLonLat().toString(),
1222
- extent.getCenterLonLat().toString(),
1223
- "map extent properly restricted to northeast at zoom 0");
1224
- t.eq(map.zoom, 0, "zoom not restricted for ne, 0");
1225
- map.setCenter(ne, 5);
1226
- t.eq(map.getExtent().top, extent.top,
1227
- "map extent top properly restricted to northeast at zoom 5");
1228
- t.eq(map.getExtent().right, extent.right,
1229
- "map extent right properly restricted to northeast at zoom 5");
1230
- t.eq(map.zoom, 5, "zoom not restricted for ne, 5");
1231
- map.setOptions({restrictedExtent: null});
1232
- map.setCenter(ne, 0);
1233
- t.eq(map.getExtent().getCenterLonLat().toString(),
1234
- ne.toString(),
1235
- "map extent not restricted with null restrictedExtent for ne");
1236
-
1237
- // try panning to southwest corner
1238
- map.setOptions({restrictedExtent: extent});
1239
- map.setCenter(sw, 0);
1240
- t.eq(map.getExtent().getCenterLonLat().toString(),
1241
- extent.getCenterLonLat().toString(),
1242
- "map extent properly restricted to southwest at zoom 0");
1243
- t.eq(map.zoom, 0, "zoom not restricted for sw, 0");
1244
- map.setCenter(sw, 5);
1245
- t.eq(map.getExtent().bottom, extent.bottom,
1246
- "map extent bottom properly restricted to southwest at zoom 5");
1247
- t.eq(map.getExtent().left, extent.left,
1248
- "map extent left properly restricted to southwest at zoom 5");
1249
- t.eq(map.zoom, 5, "zoom not restricted for sw, 5");
1250
- map.setOptions({restrictedExtent: null});
1251
- map.setCenter(sw, 0);
1252
- t.eq(map.getExtent().getCenterLonLat().toString(),
1253
- sw.toString(),
1254
- "map extent not restricted with null restrictedExtent for sw");
1255
-
1256
- // try panning to southeast corner
1257
- map.setOptions({restrictedExtent: extent});
1258
- map.setCenter(se, 0);
1259
- t.eq(map.getExtent().getCenterLonLat().toString(),
1260
- extent.getCenterLonLat().toString(),
1261
- "map extent properly restricted to southeast at zoom 0");
1262
- t.eq(map.zoom, 0, "zoom not restricted for se, 0");
1263
- map.setCenter(se, 5);
1264
- t.eq(map.getExtent().bottom, extent.bottom,
1265
- "map extent bottom properly restricted to southeast at zoom 5");
1266
- t.eq(map.getExtent().right, extent.right,
1267
- "map extent right properly restricted to southeast at zoom 5");
1268
- t.eq(map.zoom, 5, "zoom not restricted for se, 5");
1269
- map.setOptions({restrictedExtent: null});
1270
- map.setCenter(se, 0);
1271
- t.eq(map.getExtent().getCenterLonLat().toString(),
1272
- se.toString(),
1273
- "map extent not restricted with null restrictedExtent for se");
1274
-
1275
- map.destroy();
1276
-
1277
- extent = new OpenLayers.Bounds(8, 44.5, 19, 50);
1278
- var options = {
1279
- restrictedExtent: extent,
1280
- zoomMethod: null
1281
- };
1282
- map = new OpenLayers.Map('map', options);
1283
-
1284
- var wms = new OpenLayers.Layer.WMS(
1285
- "OpenLayers WMS",
1286
- "http://vmap0.tiles.osgeo.org/wms/vmap0?",
1287
- {layers: 'basic'}
1288
- );
1289
-
1290
- map.addLayers([wms]);
1291
- map.zoomToExtent(extent);
1292
- map.zoomIn();
1293
- map.setOptions({restrictedExtent: null});
1294
- map.pan(-250, -250);
1295
- t.ok((map.getExtent().bottom == 48.3486328125 && map.getExtent().left == 7.45751953125), "Expected extent when toggling restrictedExtent");
1296
- map.destroy();
1297
- }
1298
-
1299
- function test_Map_getResolutionForZoom(t) {
1300
- t.plan(2);
1301
- var map = new OpenLayers.Map("map");
1302
- var res = map.getResolutionForZoom();
1303
- t.eq(res, null, "getResolutionForZoom returns null for no base layer");
1304
- map.fractionalZoom = true;
1305
- var layer = new OpenLayers.Layer("test", {isBaseLayer: true});
1306
- map.addLayer(layer);
1307
- layer.getResolutionForZoom = function() {
1308
- t.ok(true, "getResolutionForZoom calls base layer getResolutionForZoom");
1309
- }
1310
- var res = map.getResolutionForZoom();
1311
- layer.destroy();
1312
- map.destroy();
1313
- }
1314
-
1315
- function test_zoomTo(t) {
1316
- t.plan(8);
1317
-
1318
- var map = new OpenLayers.Map("map", {zoomMethod: null});
1319
- map.addLayer(new OpenLayers.Layer(null, {
1320
- isBaseLayer: true
1321
- }));
1322
-
1323
- map.zoomToMaxExtent();
1324
-
1325
- map.zoomTo(2);
1326
- t.eq(map.getZoom(), 2, 'zoomTo(2)');
1327
-
1328
- map.zoomTo(3.6);
1329
- t.eq(map.getZoom(), 4, 'zoomTo(3.6)');
1330
-
1331
- map.zoomTo("4.6");
1332
- t.eq(map.getZoom(), 5, 'zoomTo("4.6")');
1333
-
1334
- map.zoomTo("1.2");
1335
- t.eq(map.getZoom(), 1, 'zoomTo("1.2")');
1336
-
1337
- // now allow fractional zoom
1338
- map.fractionalZoom = true;
1339
-
1340
- map.zoomTo(2);
1341
- t.eq(map.getZoom(), 2, '[fractionalZoom] zoomTo(2)');
1342
-
1343
- map.zoomTo(3.6);
1344
- t.eq(map.getZoom(), 3.6, '[fractionalZoom] zoomTo(3.6)');
1345
-
1346
- map.zoomTo("4.6");
1347
- t.eq(map.getZoom(), 4.6, '[fractionalZoom] zoomTo("4.6")');
1348
-
1349
- map.zoomTo("1.2");
1350
- t.eq(map.getZoom(), 1.2, '[fractionalZoom] zoomTo("1.2")');
1351
-
1352
- map.destroy();
1353
- }
1354
-
1355
- function test_zoomTo_animated(t) {
1356
- t.plan(2);
1357
-
1358
- var map = new OpenLayers.Map("map");
1359
- map.addLayer(new OpenLayers.Layer(null, {
1360
- isBaseLayer: true
1361
- }));
1362
-
1363
- map.zoomToMaxExtent();
1364
-
1365
- map.zoomTo(2);
1366
- map.zoomIn();
1367
- map.zoomOut();
1368
- map.zoomIn();
1369
- t.delay_call(2, function() {
1370
- t.eq(map.getZoom(), 3, '[fractionalZoom: false] zoomTo(2) - zoomIn() - zoomOut() - zoomIn()');
1371
-
1372
- // now allow fractional zoom
1373
- map.fractionalZoom = true;
1374
-
1375
- map.zoomTo(2.6);
1376
- map.zoomIn();
1377
- map.zoomOut();
1378
- map.zoomIn();
1379
- });
1380
- t.delay_call(4, function() {
1381
- t.eq(map.getZoom(), 3.6, '[fractionalZoom: true] zoomTo(2) - zoomIn() - zoomOut() - zoomIn()');
1382
- map.destroy();
1383
- });
1384
-
1385
- }
1386
-
1387
- function test_Map_getUnits(t) {
1388
- t.plan(2);
1389
- var map = new OpenLayers.Map("map");
1390
- var units = map.getUnits();
1391
- t.eq(units, null, "getUnits returns null for no base layer");
1392
-
1393
- var layer = new OpenLayers.Layer("test", {
1394
- isBaseLayer: true,
1395
- units: 'foo'
1396
- });
1397
- map.addLayer(layer);
1398
- var units = map.getUnits();
1399
- t.eq(units, 'foo', "getUnits returns the base layer units property");
1400
- layer.destroy();
1401
- map.destroy();
1402
- }
1403
-
1404
- function test_Map_destroy (t) {
1405
- t.plan( 3 );
1406
- map = new OpenLayers.Map('map');
1407
- map.destroy();
1408
- t.eq( map.layers, null, "map.layers is null after destroy" );
1409
- t.eq( map.controls, null, "map.controls is null after destroy" );
1410
- t.eq( map.viewPortDiv, null, "map's viewportDiv nullified");
1411
- }
1412
-
1413
- function test_Map_getMaxExtent(t){
1414
- t.plan(5);
1415
-
1416
- var options = null;
1417
- var map = {};
1418
-
1419
- //null options, no baseLayer
1420
- var maxExtent = OpenLayers.Map.prototype.getMaxExtent.apply(map, [options]);
1421
- t.eq(maxExtent, null, "null options, no baseLayer returns null");
1422
-
1423
- //null options.restricted, no baseLayer
1424
- maxExtent = OpenLayers.Map.prototype.getMaxExtent.apply(map, [options]);
1425
- t.eq(maxExtent, null, "null options.restricted, no baseLayer returns null");
1426
-
1427
- //true options.restricted, null map.restrictedExtent no baseLayer
1428
- maxExtent = OpenLayers.Map.prototype.getMaxExtent.apply(map, [options]);
1429
- t.eq(maxExtent, null, "true options.restricted, null map.restrictedExtent no baseLayer returns null");
1430
-
1431
- //true options.restricted, valid map.restrictedExtent no baseLayer
1432
- options = {
1433
- 'restricted': true
1434
- };
1435
- map.restrictedExtent = {};
1436
- maxExtent = OpenLayers.Map.prototype.getMaxExtent.apply(map, [options]);
1437
- t.ok(maxExtent == map.restrictedExtent, "true options.restricted, valid map.restrictedExtent no baseLayer returns map.restrictedExtent");
1438
-
1439
- //null options, valid baseLayer
1440
- options = null;
1441
- map.baseLayer = {
1442
- 'maxExtent': {}
1443
- };
1444
- var maxExtent = OpenLayers.Map.prototype.getMaxExtent.apply(map, [options]);
1445
- t.ok(maxExtent == map.baseLayer.maxExtent, "null options, valid baseLayer returns map.baseLayer.maxExtent");
1446
- }
1447
-
1448
- function test_Map_zoomToMaxExtent(t){
1449
- t.plan(4)
1450
-
1451
- gMaxExtent = {};
1452
-
1453
- var map = {
1454
- 'getMaxExtent': function(options) {
1455
- gRestricted = options.restricted;
1456
- return gMaxExtent;
1457
- },
1458
- 'zoomToExtent': function(extent) {
1459
- t.ok(extent == gMaxExtent, "zoomToExtent() always called on return from map.getMaxExtent()");
1460
- }
1461
- };
1462
-
1463
- //options is null
1464
- var options = null;
1465
- gRestricted = null;
1466
- OpenLayers.Map.prototype.zoomToMaxExtent.apply(map, [options]);
1467
- t.eq(gRestricted, true, "default 'restricted' passed to map.getMaxExtent() is true");
1468
-
1469
- //valid options
1470
- options = {
1471
- 'restricted': {}
1472
- };
1473
- gRestricted = null;
1474
- OpenLayers.Map.prototype.zoomToMaxExtent.apply(map, [options]);
1475
- t.ok(gRestricted == options.restricted, "when valid options argument, 'options.restricted' passed to map.getMaxExtent()");
1476
- }
1477
-
1478
- function test_Map_zoomToScale(t) {
1479
- t.plan(4);
1480
-
1481
- var m = {
1482
- 'baseLayer': { 'units': {} },
1483
- 'size': {'w': 10, 'h': 15},
1484
- 'getSize': function() { return {'w': 10, 'h': 15}; },
1485
- 'getCachedCenter': function() { return {'lon': -5, 'lat': -25}; },
1486
- 'zoomToExtent': function(extent, closest) {
1487
- t.ok(extent.equals(g_ExpectedExtent), "extent correctly calculated for zoomToExtent()");
1488
- t.ok(closest == g_Closest, "closest correctly passed on to zoomToExtent()");
1489
- }
1490
- }
1491
-
1492
- var temp = OpenLayers.Util.getResolutionFromScale;
1493
- OpenLayers.Util.getResolutionFromScale = function(scale, units) {
1494
- t.ok(scale == g_Scale, "scale parameter correctly passed to getResolutionFromScale");
1495
- t.ok(units == m.baseLayer.units, "map's baselayer's units parameter correctly passed to getResolutionFromScale");
1496
- return 1000;
1497
- };
1498
-
1499
- g_ExpectedExtent = new OpenLayers.Bounds(-5005,-7525,4995,7475);
1500
- g_Scale = {};
1501
- g_Closest = {};
1502
- var args = [g_Scale, g_Closest];
1503
- OpenLayers.Map.prototype.zoomToScale.apply(m, args);
1504
-
1505
- OpenLayers.Util.getResolutionFromScale = temp;
1506
- }
1507
-
1508
- function test_Map_zoomToExtent(t) {
1509
- t.plan(12);
1510
-
1511
- var map = new OpenLayers.Map("map");
1512
- var layer = new OpenLayers.Layer(null, {isBaseLayer: true});
1513
- map.addLayer(layer);
1514
-
1515
- var bounds = new OpenLayers.Bounds(-160, 15, -50, 69);
1516
- var center;
1517
-
1518
- // default for closest
1519
- map.zoomToExtent(bounds);
1520
- center = map.getCenter();
1521
- t.eq(center.lon, -105, "a) correct x");
1522
- t.eq(center.lat, 42, "a) correct y");
1523
- t.eq(map.getZoom(), 2, "a) correct zoom");
1524
-
1525
- // false for closest
1526
- map.zoomToExtent(bounds, false);
1527
- center = map.getCenter();
1528
- t.eq(center.lon, -105, "b) correct x");
1529
- t.eq(center.lat, 42, "b) correct y");
1530
- t.eq(map.getZoom(), 2, "b) correct zoom");
1531
-
1532
- // true for closest
1533
- map.zoomToExtent(bounds, true);
1534
- center = map.getCenter();
1535
- t.eq(center.lon, -105, "c) correct x");
1536
- t.eq(center.lat, 42, "c) correct y");
1537
- t.eq(map.getZoom(), 3, "c) correct zoom");
1538
-
1539
- // accept array
1540
- map.zoomToExtent([-160, 15, -50, 69]);
1541
- center = map.getCenter();
1542
- t.eq(center.lon, -105, "(array) correct x");
1543
- t.eq(center.lat, 42, "(array) correct y");
1544
- t.eq(map.getZoom(), 2, "(array) correct zoom");
1545
-
1546
- map.destroy();
1547
- }
1548
-
1549
- function test_Map_zoomToExtent_wrapped(t) {
1550
- t.plan(9);
1551
-
1552
- var map = new OpenLayers.Map("map");
1553
- var layer = new OpenLayers.Layer(null, {isBaseLayer: true, wrapDateLine: true});
1554
- map.addLayer(layer);
1555
-
1556
- var bounds, center;
1557
-
1558
- var cases = [{
1559
- // real world
1560
- bbox: [120, -20, 140, 0],
1561
- center: [130, -10]
1562
- }, {
1563
- // one world to the right
1564
- bbox: [220, -45, 240, 45],
1565
- center: [-130, 0]
1566
- }, {
1567
- // two worlds to the right
1568
- bbox: [550, -15, 560, 5],
1569
- center: [-165, -5]
1570
- }, {
1571
- // one world to the left
1572
- bbox: [-240, -15, -220, 5],
1573
- center: [130, -5]
1574
- }, {
1575
- // two worlds to the left
1576
- bbox: [-600, -15, -580, 5],
1577
- center: [130, -5]
1578
- }];
1579
-
1580
- var num = cases.length;
1581
- t.plan(num * 2);
1582
-
1583
- var c, bounds, center;
1584
- for (var i=0; i<num; ++i) {
1585
- c = cases[i];
1586
- bounds = OpenLayers.Bounds.fromArray(c.bbox);
1587
- map.zoomToExtent(bounds);
1588
- center = map.getCenter();
1589
- t.eq(center.lon, c.center[0], "y: " + bounds);
1590
- t.eq(center.lat, c.center[1], "x: " + bounds);
1591
- }
1592
-
1593
- map.destroy();
1594
- }
1595
-
1596
-
1597
- function test_allOverlays(t) {
1598
-
1599
- t.plan(18);
1600
-
1601
- var map = new OpenLayers.Map({
1602
- div: "map", allOverlays: true
1603
- });
1604
-
1605
- var a = new OpenLayers.Layer.Vector("a", {visibility: true});
1606
-
1607
- var b = new OpenLayers.Layer.Image(
1608
- "b",
1609
- "http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif",
1610
- new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
1611
- new OpenLayers.Size(580, 288)
1612
- );
1613
-
1614
- var c = new OpenLayers.Layer.WMS(
1615
- "c",
1616
- "http://labs.metacarta.com/wms/vmap0",
1617
- {layers: 'basic'}
1618
- );
1619
-
1620
- var d = new OpenLayers.Layer.Vector("d");
1621
-
1622
- map.addLayers([a, b, c, d]);
1623
-
1624
- var moveCount = 0;
1625
- a.moveTo = function() {
1626
- moveCount++;
1627
- OpenLayers.Layer.Vector.prototype.moveTo.apply(this, arguments);
1628
- };
1629
-
1630
- map.zoomToMaxExtent();
1631
- t.eq(moveCount, 1, "map.moveTo moves the base layer only once");
1632
- t.eq(map.getCenter().toString(), "lon=0,lat=0", "a map with all overlays can have a center");
1633
-
1634
- a.setVisibility(false);
1635
- var moveend = 0;
1636
- a.events.on({"moveend": function() { moveend++; }});
1637
- map.zoomToMaxExtent();
1638
- t.eq(moveCount, 1, "map.moveTo does not move the base layer if it is invisible");
1639
- t.eq(moveend, 0, "map.moveTo does not trigger \"moveend\" in the layer if the layer is invisible");
1640
- a.setVisibility(true);
1641
-
1642
- // a, b, c, d
1643
- t.eq(map.baseLayer.name, "a", "base layer set to first layer added");
1644
-
1645
- map.removeLayer(a);
1646
- // b, c, d
1647
- t.eq(map.baseLayer.name, "b", "if base layer is removed, lowest layer becomes base");
1648
-
1649
- map.addLayer(a);
1650
- // b, c, d, a
1651
- t.eq(map.baseLayer.name, "b", "adding a new layer doesn't change base layer");
1652
-
1653
- map.setLayerIndex(c, 1);
1654
- // b, d, c, a
1655
- t.eq(map.baseLayer.name, "b", "changing layer order above base doesn't mess with base");
1656
-
1657
- map.setLayerIndex(d, 0);
1658
- // d, b, c, a
1659
- t.eq(map.baseLayer.name, "d", "changing layer order to 0 sets base layer");
1660
-
1661
- map.raiseLayer(d, 1);
1662
- // b, d, c, a
1663
- t.eq(map.baseLayer.name, "b", "raising the base layer sets a new base layer");
1664
-
1665
- map.raiseLayer(d, -1);
1666
- // d, b, c, a
1667
- t.eq(map.baseLayer.name, "d", "lowering a layer to lowest index sets as base");
1668
-
1669
- // all this switching of base layer didn't muck with layer visibility
1670
- t.eq(a.visibility, true, "a is visible");
1671
- t.eq(b.visibility, true, "b is visible");
1672
- t.eq(c.visibility, true, "c is visible");
1673
- t.eq(d.visibility, true, "d is visible");
1674
-
1675
- // test that map can have an invisible base layer
1676
- b.setVisibility(false);
1677
- map.setLayerIndex(b, 0);
1678
- t.eq(b.visibility, false, "changing layer order doesn't change visibility");
1679
-
1680
-
1681
- map.destroy();
1682
-
1683
- // make sure setVisibility is called when adding a single layer to the map
1684
- map = new OpenLayers.Map({
1685
- div: "map", allOverlays: true
1686
- });
1687
- var count = 0;
1688
- var layer = new OpenLayers.Layer(null, {
1689
- visibility: true,
1690
- maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
1691
- setVisibility: function() {
1692
- ++count;
1693
- OpenLayers.Layer.prototype.setVisibility.apply(this, arguments);
1694
- }
1695
- });
1696
- map.addLayer(layer);
1697
- map.zoomToMaxExtent();
1698
-
1699
- t.eq(count, 1, "setVisibility called when visibility is true in layer config");
1700
- t.eq(layer.div.style.display, "", "layer is visible.");
1701
-
1702
- map.destroy();
1703
-
1704
- }
1705
-
1706
- function test_panTo(t) {
1707
-
1708
- t.plan(6);
1709
-
1710
- var log = [];
1711
- var map = new OpenLayers.Map("map", {
1712
- eventListeners: {
1713
- "movestart": function() {log.push("movestart");},
1714
- "move": function() {log.push("move");},
1715
- "moveend": function() {log.push("moveend");}
1716
- }
1717
- });
1718
- map.addLayer(
1719
- new OpenLayers.Layer(null, {isBaseLayer: true})
1720
- );
1721
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
1722
- t.eq(log[log.length-1], "moveend", "moveend fired when map center is set");
1723
- log = [];
1724
-
1725
- map.panTo(new OpenLayers.LonLat(1, 0));
1726
- t.eq(map.panTween.playing, true, "the map pan tween is playing before destroy");
1727
-
1728
- t.delay_call(2, function() {
1729
- t.eq(log[0], "movestart", "panTo starts with movestart event");
1730
- t.eq(log[1], "move", "move events fired while panning");
1731
- t.eq(log[log.length-1], "moveend", "panTo finishes with moveend event");
1732
- map.destroy();
1733
- t.ok(!map.panTween || !map.panTween.playing, "the map pan tween is not playing after destroy");
1734
- });
1735
- }
1736
-
1737
- function test_pan(t) {
1738
- t.plan(4);
1739
-
1740
- var map = new OpenLayers.Map("map");
1741
- map.addLayer(
1742
- new OpenLayers.Layer(null, {isBaseLayer: true})
1743
- );
1744
- map.setCenter(new OpenLayers.LonLat(0, 0), 5);
1745
- var log = [];
1746
- map.events.on({
1747
- "movestart": function() {log.push("movestart");},
1748
- "move": function() {log.push("move");},
1749
- "moveend": function() {log.push("moveend");}
1750
- });
1751
-
1752
- // simulate the drag sequence of the DragPan control;
1753
- map.pan(5,5, {animate: false, dragging: true});
1754
- map.pan(1,1, {animate: false, dragging: false});
1755
-
1756
- t.eq(log[0], "movestart", "pan sequence starts with movestart");
1757
- t.eq(log[1], "move", "followed by move,");
1758
- t.eq(log[log.length-2], "move", "move again before we stop panning,");
1759
- t.eq(log[log.length-1], "moveend", "and moveend when we're done.");
1760
- }
1761
-
1762
- function test_pan_no_anim_event_sequence(t) {
1763
- t.plan(4);
1764
-
1765
- var log = [];
1766
- var map = new OpenLayers.Map("map");
1767
- map.addLayer(
1768
- new OpenLayers.Layer(null, {isBaseLayer: true})
1769
- );
1770
- map.setCenter(new OpenLayers.LonLat(0, 0), 5);
1771
- map.events.on({
1772
- "movestart": function() {
1773
- log.push("movestart");
1774
- },
1775
- "move": function() {
1776
- log.push("move");
1777
- },
1778
- "moveend": function() {
1779
- log.push("moveend");
1780
- }
1781
- });
1782
-
1783
- map.pan(5,5, {animate: false});
1784
- t.eq(log.length, 3, "no more than 3 events happen.");
1785
- t.eq(log[0], "movestart", "pan sequence starts with movestart");
1786
- t.eq(log[1], "move", "followed by move,");
1787
- t.eq(log[2], "moveend", "and moveend when we're done.");
1788
-
1789
- map.destroy();
1790
- }
1791
-
1792
- // test if we can call updateSize before document.body is ready. updateOk
1793
- // is tested in the test_updateSize function below
1794
- var earlyMap = new OpenLayers.Map();
1795
- var updateOk;
1796
- try {
1797
- earlyMap.updateSize();
1798
- updateOk = true;
1799
- } catch(e) {}
1800
- earlyMap.destroy();
1801
- function test_updateSize(t) {
1802
- t.plan(3);
1803
-
1804
- // checking updateSize from outside this test function (see above)
1805
- t.ok(updateOk, "updateSize works before document.body is ready");
1806
-
1807
- var map, moveToCnt, size;
1808
-
1809
- map = new OpenLayers.Map({div: "map"});
1810
- map.addLayer(new OpenLayers.Layer("layer", {isBaseLayer: true}));
1811
-
1812
- map.moveTo = function() {
1813
- moveToCnt++;
1814
- OpenLayers.Map.prototype.moveTo.apply(this, arguments);
1815
- };
1816
-
1817
- map.getCurrentSize = function() {
1818
- return size;
1819
- };
1820
-
1821
- // map has no center
1822
- // 1 test
1823
- moveToCnt = 0;
1824
- size = new OpenLayers.Size(650, 350);
1825
- map.updateSize();
1826
- t.eq(moveToCnt, 0, "updateSize doesn't move the map if it doesn't have a center");
1827
-
1828
- // map has a center
1829
- // 1 test
1830
- map.zoomToMaxExtent();
1831
- moveToCnt = 0;
1832
- size = new OpenLayers.Size(600, 300);
1833
- map.updateSize();
1834
- t.eq(moveToCnt, 1, "updateSize move the map if it has a center");
1835
-
1836
- map.destroy();
1837
- }
1838
-
1839
- function test_invisible_map(t) {
1840
- /**
1841
- * This test confirms that initializing a map using an element that is
1842
- * not currently displayed doesn't cause any trouble.
1843
- */
1844
- t.plan(1);
1845
-
1846
- var map, msg = "initializing a map on an undisplayed element";
1847
- try {
1848
- map = new OpenLayers.Map("invisimap");
1849
- } catch (err) {
1850
- msg += ": " + err;
1851
- }
1852
- t.ok(!!map, msg);
1853
-
1854
- if (map) {
1855
- map.destroy();
1856
- }
1857
- }
1858
-
1859
- function test_layers_option(t) {
1860
-
1861
- t.plan(3);
1862
-
1863
- var map = new OpenLayers.Map({
1864
- div: "map",
1865
- layers: [
1866
- new OpenLayers.Layer()
1867
- ]
1868
- });
1869
-
1870
- t.eq(map.layers.length, 1, "single layer from options added");
1871
-
1872
- map.destroy();
1873
-
1874
- map = new OpenLayers.Map({
1875
- div: "map",
1876
- layers: [
1877
- new OpenLayers.Layer(null, {isBaseLayer: true}),
1878
- new OpenLayers.Layer(null, {isBaseLayer: false})
1879
- ]
1880
- });
1881
-
1882
- t.eq(map.layers.length, 2, "multiple layers added from options");
1883
- t.ok(map.baseLayer, "map has a base layer");
1884
-
1885
- map.destroy();
1886
-
1887
- }
1888
-
1889
- function test_center_option(t) {
1890
- t.plan(7);
1891
-
1892
- var map, msg;
1893
-
1894
-
1895
- // try setting center without layers, this has no effect
1896
- var failed = false;
1897
- try {
1898
- map = new OpenLayers.Map({
1899
- div: "map",
1900
- center: new OpenLayers.LonLat(1, 2)
1901
- });
1902
- msg = "center option without layers has no effect";
1903
- } catch (err) {
1904
- failed = true;
1905
- msg = "center option without layers throws error";
1906
- }
1907
- t.ok(!failed, msg);
1908
-
1909
- if (map) {
1910
- map.destroy();
1911
- }
1912
-
1913
- var log = [];
1914
- var meth = OpenLayers.Layer.prototype.moveTo;
1915
- OpenLayers.Layer.prototype.moveTo = function() {
1916
- log.push(arguments);
1917
- meth.apply(this, arguments);
1918
- };
1919
-
1920
- // set center without zoom
1921
- var center = new OpenLayers.LonLat(1, 2);
1922
- map = new OpenLayers.Map({
1923
- div: "map",
1924
- layers: [new OpenLayers.Layer(null, {isBaseLayer: true})],
1925
- center: center
1926
- });
1927
-
1928
- t.ok(center.equals(map.getCenter()), "map center set without zoom");
1929
- t.eq(log.length, 1, "moveTo called once");
1930
-
1931
- map.destroy();
1932
- OpenLayers.Layer.prototype.moveTo = meth;
1933
-
1934
- // set center and zoom
1935
- var zoom = 3;
1936
- map = new OpenLayers.Map({
1937
- div: "map",
1938
- layers: [new OpenLayers.Layer(null, {isBaseLayer: true})],
1939
- center: center,
1940
- zoom: zoom
1941
- });
1942
-
1943
- t.ok(center.equals(map.getCenter()), "map center set with center and zoom");
1944
- t.eq(zoom, map.getZoom(), "map zoom set with center and zoom");
1945
-
1946
- map.destroy();
1947
-
1948
- // set center and zoom with all overlays
1949
- map = new OpenLayers.Map({
1950
- div: "map",
1951
- allOverlays: true,
1952
- layers: [new OpenLayers.Layer()],
1953
- center: center,
1954
- zoom: zoom
1955
- });
1956
-
1957
- t.ok(center.equals(map.getCenter()), "map center set with all overlays");
1958
- t.eq(zoom, map.getZoom(), "map zoom set with all overlays");
1959
-
1960
- map.destroy();
1961
-
1962
- }
1963
- function test_pixel_lonlat(t) {
1964
-
1965
- t.plan(4);
1966
-
1967
- var map = new OpenLayers.Map({
1968
- div: "map",
1969
- layers: [
1970
- new OpenLayers.Layer("name", {isBaseLayer:true})
1971
- ]
1972
- });
1973
- map.zoomToMaxExtent();
1974
- var px = map.getPixelFromLonLat(map.getLonLatFromPixel(new OpenLayers.Pixel(100, 100)));
1975
- t.eq(px.x, 100, "x is the same in and ot");
1976
- t.eq(px.y, 100, "y is the same in and out");
1977
- var ll = map.getLonLatFromPixel(map.getPixelFromLonLat(new OpenLayers.LonLat(100, 100)));
1978
- t.ok((ll.lon > (100 -map.getResolution()) && (ll.lon < (100 + map.getResolution()))), "lon is the same in and ot");
1979
- t.ok((ll.lat > (100 -map.getResolution()) && (ll.lat < (100 + map.getResolution()))), "lat is the same in and ot");
1980
- map.destroy();
1981
- }
1982
-
1983
- function test_moveByPx(t) {
1984
- t.plan(14);
1985
-
1986
- var moved;
1987
- var Layer = OpenLayers.Class(OpenLayers.Layer, {
1988
- moveByPx: function(dx, dy) {
1989
- moved[this.name] = true;
1990
- }
1991
- });
1992
-
1993
- var map = new OpenLayers.Map({
1994
- div: 'map',
1995
- maxExtent: new OpenLayers.Bounds(-50, -50, 50, 50),
1996
- restrictedExtent: new OpenLayers.Bounds(-10, -10, 10, 10),
1997
- layers: [
1998
- new Layer('base',
1999
- {isBaseLayer: true}),
2000
- new Layer('outofrange',
2001
- {isBaseLayer: false, minResolution:2})
2002
- ]
2003
- });
2004
- var log = [];
2005
- map.applyTransform = function(x, y, scale) {
2006
- log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
2007
- OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
2008
- };
2009
-
2010
- moved = {};
2011
- map.zoomToExtent(new OpenLayers.Bounds(-1, -1, 1, 1));
2012
-
2013
- // check initial state
2014
- t.eq(log[0][0], 0,
2015
- '[initial state] layer container left correct');
2016
- t.eq(log[0][1], 0,
2017
- '[initial state] layer container top correct');
2018
- t.eq(moved['base'], undefined,
2019
- '[initial state] base layer not moved');
2020
- t.eq(moved['outofrange'], undefined,
2021
- '[initial state] out-of-range layer not moved');
2022
-
2023
- // move to a valid position
2024
- moved = {};
2025
- map.moveByPx(-455, 455);
2026
- t.eq(log[1][0], 455,
2027
- '[valid position] layer container left correct');
2028
- t.eq(log[1][1], -455,
2029
- '[valid position] layer container top correct');
2030
- t.eq(moved['base'], true,
2031
- '[valid position] base layer moved');
2032
- t.eq(moved['outofrange'], undefined,
2033
- '[valid position] out-of-range layer not moved');
2034
-
2035
- // move outside the max extent
2036
- moved = {};
2037
- map.moveByPx(-4500, 4500);
2038
- t.eq(log.length, 2,
2039
- '[outside max extent] layer container offset unchanged');
2040
- t.eq(moved['base'], undefined,
2041
- '[outside max extent] base layer not moved');
2042
- t.eq(moved['outofrange'], undefined,
2043
- '[outside max extent] out-of-range layer not moved');
2044
-
2045
- // move outside the restricted extent
2046
- moved = {};
2047
- map.moveByPx(-500, 500);
2048
- t.eq(log.length, 2,
2049
- '[outside restricted extent] layer container offset unchanged');
2050
- t.eq(moved['base'], undefined,
2051
- '[outside restricted extent] base layer not moved');
2052
- t.eq(moved['outofrange'], undefined,
2053
- '[outside restricted extent] out-of-range layer not moved');
2054
-
2055
-
2056
- map.destroy();
2057
- }
2058
-
2059
- // test for http://trac.osgeo.org/openlayers/ticket/3388
2060
- function test_moveByPx_restrictedExtent(t) {
2061
- t.plan(2);
2062
-
2063
- var map = new OpenLayers.Map({
2064
- div: 'map',
2065
- restrictedExtent: new OpenLayers.Bounds(-22.5,-11.25,22.5,11.25),
2066
- layers: [
2067
- new OpenLayers.Layer('name', {isBaseLayer: true})
2068
- ]
2069
- });
2070
-
2071
- map.zoomToExtent(new OpenLayers.Bounds(-11.25, 0, 11.25, 11.25));
2072
-
2073
- var log = [];
2074
- map.applyTransform = function(x, y, scale) {
2075
- log.push([x || map.layerContainerOriginPx.x, y || map.layerContainerOriginPx.y, scale]);
2076
- OpenLayers.Map.prototype.applyTransform.apply(this, arguments);
2077
- };
2078
-
2079
- map.moveByPx(-10, -10);
2080
- t.eq(log[0][0], 10, 'layer container left correct');
2081
- t.eq(log[0][1], 0, 'layer container top correct');
2082
- }
2083
-
2084
- function test_applyTransform(t) {
2085
- t.plan(10);
2086
- var origStylePrefix = OpenLayers.Util.vendorPrefix.style;
2087
- OpenLayers.Util.vendorPrefix.style =
2088
- OpenLayers.Util.vendorPrefix.css =
2089
- function(key) { return 'transform'; };
2090
-
2091
- var map = new OpenLayers.Map('map');
2092
- map.layerContainerDiv = {style: {}};
2093
- delete map.applyTransform.transform;
2094
- delete map.applyTransform.template;
2095
- var origGetStyle = OpenLayers.Element.getStyle;
2096
- OpenLayers.Element.getStyle = function() { return 'foo'; }
2097
- map.applyTransform(1, 2, 3);
2098
- OpenLayers.Element.getStyle = origGetStyle;
2099
- t.eq(map.layerContainerDiv.style.transform, 'translate3d(1px,2px,0) scale3d(3,3,1)', '3d transform and scale used when available');
2100
-
2101
- delete map.applyTransform.transform;
2102
- delete map.applyTransform.template;
2103
- var origIndexOf = String.prototype.indexOf;
2104
- String.prototype.indexOf = function() { return -1; };
2105
- map.layerContainerOriginPx = {x: -3, y: 2};
2106
- map.applyTransform(1, 2, 3);
2107
- String.prototype.indexOf = origIndexOf;
2108
- t.eq(map.layerContainerDiv.style.transform, 'translate(4px,0px) scale(3,3)', '2d translate and scale correct');
2109
- t.eq(map.layerContainerDiv.style.left, '-3px', 'container origin x set as style.left');
2110
- t.eq(map.layerContainerDiv.style.top, '2px', 'container origin y set as style.top');
2111
- map.applyTransform(1, 2);
2112
- t.ok(!map.layerContainerDiv.style.transform, 'no transform set when no transform needed');
2113
- t.eq(map.layerContainerDiv.style.left, '1px', 'style.left correct when no transform needed');
2114
- t.eq(map.layerContainerDiv.style.top, '2px', 'style.top correct when no transform needed');
2115
-
2116
- map.applyTransform.transform = null;
2117
- map.applyTransform(4, 5, 6);
2118
- t.eq(map.layerContainerDiv.style.left, '4px', 'style.left set when transform not available')
2119
- t.eq(map.layerContainerDiv.style.top, '5px', 'style.top set when transform not available')
2120
- t.ok(!map.layerContainerDiv.style.transform, 'no transform set, because not supported');
2121
-
2122
- map.destroy();
2123
- delete map.applyTransform.transform;
2124
- delete map.applyTransform.template;
2125
- OpenLayers.Util.vendorPrefix.style = origStylePrefix;
2126
- }
2127
-
2128
- function test_options(t) {
2129
- t.plan(2);
2130
-
2131
- var map = new OpenLayers.Map('map');
2132
- t.eq(map.options, {}, 'map.options is empty with no options');
2133
- map.destroy();
2134
-
2135
- var options = {
2136
- resolutions: [1,2,3,5],
2137
- projection: "EPSG:4326",
2138
- units: 'm'
2139
- };
2140
- var map = new OpenLayers.Map('map', options);
2141
- t.eq(map.options, options, 'map.options is a copy of the constructor option');
2142
- map.destroy();
2143
- }
2144
-
2145
- function test_adjustZoom(t) {
2146
- t.plan(5);
2147
- var map = new OpenLayers.Map({
2148
- div: 'map',
2149
- layers: [
2150
- new OpenLayers.Layer('name', {
2151
- isBaseLayer: true,
2152
- wrapDateLine: true
2153
- })
2154
- ]
2155
- });
2156
- map.zoomToMaxExtent();
2157
- t.ok(map.getResolution() <= map.getMaxExtent().getWidth() / map.getSize().w, "wrapDateLine map not wider than world");
2158
-
2159
- t.eq(map.adjustZoom(9), 9, "valid zoom maintained");
2160
- t.eq(map.adjustZoom(1), 2, "zoom adjusted to not exceed world width");
2161
-
2162
- map.fractionalZoom = true;
2163
- t.eq(map.adjustZoom(1).toPrecision(3), "1.29", "zoom adjusted to match world width");
2164
-
2165
- map.moveTo([16, 48], 0);
2166
- t.eq(map.getCenter().toShortString(), "0, 0", "no panning when moveTo is called with invalid zoom");
2167
- }
2168
-
2169
- function test_correctCenterAtZoomLevel0(t) {
2170
- t.plan(1);
2171
- var map = new OpenLayers.Map({
2172
- div: 'map',
2173
- maxExtent: new OpenLayers.Bounds(-30, 48.00, 3.50, 64.00),
2174
- restrictedExtent: new OpenLayers.Bounds(-30, 48.00, 3.50, 64.00),
2175
- projection: "EPSG:4258",
2176
- units: "degrees",
2177
- layers: [
2178
- new OpenLayers.Layer('name', {
2179
- isBaseLayer: true
2180
- })
2181
- ]
2182
- });
2183
- map.setCenter(new OpenLayers.LonLat(-1.3, 50.8), 4);
2184
- map.moveTo(null, 0);
2185
- var center = map.getCenter();
2186
- t.ok(center.equals(new OpenLayers.LonLat(-13.25, 56)), "Center is correct and not equal to maxExtent's center");
2187
- }
2188
-
2189
- function test_getZoomTargetCenter(t) {
2190
- t.plan(1);
2191
- var map = new OpenLayers.Map({
2192
- div: 'map',
2193
- layers: [
2194
- new OpenLayers.Layer('', {isBaseLayer: true})
2195
- ],
2196
- center: [0, 0],
2197
- zoom: 1
2198
- });
2199
-
2200
- var ll = map.getZoomTargetCenter({x: 44, y: 22}, map.getMaxResolution());
2201
-
2202
- t.eq(ll.toShortString(), "180, -90", "getZoomTargetCenter works.");
2203
-
2204
- map.destroy();
2205
- }
2206
-
2207
- function test_autoUpdateSize(t) {
2208
- t.plan(1);
2209
- OpenLayers.Event.unloadCache();
2210
- var resizeListener = false;
2211
- var map = new OpenLayers.Map({
2212
- autoUpdateSize: false,
2213
- div: 'map',
2214
- layers: [
2215
- new OpenLayers.Layer('name', {
2216
- isBaseLayer: true,
2217
- wrapDateLine: true
2218
- })
2219
- ]
2220
- });
2221
- map.setCenter(new OpenLayers.LonLat(-1.3, 50.8), 4);
2222
- for (var key in OpenLayers.Event.observers) {
2223
- var obj = OpenLayers.Event.observers[key];
2224
- for (var i=0, ii=obj.length; i<ii; ++i) {
2225
- var listener = obj[i];
2226
- if (listener.name === 'resize' && listener.element === window) {
2227
- resizeListener = true;
2228
- }
2229
- }
2230
- }
2231
- t.eq(resizeListener, map.autoUpdateSize, "resize listener not registered when autoUpdateSize is false");
2232
- map.destroy();
2233
- }
2234
-
2235
- function test_tileManager(t) {
2236
- t.plan(3);
2237
- var map = new OpenLayers.Map('map');
2238
- t.ok(map.tileManager instanceof OpenLayers.TileManager, "Default tileManager created");
2239
- map.destroy();
2240
- map = new OpenLayers.Map('map', {tileManager: null});
2241
- t.ok(map.tileManager === null, "No tileManager created");
2242
- map.destroy();
2243
- var options = {cacheSize: 512};
2244
- map = new OpenLayers.Map('map', {tileManager: options});
2245
- t.eq(map.tileManager.cacheSize, 512, "cacheSize taken from options");
2246
- map.destroy();
2247
- }
2248
-
2249
- </script>
2250
- </head>
2251
- <body>
2252
- <div id="map" style="width: 600px; height: 300px;"/>
2253
- <div style="display: none;"><div id="invisimap"></div></div>
2254
- </body>
2255
- </html>