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,1517 +0,0 @@
1
- /* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
2
- * full list of contributors). Published under the 2-clause BSD license.
3
- * See license.txt in the OpenLayers distribution or repository for the
4
- * full text of the license. */
5
-
6
- /**
7
- * @requires OpenLayers/BaseTypes/Date.js
8
- * @requires OpenLayers/Format/XML.js
9
- * @requires OpenLayers/Feature/Vector.js
10
- * @requires OpenLayers/Geometry/Point.js
11
- * @requires OpenLayers/Geometry/LineString.js
12
- * @requires OpenLayers/Geometry/Polygon.js
13
- * @requires OpenLayers/Geometry/Collection.js
14
- * @requires OpenLayers/Request/XMLHttpRequest.js
15
- * @requires OpenLayers/Projection.js
16
- */
17
-
18
- /**
19
- * Class: OpenLayers.Format.KML
20
- * Read/Write KML. Create a new instance with the <OpenLayers.Format.KML>
21
- * constructor.
22
- *
23
- * Inherits from:
24
- * - <OpenLayers.Format.XML>
25
- */
26
- OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
27
-
28
- /**
29
- * Property: namespaces
30
- * {Object} Mapping of namespace aliases to namespace URIs.
31
- */
32
- namespaces: {
33
- kml: "http://www.opengis.net/kml/2.2",
34
- gx: "http://www.google.com/kml/ext/2.2"
35
- },
36
-
37
- /**
38
- * APIProperty: kmlns
39
- * {String} KML Namespace to use. Defaults to 2.0 namespace.
40
- */
41
- kmlns: "http://earth.google.com/kml/2.0",
42
-
43
- /**
44
- * APIProperty: placemarksDesc
45
- * {String} Name of the placemarks. Default is "No description available".
46
- */
47
- placemarksDesc: "No description available",
48
-
49
- /**
50
- * APIProperty: foldersName
51
- * {String} Name of the folders. Default is "OpenLayers export".
52
- * If set to null, no name element will be created.
53
- */
54
- foldersName: "OpenLayers export",
55
-
56
- /**
57
- * APIProperty: foldersDesc
58
- * {String} Description of the folders. Default is "Exported on [date]."
59
- * If set to null, no description element will be created.
60
- */
61
- foldersDesc: "Exported on " + new Date(),
62
-
63
- /**
64
- * APIProperty: extractAttributes
65
- * {Boolean} Extract attributes from KML. Default is true.
66
- * Extracting styleUrls requires this to be set to true
67
- * Note that currently only Data and SimpleData
68
- * elements are handled.
69
- */
70
- extractAttributes: true,
71
-
72
- /**
73
- * APIProperty: kvpAttributes
74
- * {Boolean} Only used if extractAttributes is true.
75
- * If set to true, attributes will be simple
76
- * key-value pairs, compatible with other formats,
77
- * Any displayName elements will be ignored.
78
- * If set to false, attributes will be objects,
79
- * retaining any displayName elements, but not
80
- * compatible with other formats. Any CDATA in
81
- * displayName will be read in as a string value.
82
- * Default is false.
83
- */
84
- kvpAttributes: false,
85
-
86
- /**
87
- * Property: extractStyles
88
- * {Boolean} Extract styles from KML. Default is false.
89
- * Extracting styleUrls also requires extractAttributes to be
90
- * set to true
91
- */
92
- extractStyles: false,
93
-
94
- /**
95
- * APIProperty: extractTracks
96
- * {Boolean} Extract gx:Track elements from Placemark elements. Default
97
- * is false. If true, features will be generated for all points in
98
- * all gx:Track elements. Features will have a when (Date) attribute
99
- * based on when elements in the track. If tracks include angle
100
- * elements, features will have heading, tilt, and roll attributes.
101
- * If track point coordinates have three values, features will have
102
- * an altitude attribute with the third coordinate value.
103
- */
104
- extractTracks: false,
105
-
106
- /**
107
- * APIProperty: trackAttributes
108
- * {Array} If <extractTracks> is true, points within gx:Track elements will
109
- * be parsed as features with when, heading, tilt, and roll attributes.
110
- * Any additional attribute names can be provided in <trackAttributes>.
111
- */
112
- trackAttributes: null,
113
-
114
- /**
115
- * Property: internalns
116
- * {String} KML Namespace to use -- defaults to the namespace of the
117
- * Placemark node being parsed, but falls back to kmlns.
118
- */
119
- internalns: null,
120
-
121
- /**
122
- * Property: features
123
- * {Array} Array of features
124
- *
125
- */
126
- features: null,
127
-
128
- /**
129
- * Property: styles
130
- * {Object} Storage of style objects
131
- *
132
- */
133
- styles: null,
134
-
135
- /**
136
- * Property: styleBaseUrl
137
- * {String}
138
- */
139
- styleBaseUrl: "",
140
-
141
- /**
142
- * Property: fetched
143
- * {Object} Storage of KML URLs that have been fetched before
144
- * in order to prevent reloading them.
145
- */
146
- fetched: null,
147
-
148
- /**
149
- * APIProperty: maxDepth
150
- * {Integer} Maximum depth for recursive loading external KML URLs
151
- * Defaults to 0: do no external fetching
152
- */
153
- maxDepth: 0,
154
-
155
- /**
156
- * Constructor: OpenLayers.Format.KML
157
- * Create a new parser for KML.
158
- *
159
- * Parameters:
160
- * options - {Object} An optional object whose properties will be set on
161
- * this instance.
162
- */
163
- initialize: function(options) {
164
- // compile regular expressions once instead of every time they are used
165
- this.regExes = {
166
- trimSpace: (/^\s*|\s*$/g),
167
- removeSpace: (/\s*/g),
168
- splitSpace: (/\s+/),
169
- trimComma: (/\s*,\s*/g),
170
- kmlColor: (/(\w{2})(\w{2})(\w{2})(\w{2})/),
171
- kmlIconPalette: (/root:\/\/icons\/palette-(\d+)(\.\w+)/),
172
- straightBracket: (/\$\[(.*?)\]/g)
173
- };
174
- // KML coordinates are always in longlat WGS84
175
- this.externalProjection = new OpenLayers.Projection("EPSG:4326");
176
-
177
- OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
178
- },
179
-
180
- /**
181
- * APIMethod: read
182
- * Read data from a string, and return a list of features.
183
- *
184
- * Parameters:
185
- * data - {String} or {DOMElement} data to read/parse.
186
- *
187
- * Returns:
188
- * {Array(<OpenLayers.Feature.Vector>)} List of features.
189
- */
190
- read: function(data) {
191
- this.features = [];
192
- this.styles = {};
193
- this.fetched = {};
194
-
195
- // Set default options
196
- var options = {
197
- depth: 0,
198
- styleBaseUrl: this.styleBaseUrl
199
- };
200
-
201
- return this.parseData(data, options);
202
- },
203
-
204
- /**
205
- * Method: parseData
206
- * Read data from a string, and return a list of features.
207
- *
208
- * Parameters:
209
- * data - {String} or {DOMElement} data to read/parse.
210
- * options - {Object} Hash of options
211
- *
212
- * Returns:
213
- * {Array(<OpenLayers.Feature.Vector>)} List of features.
214
- */
215
- parseData: function(data, options) {
216
- if(typeof data == "string") {
217
- data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
218
- }
219
-
220
- // Loop throught the following node types in this order and
221
- // process the nodes found
222
- var types = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"];
223
- for(var i=0, len=types.length; i<len; ++i) {
224
- var type = types[i];
225
-
226
- var nodes = this.getElementsByTagNameNS(data, "*", type);
227
-
228
- // skip to next type if no nodes are found
229
- if(nodes.length == 0) {
230
- continue;
231
- }
232
-
233
- switch (type.toLowerCase()) {
234
-
235
- // Fetch external links
236
- case "link":
237
- case "networklink":
238
- this.parseLinks(nodes, options);
239
- break;
240
-
241
- // parse style information
242
- case "style":
243
- if (this.extractStyles) {
244
- this.parseStyles(nodes, options);
245
- }
246
- break;
247
- case "stylemap":
248
- if (this.extractStyles) {
249
- this.parseStyleMaps(nodes, options);
250
- }
251
- break;
252
-
253
- // parse features
254
- case "placemark":
255
- this.parseFeatures(nodes, options);
256
- break;
257
- }
258
- }
259
-
260
- return this.features;
261
- },
262
-
263
- /**
264
- * Method: parseLinks
265
- * Finds URLs of linked KML documents and fetches them
266
- *
267
- * Parameters:
268
- * nodes - {Array} of {DOMElement} data to read/parse.
269
- * options - {Object} Hash of options
270
- *
271
- */
272
- parseLinks: function(nodes, options) {
273
-
274
- // Fetch external links <NetworkLink> and <Link>
275
- // Don't do anything if we have reached our maximum depth for recursion
276
- if (options.depth >= this.maxDepth) {
277
- return false;
278
- }
279
-
280
- // increase depth
281
- var newOptions = OpenLayers.Util.extend({}, options);
282
- newOptions.depth++;
283
-
284
- for(var i=0, len=nodes.length; i<len; i++) {
285
- var href = this.parseProperty(nodes[i], "*", "href");
286
- if(href && !this.fetched[href]) {
287
- this.fetched[href] = true; // prevent reloading the same urls
288
- var data = this.fetchLink(href);
289
- if (data) {
290
- this.parseData(data, newOptions);
291
- }
292
- }
293
- }
294
-
295
- },
296
-
297
- /**
298
- * Method: fetchLink
299
- * Fetches a URL and returns the result
300
- *
301
- * Parameters:
302
- * href - {String} url to be fetched
303
- *
304
- */
305
- fetchLink: function(href) {
306
- var request = OpenLayers.Request.GET({url: href, async: false});
307
- if (request) {
308
- return request.responseText;
309
- }
310
- },
311
-
312
- /**
313
- * Method: parseStyles
314
- * Parses <Style> nodes
315
- *
316
- * Parameters:
317
- * nodes - {Array} of {DOMElement} data to read/parse.
318
- * options - {Object} Hash of options
319
- *
320
- */
321
- parseStyles: function(nodes, options) {
322
- for(var i=0, len=nodes.length; i<len; i++) {
323
- var style = this.parseStyle(nodes[i]);
324
- if(style) {
325
- var styleName = (options.styleBaseUrl || "") + "#" + style.id;
326
-
327
- this.styles[styleName] = style;
328
- }
329
- }
330
- },
331
-
332
- /**
333
- * Method: parseKmlColor
334
- * Parses a kml color (in 'aabbggrr' format) and returns the corresponding
335
- * color and opacity or null if the color is invalid.
336
- *
337
- * Parameters:
338
- * kmlColor - {String} a kml formated color
339
- *
340
- * Returns:
341
- * {Object}
342
- */
343
- parseKmlColor: function(kmlColor) {
344
- var color = null;
345
- if (kmlColor) {
346
- var matches = kmlColor.match(this.regExes.kmlColor);
347
- if (matches) {
348
- color = {
349
- color: '#' + matches[4] + matches[3] + matches[2],
350
- opacity: parseInt(matches[1], 16) / 255
351
- };
352
- }
353
- }
354
- return color;
355
- },
356
-
357
- /**
358
- * Method: parseStyle
359
- * Parses the children of a <Style> node and builds the style hash
360
- * accordingly
361
- *
362
- * Parameters:
363
- * node - {DOMElement} <Style> node
364
- *
365
- */
366
- parseStyle: function(node) {
367
- var style = {};
368
-
369
- var types = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle",
370
- "LabelStyle"];
371
- var type, styleTypeNode, nodeList, geometry, parser;
372
- for(var i=0, len=types.length; i<len; ++i) {
373
- type = types[i];
374
- styleTypeNode = this.getElementsByTagNameNS(node, "*", type)[0];
375
- if(!styleTypeNode) {
376
- continue;
377
- }
378
-
379
- // only deal with first geometry of this type
380
- switch (type.toLowerCase()) {
381
- case "linestyle":
382
- var kmlColor = this.parseProperty(styleTypeNode, "*", "color");
383
- var color = this.parseKmlColor(kmlColor);
384
- if (color) {
385
- style["strokeColor"] = color.color;
386
- style["strokeOpacity"] = color.opacity;
387
- }
388
-
389
- var width = this.parseProperty(styleTypeNode, "*", "width");
390
- if (width) {
391
- style["strokeWidth"] = width;
392
- }
393
- break;
394
-
395
- case "polystyle":
396
- var kmlColor = this.parseProperty(styleTypeNode, "*", "color");
397
- var color = this.parseKmlColor(kmlColor);
398
- if (color) {
399
- style["fillOpacity"] = color.opacity;
400
- style["fillColor"] = color.color;
401
- }
402
- // Check if fill is disabled
403
- var fill = this.parseProperty(styleTypeNode, "*", "fill");
404
- if (fill == "0") {
405
- style["fillColor"] = "none";
406
- }
407
- // Check if outline is disabled
408
- var outline = this.parseProperty(styleTypeNode, "*", "outline");
409
- if (outline == "0") {
410
- style["strokeWidth"] = "0";
411
- }
412
-
413
- break;
414
-
415
- case "iconstyle":
416
- // set scale
417
- var scale = parseFloat(this.parseProperty(styleTypeNode,
418
- "*", "scale") || 1);
419
-
420
- // set default width and height of icon
421
- var width = 32 * scale;
422
- var height = 32 * scale;
423
-
424
- var iconNode = this.getElementsByTagNameNS(styleTypeNode,
425
- "*",
426
- "Icon")[0];
427
- if (iconNode) {
428
- var href = this.parseProperty(iconNode, "*", "href");
429
- if (href) {
430
-
431
- var w = this.parseProperty(iconNode, "*", "w");
432
- var h = this.parseProperty(iconNode, "*", "h");
433
-
434
- // Settings for Google specific icons that are 64x64
435
- // We set the width and height to 64 and halve the
436
- // scale to prevent icons from being too big
437
- var google = "http://maps.google.com/mapfiles/kml";
438
- if (OpenLayers.String.startsWith(
439
- href, google) && !w && !h) {
440
- w = 64;
441
- h = 64;
442
- scale = scale / 2;
443
- }
444
-
445
- // if only dimension is defined, make sure the
446
- // other one has the same value
447
- w = w || h;
448
- h = h || w;
449
-
450
- if (w) {
451
- width = parseInt(w) * scale;
452
- }
453
-
454
- if (h) {
455
- height = parseInt(h) * scale;
456
- }
457
-
458
- // support for internal icons
459
- // (/root://icons/palette-x.png)
460
- // x and y tell the position on the palette:
461
- // - in pixels
462
- // - starting from the left bottom
463
- // We translate that to a position in the list
464
- // and request the appropriate icon from the
465
- // google maps website
466
- var matches = href.match(this.regExes.kmlIconPalette);
467
- if (matches) {
468
- var palette = matches[1];
469
- var file_extension = matches[2];
470
-
471
- var x = this.parseProperty(iconNode, "*", "x");
472
- var y = this.parseProperty(iconNode, "*", "y");
473
-
474
- var posX = x ? x/32 : 0;
475
- var posY = y ? (7 - y/32) : 7;
476
-
477
- var pos = posY * 8 + posX;
478
- href = "http://maps.google.com/mapfiles/kml/pal"
479
- + palette + "/icon" + pos + file_extension;
480
- }
481
-
482
- style["graphicOpacity"] = 1; // fully opaque
483
- style["externalGraphic"] = href;
484
- }
485
-
486
- }
487
-
488
-
489
- // hotSpots define the offset for an Icon
490
- var hotSpotNode = this.getElementsByTagNameNS(styleTypeNode,
491
- "*",
492
- "hotSpot")[0];
493
- if (hotSpotNode) {
494
- var x = parseFloat(hotSpotNode.getAttribute("x"));
495
- var y = parseFloat(hotSpotNode.getAttribute("y"));
496
-
497
- var xUnits = hotSpotNode.getAttribute("xunits");
498
- if (xUnits == "pixels") {
499
- style["graphicXOffset"] = -x * scale;
500
- }
501
- else if (xUnits == "insetPixels") {
502
- style["graphicXOffset"] = -width + (x * scale);
503
- }
504
- else if (xUnits == "fraction") {
505
- style["graphicXOffset"] = -width * x;
506
- }
507
-
508
- var yUnits = hotSpotNode.getAttribute("yunits");
509
- if (yUnits == "pixels") {
510
- style["graphicYOffset"] = -height + (y * scale) + 1;
511
- }
512
- else if (yUnits == "insetPixels") {
513
- style["graphicYOffset"] = -(y * scale) + 1;
514
- }
515
- else if (yUnits == "fraction") {
516
- style["graphicYOffset"] = -height * (1 - y) + 1;
517
- }
518
- }
519
-
520
- style["graphicWidth"] = width;
521
- style["graphicHeight"] = height;
522
- break;
523
-
524
- case "balloonstyle":
525
- var balloonStyle = OpenLayers.Util.getXmlNodeValue(
526
- styleTypeNode);
527
- if (balloonStyle) {
528
- style["balloonStyle"] = balloonStyle.replace(
529
- this.regExes.straightBracket, "${$1}");
530
- }
531
- break;
532
- case "labelstyle":
533
- var kmlColor = this.parseProperty(styleTypeNode, "*", "color");
534
- var color = this.parseKmlColor(kmlColor);
535
- if (color) {
536
- style["fontColor"] = color.color;
537
- style["fontOpacity"] = color.opacity;
538
- }
539
- break;
540
-
541
- default:
542
- }
543
- }
544
-
545
- // Some polygons have no line color, so we use the fillColor for that
546
- if (!style["strokeColor"] && style["fillColor"]) {
547
- style["strokeColor"] = style["fillColor"];
548
- }
549
-
550
- var id = node.getAttribute("id");
551
- if (id && style) {
552
- style.id = id;
553
- }
554
-
555
- return style;
556
- },
557
-
558
- /**
559
- * Method: parseStyleMaps
560
- * Parses <StyleMap> nodes, but only uses the 'normal' key
561
- *
562
- * Parameters:
563
- * nodes - {Array} of {DOMElement} data to read/parse.
564
- * options - {Object} Hash of options
565
- *
566
- */
567
- parseStyleMaps: function(nodes, options) {
568
- // Only the default or "normal" part of the StyleMap is processed now
569
- // To do the select or "highlight" bit, we'd need to change lots more
570
-
571
- for(var i=0, len=nodes.length; i<len; i++) {
572
- var node = nodes[i];
573
- var pairs = this.getElementsByTagNameNS(node, "*",
574
- "Pair");
575
-
576
- var id = node.getAttribute("id");
577
- for (var j=0, jlen=pairs.length; j<jlen; j++) {
578
- var pair = pairs[j];
579
- // Use the shortcut in the SLD format to quickly retrieve the
580
- // value of a node. Maybe it's good to have a method in
581
- // Format.XML to do this
582
- var key = this.parseProperty(pair, "*", "key");
583
- var styleUrl = this.parseProperty(pair, "*", "styleUrl");
584
-
585
- if (styleUrl && key == "normal") {
586
- this.styles[(options.styleBaseUrl || "") + "#" + id] =
587
- this.styles[(options.styleBaseUrl || "") + styleUrl];
588
- }
589
-
590
- // TODO: implement the "select" part
591
- //if (styleUrl && key == "highlight") {
592
- //}
593
-
594
- }
595
- }
596
-
597
- },
598
-
599
-
600
- /**
601
- * Method: parseFeatures
602
- * Loop through all Placemark nodes and parse them.
603
- * Will create a list of features
604
- *
605
- * Parameters:
606
- * nodes - {Array} of {DOMElement} data to read/parse.
607
- * options - {Object} Hash of options
608
- *
609
- */
610
- parseFeatures: function(nodes, options) {
611
- var features = [];
612
- for(var i=0, len=nodes.length; i<len; i++) {
613
- var featureNode = nodes[i];
614
- var feature = this.parseFeature.apply(this,[featureNode]) ;
615
- if(feature) {
616
-
617
- // Create reference to styleUrl
618
- if (this.extractStyles && feature.attributes &&
619
- feature.attributes.styleUrl) {
620
- feature.style = this.getStyle(feature.attributes.styleUrl, options);
621
- }
622
-
623
- if (this.extractStyles) {
624
- // Make sure that <Style> nodes within a placemark are
625
- // processed as well
626
- var inlineStyleNode = this.getElementsByTagNameNS(featureNode,
627
- "*",
628
- "Style")[0];
629
- if (inlineStyleNode) {
630
- var inlineStyle= this.parseStyle(inlineStyleNode);
631
- if (inlineStyle) {
632
- feature.style = OpenLayers.Util.extend(
633
- feature.style, inlineStyle
634
- );
635
- }
636
- }
637
- }
638
-
639
- // check if gx:Track elements should be parsed
640
- if (this.extractTracks) {
641
- var tracks = this.getElementsByTagNameNS(
642
- featureNode, this.namespaces.gx, "Track"
643
- );
644
- if (tracks && tracks.length > 0) {
645
- var track = tracks[0];
646
- var container = {
647
- features: [],
648
- feature: feature
649
- };
650
- this.readNode(track, container);
651
- if (container.features.length > 0) {
652
- features.push.apply(features, container.features);
653
- }
654
- }
655
- } else {
656
- // add feature to list of features
657
- features.push(feature);
658
- }
659
- } else {
660
- throw "Bad Placemark: " + i;
661
- }
662
- }
663
-
664
- // add new features to existing feature list
665
- this.features = this.features.concat(features);
666
- },
667
-
668
- /**
669
- * Property: readers
670
- * Contains public functions, grouped by namespace prefix, that will
671
- * be applied when a namespaced node is found matching the function
672
- * name. The function will be applied in the scope of this parser
673
- * with two arguments: the node being read and a context object passed
674
- * from the parent.
675
- */
676
- readers: {
677
- "kml": {
678
- "when": function(node, container) {
679
- container.whens.push(OpenLayers.Date.parse(
680
- this.getChildValue(node)
681
- ));
682
- },
683
- "_trackPointAttribute": function(node, container) {
684
- var name = node.nodeName.split(":").pop();
685
- container.attributes[name].push(this.getChildValue(node));
686
- }
687
- },
688
- "gx": {
689
- "Track": function(node, container) {
690
- var obj = {
691
- whens: [],
692
- points: [],
693
- angles: []
694
- };
695
- if (this.trackAttributes) {
696
- var name;
697
- obj.attributes = {};
698
- for (var i=0, ii=this.trackAttributes.length; i<ii; ++i) {
699
- name = this.trackAttributes[i];
700
- obj.attributes[name] = [];
701
- if (!(name in this.readers.kml)) {
702
- this.readers.kml[name] = this.readers.kml._trackPointAttribute;
703
- }
704
- }
705
- }
706
- this.readChildNodes(node, obj);
707
- if (obj.whens.length !== obj.points.length) {
708
- throw new Error("gx:Track with unequal number of when (" +
709
- obj.whens.length + ") and gx:coord (" +
710
- obj.points.length + ") elements.");
711
- }
712
- var hasAngles = obj.angles.length > 0;
713
- if (hasAngles && obj.whens.length !== obj.angles.length) {
714
- throw new Error("gx:Track with unequal number of when (" +
715
- obj.whens.length + ") and gx:angles (" +
716
- obj.angles.length + ") elements.");
717
- }
718
- var feature, point, angles;
719
- for (var i=0, ii=obj.whens.length; i<ii; ++i) {
720
- feature = container.feature.clone();
721
- feature.fid = container.feature.fid || container.feature.id;
722
- point = obj.points[i];
723
- feature.geometry = point;
724
- if ("z" in point) {
725
- feature.attributes.altitude = point.z;
726
- }
727
- if (this.internalProjection && this.externalProjection) {
728
- feature.geometry.transform(
729
- this.externalProjection, this.internalProjection
730
- );
731
- }
732
- if (this.trackAttributes) {
733
- for (var j=0, jj=this.trackAttributes.length; j<jj; ++j) {
734
- var name = this.trackAttributes[j];
735
- feature.attributes[name] = obj.attributes[name][i];
736
- }
737
- }
738
- feature.attributes.when = obj.whens[i];
739
- feature.attributes.trackId = container.feature.id;
740
- if (hasAngles) {
741
- angles = obj.angles[i];
742
- feature.attributes.heading = parseFloat(angles[0]);
743
- feature.attributes.tilt = parseFloat(angles[1]);
744
- feature.attributes.roll = parseFloat(angles[2]);
745
- }
746
- container.features.push(feature);
747
- }
748
- },
749
- "coord": function(node, container) {
750
- var str = this.getChildValue(node);
751
- var coords = str.replace(this.regExes.trimSpace, "").split(/\s+/);
752
- var point = new OpenLayers.Geometry.Point(coords[0], coords[1]);
753
- if (coords.length > 2) {
754
- point.z = parseFloat(coords[2]);
755
- }
756
- container.points.push(point);
757
- },
758
- "angles": function(node, container) {
759
- var str = this.getChildValue(node);
760
- var parts = str.replace(this.regExes.trimSpace, "").split(/\s+/);
761
- container.angles.push(parts);
762
- }
763
- }
764
- },
765
-
766
- /**
767
- * Method: parseFeature
768
- * This function is the core of the KML parsing code in OpenLayers.
769
- * It creates the geometries that are then attached to the returned
770
- * feature, and calls parseAttributes() to get attribute data out.
771
- *
772
- * Parameters:
773
- * node - {DOMElement}
774
- *
775
- * Returns:
776
- * {<OpenLayers.Feature.Vector>} A vector feature.
777
- */
778
- parseFeature: function(node) {
779
- // only accept one geometry per feature - look for highest "order"
780
- var order = ["MultiGeometry", "Polygon", "LineString", "Point"];
781
- var type, nodeList, geometry, parser;
782
- for(var i=0, len=order.length; i<len; ++i) {
783
- type = order[i];
784
- this.internalns = node.namespaceURI ?
785
- node.namespaceURI : this.kmlns;
786
- nodeList = this.getElementsByTagNameNS(node,
787
- this.internalns, type);
788
- if(nodeList.length > 0) {
789
- // only deal with first geometry of this type
790
- var parser = this.parseGeometry[type.toLowerCase()];
791
- if(parser) {
792
- geometry = parser.apply(this, [nodeList[0]]);
793
- if (this.internalProjection && this.externalProjection) {
794
- geometry.transform(this.externalProjection,
795
- this.internalProjection);
796
- }
797
- } else {
798
- throw new TypeError("Unsupported geometry type: " + type);
799
- }
800
- // stop looking for different geometry types
801
- break;
802
- }
803
- }
804
-
805
- // construct feature (optionally with attributes)
806
- var attributes;
807
- if(this.extractAttributes) {
808
- attributes = this.parseAttributes(node);
809
- }
810
- var feature = new OpenLayers.Feature.Vector(geometry, attributes);
811
-
812
- var fid = node.getAttribute("id") || node.getAttribute("name");
813
- if(fid != null) {
814
- feature.fid = fid;
815
- }
816
-
817
- return feature;
818
- },
819
-
820
- /**
821
- * Method: getStyle
822
- * Retrieves a style from a style hash using styleUrl as the key
823
- * If the styleUrl doesn't exist yet, we try to fetch it
824
- * Internet
825
- *
826
- * Parameters:
827
- * styleUrl - {String} URL of style
828
- * options - {Object} Hash of options
829
- *
830
- * Returns:
831
- * {Object} - (reference to) Style hash
832
- */
833
- getStyle: function(styleUrl, options) {
834
-
835
- var styleBaseUrl = OpenLayers.Util.removeTail(styleUrl);
836
-
837
- var newOptions = OpenLayers.Util.extend({}, options);
838
- newOptions.depth++;
839
- newOptions.styleBaseUrl = styleBaseUrl;
840
-
841
- // Fetch remote Style URLs (if not fetched before)
842
- if (!this.styles[styleUrl]
843
- && !OpenLayers.String.startsWith(styleUrl, "#")
844
- && newOptions.depth <= this.maxDepth
845
- && !this.fetched[styleBaseUrl] ) {
846
-
847
- var data = this.fetchLink(styleBaseUrl);
848
- if (data) {
849
- this.parseData(data, newOptions);
850
- }
851
-
852
- }
853
-
854
- // return requested style
855
- var style = OpenLayers.Util.extend({}, this.styles[styleUrl]);
856
- return style;
857
- },
858
-
859
- /**
860
- * Property: parseGeometry
861
- * Properties of this object are the functions that parse geometries based
862
- * on their type.
863
- */
864
- parseGeometry: {
865
-
866
- /**
867
- * Method: parseGeometry.point
868
- * Given a KML node representing a point geometry, create an OpenLayers
869
- * point geometry.
870
- *
871
- * Parameters:
872
- * node - {DOMElement} A KML Point node.
873
- *
874
- * Returns:
875
- * {<OpenLayers.Geometry.Point>} A point geometry.
876
- */
877
- point: function(node) {
878
- var nodeList = this.getElementsByTagNameNS(node, this.internalns,
879
- "coordinates");
880
- var coords = [];
881
- if(nodeList.length > 0) {
882
- var coordString = nodeList[0].firstChild.nodeValue;
883
- coordString = coordString.replace(this.regExes.removeSpace, "");
884
- coords = coordString.split(",");
885
- }
886
-
887
- var point = null;
888
- if(coords.length > 1) {
889
- // preserve third dimension
890
- if(coords.length == 2) {
891
- coords[2] = null;
892
- }
893
- point = new OpenLayers.Geometry.Point(coords[0], coords[1],
894
- coords[2]);
895
- } else {
896
- throw "Bad coordinate string: " + coordString;
897
- }
898
- return point;
899
- },
900
-
901
- /**
902
- * Method: parseGeometry.linestring
903
- * Given a KML node representing a linestring geometry, create an
904
- * OpenLayers linestring geometry.
905
- *
906
- * Parameters:
907
- * node - {DOMElement} A KML LineString node.
908
- *
909
- * Returns:
910
- * {<OpenLayers.Geometry.LineString>} A linestring geometry.
911
- */
912
- linestring: function(node, ring) {
913
- var nodeList = this.getElementsByTagNameNS(node, this.internalns,
914
- "coordinates");
915
- var line = null;
916
- if(nodeList.length > 0) {
917
- var coordString = this.getChildValue(nodeList[0]);
918
-
919
- coordString = coordString.replace(this.regExes.trimSpace,
920
- "");
921
- coordString = coordString.replace(this.regExes.trimComma,
922
- ",");
923
- var pointList = coordString.split(this.regExes.splitSpace);
924
- var numPoints = pointList.length;
925
- var points = new Array(numPoints);
926
- var coords, numCoords;
927
- for(var i=0; i<numPoints; ++i) {
928
- coords = pointList[i].split(",");
929
- numCoords = coords.length;
930
- if(numCoords > 1) {
931
- if(coords.length == 2) {
932
- coords[2] = null;
933
- }
934
- points[i] = new OpenLayers.Geometry.Point(coords[0],
935
- coords[1],
936
- coords[2]);
937
- } else {
938
- throw "Bad LineString point coordinates: " +
939
- pointList[i];
940
- }
941
- }
942
- if(numPoints) {
943
- if(ring) {
944
- line = new OpenLayers.Geometry.LinearRing(points);
945
- } else {
946
- line = new OpenLayers.Geometry.LineString(points);
947
- }
948
- } else {
949
- throw "Bad LineString coordinates: " + coordString;
950
- }
951
- }
952
-
953
- return line;
954
- },
955
-
956
- /**
957
- * Method: parseGeometry.polygon
958
- * Given a KML node representing a polygon geometry, create an
959
- * OpenLayers polygon geometry.
960
- *
961
- * Parameters:
962
- * node - {DOMElement} A KML Polygon node.
963
- *
964
- * Returns:
965
- * {<OpenLayers.Geometry.Polygon>} A polygon geometry.
966
- */
967
- polygon: function(node) {
968
- var nodeList = this.getElementsByTagNameNS(node, this.internalns,
969
- "LinearRing");
970
- var numRings = nodeList.length;
971
- var components = new Array(numRings);
972
- if(numRings > 0) {
973
- // this assumes exterior ring first, inner rings after
974
- var ring;
975
- for(var i=0, len=nodeList.length; i<len; ++i) {
976
- ring = this.parseGeometry.linestring.apply(this,
977
- [nodeList[i], true]);
978
- if(ring) {
979
- components[i] = ring;
980
- } else {
981
- throw "Bad LinearRing geometry: " + i;
982
- }
983
- }
984
- }
985
- return new OpenLayers.Geometry.Polygon(components);
986
- },
987
-
988
- /**
989
- * Method: parseGeometry.multigeometry
990
- * Given a KML node representing a multigeometry, create an
991
- * OpenLayers geometry collection.
992
- *
993
- * Parameters:
994
- * node - {DOMElement} A KML MultiGeometry node.
995
- *
996
- * Returns:
997
- * {<OpenLayers.Geometry.Collection>} A geometry collection.
998
- */
999
- multigeometry: function(node) {
1000
- var child, parser;
1001
- var parts = [];
1002
- var children = node.childNodes;
1003
- for(var i=0, len=children.length; i<len; ++i ) {
1004
- child = children[i];
1005
- if(child.nodeType == 1) {
1006
- var type = (child.prefix) ?
1007
- child.nodeName.split(":")[1] :
1008
- child.nodeName;
1009
- var parser = this.parseGeometry[type.toLowerCase()];
1010
- if(parser) {
1011
- parts.push(parser.apply(this, [child]));
1012
- }
1013
- }
1014
- }
1015
- return new OpenLayers.Geometry.Collection(parts);
1016
- }
1017
-
1018
- },
1019
-
1020
- /**
1021
- * Method: parseAttributes
1022
- *
1023
- * Parameters:
1024
- * node - {DOMElement}
1025
- *
1026
- * Returns:
1027
- * {Object} An attributes object.
1028
- */
1029
- parseAttributes: function(node) {
1030
- var attributes = {};
1031
-
1032
- // Extended Data is parsed first.
1033
- var edNodes = node.getElementsByTagName("ExtendedData");
1034
- if (edNodes.length) {
1035
- attributes = this.parseExtendedData(edNodes[0]);
1036
- }
1037
-
1038
- // assume attribute nodes are type 1 children with a type 3 or 4 child
1039
- var child, grandchildren, grandchild;
1040
- var children = node.childNodes;
1041
-
1042
- for(var i=0, len=children.length; i<len; ++i) {
1043
- child = children[i];
1044
- if(child.nodeType == 1) {
1045
- grandchildren = child.childNodes;
1046
- if(grandchildren.length >= 1 && grandchildren.length <= 3) {
1047
- var grandchild;
1048
- switch (grandchildren.length) {
1049
- case 1:
1050
- grandchild = grandchildren[0];
1051
- break;
1052
- case 2:
1053
- var c1 = grandchildren[0];
1054
- var c2 = grandchildren[1];
1055
- grandchild = (c1.nodeType == 3 || c1.nodeType == 4) ?
1056
- c1 : c2;
1057
- break;
1058
- case 3:
1059
- default:
1060
- grandchild = grandchildren[1];
1061
- break;
1062
- }
1063
- if(grandchild.nodeType == 3 || grandchild.nodeType == 4) {
1064
- var name = (child.prefix) ?
1065
- child.nodeName.split(":")[1] :
1066
- child.nodeName;
1067
- var value = OpenLayers.Util.getXmlNodeValue(grandchild);
1068
- if (value) {
1069
- value = value.replace(this.regExes.trimSpace, "");
1070
- attributes[name] = value;
1071
- }
1072
- }
1073
- }
1074
- }
1075
- }
1076
- return attributes;
1077
- },
1078
-
1079
- /**
1080
- * Method: parseExtendedData
1081
- * Parse ExtendedData from KML. Limited support for schemas/datatypes.
1082
- * See http://code.google.com/apis/kml/documentation/kmlreference.html#extendeddata
1083
- * for more information on extendeddata.
1084
- */
1085
- parseExtendedData: function(node) {
1086
- var attributes = {};
1087
- var i, len, data, key;
1088
- var dataNodes = node.getElementsByTagName("Data");
1089
- for (i = 0, len = dataNodes.length; i < len; i++) {
1090
- data = dataNodes[i];
1091
- key = data.getAttribute("name");
1092
- var ed = {};
1093
- var valueNode = data.getElementsByTagName("value");
1094
- if (valueNode.length) {
1095
- ed['value'] = this.getChildValue(valueNode[0]);
1096
- }
1097
- if (this.kvpAttributes) {
1098
- attributes[key] = ed['value'];
1099
- } else {
1100
- var nameNode = data.getElementsByTagName("displayName");
1101
- if (nameNode.length) {
1102
- ed['displayName'] = this.getChildValue(nameNode[0]);
1103
- }
1104
- attributes[key] = ed;
1105
- }
1106
- }
1107
- var simpleDataNodes = node.getElementsByTagName("SimpleData");
1108
- for (i = 0, len = simpleDataNodes.length; i < len; i++) {
1109
- var ed = {};
1110
- data = simpleDataNodes[i];
1111
- key = data.getAttribute("name");
1112
- ed['value'] = this.getChildValue(data);
1113
- if (this.kvpAttributes) {
1114
- attributes[key] = ed['value'];
1115
- } else {
1116
- ed['displayName'] = key;
1117
- attributes[key] = ed;
1118
- }
1119
- }
1120
-
1121
- return attributes;
1122
- },
1123
-
1124
- /**
1125
- * Method: parseProperty
1126
- * Convenience method to find a node and return its value
1127
- *
1128
- * Parameters:
1129
- * xmlNode - {<DOMElement>}
1130
- * namespace - {String} namespace of the node to find
1131
- * tagName - {String} name of the property to parse
1132
- *
1133
- * Returns:
1134
- * {String} The value for the requested property (defaults to null)
1135
- */
1136
- parseProperty: function(xmlNode, namespace, tagName) {
1137
- var value;
1138
- var nodeList = this.getElementsByTagNameNS(xmlNode, namespace, tagName);
1139
- try {
1140
- value = OpenLayers.Util.getXmlNodeValue(nodeList[0]);
1141
- } catch(e) {
1142
- value = null;
1143
- }
1144
-
1145
- return value;
1146
- },
1147
-
1148
- /**
1149
- * APIMethod: write
1150
- * Accept Feature Collection, and return a string.
1151
- *
1152
- * Parameters:
1153
- * features - {Array(<OpenLayers.Feature.Vector>)} An array of features.
1154
- *
1155
- * Returns:
1156
- * {String} A KML string.
1157
- */
1158
- write: function(features) {
1159
- if(!(OpenLayers.Util.isArray(features))) {
1160
- features = [features];
1161
- }
1162
- var kml = this.createElementNS(this.kmlns, "kml");
1163
- var folder = this.createFolderXML();
1164
- for(var i=0, len=features.length; i<len; ++i) {
1165
- folder.appendChild(this.createPlacemarkXML(features[i]));
1166
- }
1167
- kml.appendChild(folder);
1168
- return OpenLayers.Format.XML.prototype.write.apply(this, [kml]);
1169
- },
1170
-
1171
- /**
1172
- * Method: createFolderXML
1173
- * Creates and returns a KML folder node
1174
- *
1175
- * Returns:
1176
- * {DOMElement}
1177
- */
1178
- createFolderXML: function() {
1179
- // Folder
1180
- var folder = this.createElementNS(this.kmlns, "Folder");
1181
-
1182
- // Folder name
1183
- if (this.foldersName) {
1184
- var folderName = this.createElementNS(this.kmlns, "name");
1185
- var folderNameText = this.createTextNode(this.foldersName);
1186
- folderName.appendChild(folderNameText);
1187
- folder.appendChild(folderName);
1188
- }
1189
-
1190
- // Folder description
1191
- if (this.foldersDesc) {
1192
- var folderDesc = this.createElementNS(this.kmlns, "description");
1193
- var folderDescText = this.createTextNode(this.foldersDesc);
1194
- folderDesc.appendChild(folderDescText);
1195
- folder.appendChild(folderDesc);
1196
- }
1197
-
1198
- return folder;
1199
- },
1200
-
1201
- /**
1202
- * Method: createPlacemarkXML
1203
- * Creates and returns a KML placemark node representing the given feature.
1204
- *
1205
- * Parameters:
1206
- * feature - {<OpenLayers.Feature.Vector>}
1207
- *
1208
- * Returns:
1209
- * {DOMElement}
1210
- */
1211
- createPlacemarkXML: function(feature) {
1212
- // Placemark name
1213
- var placemarkName = this.createElementNS(this.kmlns, "name");
1214
- var label = (feature.style && feature.style.label) ? feature.style.label : feature.id;
1215
- var name = feature.attributes.name || label;
1216
- placemarkName.appendChild(this.createTextNode(name));
1217
-
1218
- // Placemark description
1219
- var placemarkDesc = this.createElementNS(this.kmlns, "description");
1220
- var desc = feature.attributes.description || this.placemarksDesc;
1221
- placemarkDesc.appendChild(this.createTextNode(desc));
1222
-
1223
- // Placemark
1224
- var placemarkNode = this.createElementNS(this.kmlns, "Placemark");
1225
- if(feature.fid != null) {
1226
- placemarkNode.setAttribute("id", feature.fid);
1227
- }
1228
- placemarkNode.appendChild(placemarkName);
1229
- placemarkNode.appendChild(placemarkDesc);
1230
-
1231
- // Geometry node (Point, LineString, etc. nodes)
1232
- var geometryNode = this.buildGeometryNode(feature.geometry);
1233
- placemarkNode.appendChild(geometryNode);
1234
-
1235
- // output attributes as extendedData
1236
- if (feature.attributes) {
1237
- var edNode = this.buildExtendedData(feature.attributes);
1238
- if (edNode) {
1239
- placemarkNode.appendChild(edNode);
1240
- }
1241
- }
1242
-
1243
- return placemarkNode;
1244
- },
1245
-
1246
- /**
1247
- * Method: buildGeometryNode
1248
- * Builds and returns a KML geometry node with the given geometry.
1249
- *
1250
- * Parameters:
1251
- * geometry - {<OpenLayers.Geometry>}
1252
- *
1253
- * Returns:
1254
- * {DOMElement}
1255
- */
1256
- buildGeometryNode: function(geometry) {
1257
- var className = geometry.CLASS_NAME;
1258
- var type = className.substring(className.lastIndexOf(".") + 1);
1259
- var builder = this.buildGeometry[type.toLowerCase()];
1260
- var node = null;
1261
- if(builder) {
1262
- node = builder.apply(this, [geometry]);
1263
- }
1264
- return node;
1265
- },
1266
-
1267
- /**
1268
- * Property: buildGeometry
1269
- * Object containing methods to do the actual geometry node building
1270
- * based on geometry type.
1271
- */
1272
- buildGeometry: {
1273
- // TBD: Anybody care about namespace aliases here (these nodes have
1274
- // no prefixes)?
1275
-
1276
- /**
1277
- * Method: buildGeometry.point
1278
- * Given an OpenLayers point geometry, create a KML point.
1279
- *
1280
- * Parameters:
1281
- * geometry - {<OpenLayers.Geometry.Point>} A point geometry.
1282
- *
1283
- * Returns:
1284
- * {DOMElement} A KML point node.
1285
- */
1286
- point: function(geometry) {
1287
- var kml = this.createElementNS(this.kmlns, "Point");
1288
- kml.appendChild(this.buildCoordinatesNode(geometry));
1289
- return kml;
1290
- },
1291
-
1292
- /**
1293
- * Method: buildGeometry.multipoint
1294
- * Given an OpenLayers multipoint geometry, create a KML
1295
- * GeometryCollection.
1296
- *
1297
- * Parameters:
1298
- * geometry - {<OpenLayers.Geometry.Point>} A multipoint geometry.
1299
- *
1300
- * Returns:
1301
- * {DOMElement} A KML GeometryCollection node.
1302
- */
1303
- multipoint: function(geometry) {
1304
- return this.buildGeometry.collection.apply(this, [geometry]);
1305
- },
1306
-
1307
- /**
1308
- * Method: buildGeometry.linestring
1309
- * Given an OpenLayers linestring geometry, create a KML linestring.
1310
- *
1311
- * Parameters:
1312
- * geometry - {<OpenLayers.Geometry.LineString>} A linestring geometry.
1313
- *
1314
- * Returns:
1315
- * {DOMElement} A KML linestring node.
1316
- */
1317
- linestring: function(geometry) {
1318
- var kml = this.createElementNS(this.kmlns, "LineString");
1319
- kml.appendChild(this.buildCoordinatesNode(geometry));
1320
- return kml;
1321
- },
1322
-
1323
- /**
1324
- * Method: buildGeometry.multilinestring
1325
- * Given an OpenLayers multilinestring geometry, create a KML
1326
- * GeometryCollection.
1327
- *
1328
- * Parameters:
1329
- * geometry - {<OpenLayers.Geometry.Point>} A multilinestring geometry.
1330
- *
1331
- * Returns:
1332
- * {DOMElement} A KML GeometryCollection node.
1333
- */
1334
- multilinestring: function(geometry) {
1335
- return this.buildGeometry.collection.apply(this, [geometry]);
1336
- },
1337
-
1338
- /**
1339
- * Method: buildGeometry.linearring
1340
- * Given an OpenLayers linearring geometry, create a KML linearring.
1341
- *
1342
- * Parameters:
1343
- * geometry - {<OpenLayers.Geometry.LinearRing>} A linearring geometry.
1344
- *
1345
- * Returns:
1346
- * {DOMElement} A KML linearring node.
1347
- */
1348
- linearring: function(geometry) {
1349
- var kml = this.createElementNS(this.kmlns, "LinearRing");
1350
- kml.appendChild(this.buildCoordinatesNode(geometry));
1351
- return kml;
1352
- },
1353
-
1354
- /**
1355
- * Method: buildGeometry.polygon
1356
- * Given an OpenLayers polygon geometry, create a KML polygon.
1357
- *
1358
- * Parameters:
1359
- * geometry - {<OpenLayers.Geometry.Polygon>} A polygon geometry.
1360
- *
1361
- * Returns:
1362
- * {DOMElement} A KML polygon node.
1363
- */
1364
- polygon: function(geometry) {
1365
- var kml = this.createElementNS(this.kmlns, "Polygon");
1366
- var rings = geometry.components;
1367
- var ringMember, ringGeom, type;
1368
- for(var i=0, len=rings.length; i<len; ++i) {
1369
- type = (i==0) ? "outerBoundaryIs" : "innerBoundaryIs";
1370
- ringMember = this.createElementNS(this.kmlns, type);
1371
- ringGeom = this.buildGeometry.linearring.apply(this,
1372
- [rings[i]]);
1373
- ringMember.appendChild(ringGeom);
1374
- kml.appendChild(ringMember);
1375
- }
1376
- return kml;
1377
- },
1378
-
1379
- /**
1380
- * Method: buildGeometry.multipolygon
1381
- * Given an OpenLayers multipolygon geometry, create a KML
1382
- * GeometryCollection.
1383
- *
1384
- * Parameters:
1385
- * geometry - {<OpenLayers.Geometry.Point>} A multipolygon geometry.
1386
- *
1387
- * Returns:
1388
- * {DOMElement} A KML GeometryCollection node.
1389
- */
1390
- multipolygon: function(geometry) {
1391
- return this.buildGeometry.collection.apply(this, [geometry]);
1392
- },
1393
-
1394
- /**
1395
- * Method: buildGeometry.collection
1396
- * Given an OpenLayers geometry collection, create a KML MultiGeometry.
1397
- *
1398
- * Parameters:
1399
- * geometry - {<OpenLayers.Geometry.Collection>} A geometry collection.
1400
- *
1401
- * Returns:
1402
- * {DOMElement} A KML MultiGeometry node.
1403
- */
1404
- collection: function(geometry) {
1405
- var kml = this.createElementNS(this.kmlns, "MultiGeometry");
1406
- var child;
1407
- for(var i=0, len=geometry.components.length; i<len; ++i) {
1408
- child = this.buildGeometryNode.apply(this,
1409
- [geometry.components[i]]);
1410
- if(child) {
1411
- kml.appendChild(child);
1412
- }
1413
- }
1414
- return kml;
1415
- }
1416
- },
1417
-
1418
- /**
1419
- * Method: buildCoordinatesNode
1420
- * Builds and returns the KML coordinates node with the given geometry
1421
- * <coordinates>...</coordinates>
1422
- *
1423
- * Parameters:
1424
- * geometry - {<OpenLayers.Geometry>}
1425
- *
1426
- * Returns:
1427
- * {DOMElement}
1428
- */
1429
- buildCoordinatesNode: function(geometry) {
1430
- var coordinatesNode = this.createElementNS(this.kmlns, "coordinates");
1431
-
1432
- var path;
1433
- var points = geometry.components;
1434
- if(points) {
1435
- // LineString or LinearRing
1436
- var point;
1437
- var numPoints = points.length;
1438
- var parts = new Array(numPoints);
1439
- for(var i=0; i<numPoints; ++i) {
1440
- point = points[i];
1441
- parts[i] = this.buildCoordinates(point);
1442
- }
1443
- path = parts.join(" ");
1444
- } else {
1445
- // Point
1446
- path = this.buildCoordinates(geometry);
1447
- }
1448
-
1449
- var txtNode = this.createTextNode(path);
1450
- coordinatesNode.appendChild(txtNode);
1451
-
1452
- return coordinatesNode;
1453
- },
1454
-
1455
- /**
1456
- * Method: buildCoordinates
1457
- *
1458
- * Parameters:
1459
- * point - {<OpenLayers.Geometry.Point>}
1460
- *
1461
- * Returns
1462
- * {String} a coordinate pair
1463
- */
1464
- buildCoordinates: function(point) {
1465
- if (this.internalProjection && this.externalProjection) {
1466
- point = point.clone();
1467
- point.transform(this.internalProjection,
1468
- this.externalProjection);
1469
- }
1470
- return point.x + "," + point.y;
1471
- },
1472
-
1473
- /**
1474
- * Method: buildExtendedData
1475
- *
1476
- * Parameters:
1477
- * attributes - {Object}
1478
- *
1479
- * Returns
1480
- * {DOMElement} A KML ExtendedData node or {null} if no attributes.
1481
- */
1482
- buildExtendedData: function(attributes) {
1483
- var extendedData = this.createElementNS(this.kmlns, "ExtendedData");
1484
- for (var attributeName in attributes) {
1485
- // empty, name, description, styleUrl attributes ignored
1486
- if (attributes[attributeName] && attributeName != "name" && attributeName != "description" && attributeName != "styleUrl") {
1487
- var data = this.createElementNS(this.kmlns, "Data");
1488
- data.setAttribute("name", attributeName);
1489
- var value = this.createElementNS(this.kmlns, "value");
1490
- if (typeof attributes[attributeName] == "object") {
1491
- // cater for object attributes with 'value' properties
1492
- // other object properties will output an empty node
1493
- if (attributes[attributeName].value) {
1494
- value.appendChild(this.createTextNode(attributes[attributeName].value));
1495
- }
1496
- if (attributes[attributeName].displayName) {
1497
- var displayName = this.createElementNS(this.kmlns, "displayName");
1498
- // displayName always written as CDATA
1499
- displayName.appendChild(this.getXMLDoc().createCDATASection(attributes[attributeName].displayName));
1500
- data.appendChild(displayName);
1501
- }
1502
- } else {
1503
- value.appendChild(this.createTextNode(attributes[attributeName]));
1504
- }
1505
- data.appendChild(value);
1506
- extendedData.appendChild(data);
1507
- }
1508
- }
1509
- if (this.isSimpleContent(extendedData)) {
1510
- return null;
1511
- } else {
1512
- return extendedData;
1513
- }
1514
- },
1515
-
1516
- CLASS_NAME: "OpenLayers.Format.KML"
1517
- });