leaflet-js 0.7.9 → 0.8.dev2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (341) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +0 -10
  3. data/Rakefile +3 -3
  4. data/leaflet-js.gemspec +7 -13
  5. data/lib/leaflet-js.rb +10 -2
  6. data/lib/leaflet.draw/BREAKINGCHANGES.md +54 -0
  7. data/lib/leaflet.draw/CHANGELOG.md +130 -0
  8. data/lib/leaflet.draw/Jakefile.js +48 -0
  9. data/lib/leaflet.draw/MIT-LICENCE.txt +20 -0
  10. data/lib/leaflet.draw/README.md +427 -0
  11. data/lib/leaflet.draw/TODO.md +62 -0
  12. data/lib/leaflet.draw/build/build.html +243 -0
  13. data/lib/leaflet.draw/build/build.js +187 -0
  14. data/lib/leaflet.draw/build/deps.js +76 -0
  15. data/lib/leaflet.draw/build/hintrc.js +39 -0
  16. data/lib/leaflet.draw/build/leaflet.draw-include.js +42 -0
  17. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/dist/images/spritesheet-2x.png +0 -0
  18. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/dist/images/spritesheet.png +0 -0
  19. data/lib/leaflet.draw/dist/leaflet.draw-src.js +2872 -0
  20. data/lib/leaflet.draw/dist/leaflet.draw.css +295 -0
  21. data/lib/leaflet.draw/dist/leaflet.draw.js +10 -0
  22. data/lib/leaflet.draw/examples/basic.html +113 -0
  23. data/lib/leaflet.draw/examples/edithandlers.html +66 -0
  24. data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/layers-2x.png +0 -0
  25. data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/layers.png +0 -0
  26. data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-icon-2x.png +0 -0
  27. data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-icon.png +0 -0
  28. data/lib/leaflet.draw/examples/libs/images/marker-icon@2x.png +0 -0
  29. data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-shadow.png +0 -0
  30. data/lib/leaflet.draw/examples/libs/leaflet-src.js +9191 -0
  31. data/{vendor/assets/leaflet.css.erb → lib/leaflet.draw/examples/libs/leaflet.css} +2 -2
  32. data/lib/leaflet.draw/package.json +40 -0
  33. data/lib/leaflet.draw/spec/after.js +2 -0
  34. data/lib/leaflet.draw/spec/before.js +3 -0
  35. data/lib/leaflet.draw/spec/expect.js +1253 -0
  36. data/lib/leaflet.draw/spec/happen.js +93 -0
  37. data/lib/leaflet.draw/spec/index.html +38 -0
  38. data/lib/leaflet.draw/spec/karma.conf.js +72 -0
  39. data/lib/leaflet.draw/spec/sinon.js +4223 -0
  40. data/lib/leaflet.draw/spec/spec.hintrc.js +25 -0
  41. data/lib/leaflet.draw/spec/suites/DrawControlSpec.js +14 -0
  42. data/lib/leaflet.draw/spec/suites/GeometryUtilSpec.js +25 -0
  43. data/lib/leaflet.draw/spec/suites/LatLngUtilSpec.js +11 -0
  44. data/lib/leaflet.draw/spec/suites/SpecHelper.js +28 -0
  45. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Control.Draw.js +9 -9
  46. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Leaflet.draw.js +1 -2
  47. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Toolbar.js +0 -0
  48. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Tooltip.js +0 -0
  49. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/copyright.js +0 -0
  50. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/DrawToolbar.js +0 -4
  51. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Circle.js +1 -1
  52. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Feature.js +2 -2
  53. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Marker.js +0 -0
  54. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Polygon.js +0 -0
  55. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Polyline.js +0 -0
  56. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Rectangle.js +1 -19
  57. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.SimpleShape.js +1 -7
  58. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/EditToolbar.js +2 -9
  59. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Circle.js +0 -0
  60. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Poly.js +2 -14
  61. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Rectangle.js +0 -0
  62. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.SimpleShape.js +3 -11
  63. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/EditToolbar.Delete.js +1 -4
  64. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/EditToolbar.Edit.js +83 -17
  65. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/GeometryUtil.js +1 -1
  66. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/LatLngUtil.js +0 -0
  67. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/LineUtil.Intersect.js +0 -0
  68. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/Polygon.Intersect.js +0 -0
  69. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/Polyline.Intersect.js +0 -0
  70. data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/images/spritesheet.svg +0 -0
  71. data/lib/leaflet.label/CHANGELOG.md +67 -0
  72. data/lib/leaflet.label/Jakefile.js +21 -0
  73. data/lib/leaflet.label/MIT-LICENCE.txt +20 -0
  74. data/lib/leaflet.label/README.md +103 -0
  75. data/lib/leaflet.label/build/build.js +155 -0
  76. data/lib/leaflet.label/build/deps.js +26 -0
  77. data/lib/leaflet.label/build/hint.js +30 -0
  78. data/lib/leaflet.label/build/hintrc.js +51 -0
  79. data/lib/leaflet.label/dist/images/death.png +0 -0
  80. data/lib/leaflet.label/dist/leaflet.label-src.js +542 -0
  81. data/{vendor/assets → lib/leaflet.label/dist}/leaflet.label.css +0 -0
  82. data/lib/leaflet.label/dist/leaflet.label.js +9 -0
  83. data/lib/leaflet.label/example/label.html +85 -0
  84. data/lib/leaflet.label/libs/leaflet/images/layers-2x.png +0 -0
  85. data/lib/leaflet.label/libs/leaflet/images/layers.png +0 -0
  86. data/lib/leaflet.label/libs/leaflet/images/marker-icon-2x.png +0 -0
  87. data/lib/leaflet.label/libs/leaflet/images/marker-icon.png +0 -0
  88. data/lib/leaflet.label/libs/leaflet/images/marker-icon@2x.png +0 -0
  89. data/lib/leaflet.label/libs/leaflet/images/marker-shadow.png +0 -0
  90. data/lib/leaflet.label/libs/leaflet/leaflet-src.js +9108 -0
  91. data/lib/leaflet.label/libs/leaflet/leaflet.css +478 -0
  92. data/lib/leaflet.label/libs/leaflet/leaflet.js +9 -0
  93. data/lib/leaflet.label/package.json +19 -0
  94. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/BaseMarkerMethods.js +0 -0
  95. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/CircleMarker.Label.js +0 -0
  96. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/FeatureGroup.Label.js +0 -0
  97. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Label.js +2 -5
  98. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Leaflet.label.js +1 -1
  99. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Map.Label.js +0 -0
  100. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Marker.Label.js +0 -0
  101. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Path.Label.js +0 -0
  102. data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/copyright.js +0 -0
  103. data/lib/leaflet/CHANGELOG.md +1007 -0
  104. data/lib/leaflet/CONTRIBUTING.md +155 -0
  105. data/lib/leaflet/FAQ.md +138 -0
  106. data/lib/leaflet/Jakefile.js +56 -0
  107. data/lib/leaflet/LICENSE +23 -0
  108. data/lib/leaflet/PLUGIN-GUIDE.md +127 -0
  109. data/lib/leaflet/README.md +34 -0
  110. data/lib/leaflet/build/build.html +227 -0
  111. data/lib/leaflet/build/build.js +190 -0
  112. data/lib/leaflet/build/deps.js +258 -0
  113. data/lib/leaflet/build/hintrc.js +40 -0
  114. data/lib/leaflet/debug/css/mobile.css +6 -0
  115. data/lib/leaflet/debug/css/screen.css +5 -0
  116. data/lib/leaflet/debug/hacks/jitter.html +42 -0
  117. data/lib/leaflet/debug/leaflet-include.js +59 -0
  118. data/lib/leaflet/debug/map/canvas.html +49 -0
  119. data/lib/leaflet/debug/map/controls.html +49 -0
  120. data/lib/leaflet/debug/map/geolocation.html +34 -0
  121. data/lib/leaflet/debug/map/grid.html +45 -0
  122. data/lib/leaflet/debug/map/iframe.html +11 -0
  123. data/lib/leaflet/debug/map/image-overlay.html +43 -0
  124. data/lib/leaflet/debug/map/map-mobile.html +34 -0
  125. data/lib/leaflet/debug/map/map.html +61 -0
  126. data/lib/leaflet/debug/map/max-bounds.html +38 -0
  127. data/lib/leaflet/debug/map/opacity.html +223 -0
  128. data/lib/leaflet/debug/map/scroll.html +41 -0
  129. data/lib/leaflet/debug/map/simple-proj.html +59 -0
  130. data/lib/leaflet/debug/map/wms-marble.html +30 -0
  131. data/lib/leaflet/debug/map/wms.html +40 -0
  132. data/lib/leaflet/debug/map/zoomlevels.html +45 -0
  133. data/lib/leaflet/debug/tests/add_remove_layers.html +87 -0
  134. data/lib/leaflet/debug/tests/bringtoback.html +37 -0
  135. data/lib/leaflet/debug/tests/canvasloop.html +47 -0
  136. data/lib/leaflet/debug/tests/click_on_canvas.html +58 -0
  137. data/lib/leaflet/debug/tests/click_on_canvas_broken.html +49 -0
  138. data/lib/leaflet/debug/tests/dragging_and_copyworldjump.html +61 -0
  139. data/lib/leaflet/debug/tests/opacity.html +56 -0
  140. data/lib/leaflet/debug/tests/popupcontextmenuclicks.html +59 -0
  141. data/lib/leaflet/debug/tests/remove_while_dragging.html +28 -0
  142. data/lib/leaflet/debug/tests/removetilewhilepan.html +41 -0
  143. data/lib/leaflet/debug/tests/reuse_popups.html +40 -0
  144. data/lib/leaflet/debug/tests/rtl.html +42 -0
  145. data/lib/leaflet/debug/tests/rtl2.html +27 -0
  146. data/lib/leaflet/debug/tests/set_icon_reuse_dom.html +43 -0
  147. data/lib/leaflet/debug/tests/svg_clicks.html +54 -0
  148. data/lib/leaflet/debug/vector/bounds-extend.html +88 -0
  149. data/lib/leaflet/debug/vector/feature-group-bounds.html +90 -0
  150. data/lib/leaflet/debug/vector/geojson-sample.js +53 -0
  151. data/lib/leaflet/debug/vector/geojson.html +173 -0
  152. data/lib/leaflet/debug/vector/rectangle.html +53 -0
  153. data/lib/leaflet/debug/vector/route.js +1 -0
  154. data/lib/leaflet/debug/vector/touchzoomemu.html +194 -0
  155. data/lib/leaflet/debug/vector/us-states.js +54 -0
  156. data/lib/leaflet/debug/vector/vector-bounds.html +69 -0
  157. data/lib/leaflet/debug/vector/vector-canvas.html +92 -0
  158. data/lib/leaflet/debug/vector/vector-mobile.html +38 -0
  159. data/lib/leaflet/debug/vector/vector-simple.html +47 -0
  160. data/lib/leaflet/debug/vector/vector.html +37 -0
  161. data/lib/leaflet/debug/vector/vector2.html +58 -0
  162. data/lib/leaflet/dist/images/layers-2x.png +0 -0
  163. data/lib/leaflet/dist/images/layers.png +0 -0
  164. data/lib/leaflet/dist/images/marker-icon-2x.png +0 -0
  165. data/lib/leaflet/dist/images/marker-icon.png +0 -0
  166. data/lib/leaflet/dist/images/marker-shadow.png +0 -0
  167. data/lib/leaflet/dist/leaflet.css +494 -0
  168. data/lib/leaflet/package.json +28 -0
  169. data/lib/leaflet/spec/after.js +2 -0
  170. data/lib/leaflet/spec/expect.js +1253 -0
  171. data/lib/leaflet/spec/index.html +87 -0
  172. data/lib/leaflet/spec/karma.conf.js +68 -0
  173. data/lib/leaflet/spec/sinon.js +4223 -0
  174. data/lib/leaflet/spec/spec.hintrc.js +25 -0
  175. data/lib/leaflet/spec/suites/SpecHelper.js +42 -0
  176. data/lib/leaflet/spec/suites/control/Control.AttributionSpec.js +68 -0
  177. data/lib/leaflet/spec/suites/control/Control.LayersSpec.js +67 -0
  178. data/lib/leaflet/spec/suites/control/Control.ScaleSpec.js +6 -0
  179. data/lib/leaflet/spec/suites/core/ClassSpec.js +166 -0
  180. data/lib/leaflet/spec/suites/core/EventsSpec.js +416 -0
  181. data/lib/leaflet/spec/suites/core/UtilSpec.js +237 -0
  182. data/lib/leaflet/spec/suites/dom/DomEventSpec.js +102 -0
  183. data/lib/leaflet/spec/suites/dom/DomUtilSpec.js +59 -0
  184. data/lib/leaflet/spec/suites/dom/PosAnimationSpec.js +27 -0
  185. data/lib/leaflet/spec/suites/geo/CRSSpec.js +151 -0
  186. data/lib/leaflet/spec/suites/geo/LatLngBoundsSpec.js +144 -0
  187. data/lib/leaflet/spec/suites/geo/LatLngSpec.js +102 -0
  188. data/lib/leaflet/spec/suites/geo/ProjectionSpec.js +96 -0
  189. data/lib/leaflet/spec/suites/geometry/BoundsSpec.js +87 -0
  190. data/lib/leaflet/spec/suites/geometry/LineUtilSpec.js +75 -0
  191. data/lib/leaflet/spec/suites/geometry/PointSpec.js +104 -0
  192. data/lib/leaflet/spec/suites/geometry/PolyUtilSpec.js +27 -0
  193. data/lib/leaflet/spec/suites/geometry/TransformationSpec.js +31 -0
  194. data/lib/leaflet/spec/suites/layer/FeatureGroupSpec.js +86 -0
  195. data/lib/leaflet/spec/suites/layer/GeoJSONSpec.js +282 -0
  196. data/lib/leaflet/spec/suites/layer/LayerGroupSpec.js +71 -0
  197. data/lib/leaflet/spec/suites/layer/PopupSpec.js +119 -0
  198. data/lib/leaflet/spec/suites/layer/marker/MarkerSpec.js +117 -0
  199. data/lib/leaflet/spec/suites/layer/tile/GridLayerSpec.js +70 -0
  200. data/lib/leaflet/spec/suites/layer/tile/TileLayerSpec.js +88 -0
  201. data/lib/leaflet/spec/suites/layer/vector/CircleMarkerSpec.js +53 -0
  202. data/lib/leaflet/spec/suites/layer/vector/CircleSpec.js +18 -0
  203. data/lib/leaflet/spec/suites/layer/vector/PolygonSpec.js +96 -0
  204. data/lib/leaflet/spec/suites/layer/vector/PolylineGeometrySpec.js +35 -0
  205. data/lib/leaflet/spec/suites/layer/vector/PolylineSpec.js +55 -0
  206. data/lib/leaflet/spec/suites/map/MapSpec.js +553 -0
  207. data/lib/leaflet/spec/suites/map/handler/Map.DragSpec.js +38 -0
  208. data/{vendor/assets/Leaflet → lib/leaflet}/src/Leaflet.js +16 -11
  209. data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Attribution.js +1 -23
  210. data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Layers.js +42 -57
  211. data/lib/leaflet/src/control/Control.Scale.js +102 -0
  212. data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Zoom.js +11 -18
  213. data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.js +7 -9
  214. data/lib/leaflet/src/copyright.js +4 -0
  215. data/lib/leaflet/src/core/Browser.js +65 -0
  216. data/{vendor/assets/Leaflet → lib/leaflet}/src/core/Class.js +8 -13
  217. data/lib/leaflet/src/core/Events.js +226 -0
  218. data/{vendor/assets/Leaflet → lib/leaflet}/src/core/Handler.js +0 -0
  219. data/lib/leaflet/src/core/Util.js +196 -0
  220. data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/DomEvent.DoubleTap.js +20 -27
  221. data/lib/leaflet/src/dom/DomEvent.Pointer.js +107 -0
  222. data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/DomEvent.js +70 -59
  223. data/lib/leaflet/src/dom/DomUtil.js +213 -0
  224. data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/Draggable.js +10 -19
  225. data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/PosAnimation.Timer.js +0 -0
  226. data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/PosAnimation.js +4 -3
  227. data/lib/leaflet/src/geo/LatLng.js +67 -0
  228. data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/LatLngBounds.js +0 -0
  229. data/lib/leaflet/src/geo/crs/CRS.EPSG3395.js +13 -0
  230. data/lib/leaflet/src/geo/crs/CRS.EPSG3857.js +17 -0
  231. data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/crs/CRS.EPSG4326.js +2 -3
  232. data/lib/leaflet/src/geo/crs/CRS.Earth.js +19 -0
  233. data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/crs/CRS.Simple.js +10 -1
  234. data/lib/leaflet/src/geo/crs/CRS.js +63 -0
  235. data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/projection/Projection.LonLat.js +5 -1
  236. data/lib/leaflet/src/geo/projection/Projection.Mercator.js +43 -0
  237. data/lib/leaflet/src/geo/projection/Projection.SphericalMercator.js +31 -0
  238. data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Bounds.js +0 -0
  239. data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/LineUtil.js +16 -5
  240. data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Point.js +10 -0
  241. data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/PolyUtil.js +0 -0
  242. data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Transformation.js +0 -0
  243. data/{vendor/assets/Leaflet → lib/leaflet}/src/images/layers.svg +0 -0
  244. data/lib/leaflet/src/images/logo.svg +85 -0
  245. data/{vendor/assets/Leaflet → lib/leaflet}/src/images/marker.svg +0 -0
  246. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/FeatureGroup.js +3 -20
  247. data/lib/leaflet/src/layer/GeoJSON.js +275 -0
  248. data/lib/leaflet/src/layer/ImageOverlay.js +123 -0
  249. data/lib/leaflet/src/layer/Layer.Popup.js +87 -0
  250. data/lib/leaflet/src/layer/Layer.js +150 -0
  251. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/LayerGroup.js +12 -14
  252. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/Popup.js +65 -83
  253. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/DivIcon.js +3 -8
  254. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Icon.Default.js +6 -12
  255. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Icon.js +8 -25
  256. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Marker.Drag.js +13 -11
  257. data/lib/leaflet/src/layer/marker/Marker.Popup.js +16 -0
  258. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Marker.js +52 -103
  259. data/lib/leaflet/src/layer/tile/GridLayer.js +536 -0
  260. data/lib/leaflet/src/layer/tile/TileLayer.WMS.js +79 -0
  261. data/lib/leaflet/src/layer/tile/TileLayer.js +148 -0
  262. data/lib/leaflet/src/layer/vector/Canvas.js +292 -0
  263. data/lib/leaflet/src/layer/vector/Circle.js +67 -0
  264. data/lib/leaflet/src/layer/vector/CircleMarker.js +72 -0
  265. data/lib/leaflet/src/layer/vector/Path.js +79 -0
  266. data/lib/leaflet/src/layer/vector/Polygon.js +75 -0
  267. data/lib/leaflet/src/layer/vector/Polyline.js +223 -0
  268. data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/vector/Rectangle.js +27 -27
  269. data/lib/leaflet/src/layer/vector/Renderer.js +75 -0
  270. data/lib/leaflet/src/layer/vector/SVG.VML.js +134 -0
  271. data/lib/leaflet/src/layer/vector/SVG.js +189 -0
  272. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/Map.js +83 -199
  273. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/anim/Map.PanAnimation.js +0 -0
  274. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/anim/Map.ZoomAnimation.js +30 -38
  275. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/ext/Map.Geolocation.js +8 -8
  276. data/lib/leaflet/src/map/handler/Map.BoxZoom.js +105 -0
  277. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.DoubleClickZoom.js +0 -0
  278. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Drag.js +12 -10
  279. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Keyboard.js +19 -17
  280. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.ScrollWheelZoom.js +10 -6
  281. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Tap.js +8 -6
  282. data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.TouchZoom.js +16 -32
  283. data/vendor/assets/images/layers-2x.png +0 -0
  284. data/vendor/assets/images/layers.png +0 -0
  285. data/vendor/assets/images/marker-icon-2x.png +0 -0
  286. data/vendor/assets/images/marker-icon.png +0 -0
  287. data/vendor/assets/images/marker-shadow.png +0 -0
  288. data/vendor/assets/images/spritesheet-2x.png +0 -0
  289. data/vendor/assets/images/spritesheet.png +0 -0
  290. data/vendor/assets/{leaflet-js.js → javascripts/leaflet-js.js} +2 -2
  291. data/vendor/assets/javascripts/leaflet.draw.js +37 -0
  292. data/vendor/assets/javascripts/leaflet.js +149 -0
  293. data/vendor/assets/javascripts/leaflet.label.js +11 -0
  294. data/vendor/assets/{leaflet-js.css → stylesheets/leaflet-js.css} +0 -0
  295. data/vendor/assets/stylesheets/leaflet.css.erb +478 -0
  296. data/vendor/assets/{leaflet.draw.css.erb → stylesheets/leaflet.draw.css.erb} +2 -2
  297. data/vendor/assets/{leaflet.draw.ie.css → stylesheets/leaflet.draw.ie.css} +0 -0
  298. data/vendor/assets/stylesheets/leaflet.label.css +52 -0
  299. metadata +298 -137
  300. data/lib/leaflet-js/engine.rb +0 -7
  301. data/lib/leaflet-js/version.rb +0 -3
  302. data/vendor/assets/Leaflet.draw/src/edit/handler/Edit.Marker.js +0 -75
  303. data/vendor/assets/Leaflet/src/control/Control.Scale.js +0 -112
  304. data/vendor/assets/Leaflet/src/copyright.js +0 -5
  305. data/vendor/assets/Leaflet/src/core/Browser.js +0 -66
  306. data/vendor/assets/Leaflet/src/core/Events.js +0 -178
  307. data/vendor/assets/Leaflet/src/core/Util.js +0 -182
  308. data/vendor/assets/Leaflet/src/dom/DomEvent.Pointer.js +0 -156
  309. data/vendor/assets/Leaflet/src/dom/DomUtil.js +0 -289
  310. data/vendor/assets/Leaflet/src/geo/LatLng.js +0 -99
  311. data/vendor/assets/Leaflet/src/geo/crs/CRS.EPSG3395.js +0 -14
  312. data/vendor/assets/Leaflet/src/geo/crs/CRS.EPSG3857.js +0 -21
  313. data/vendor/assets/Leaflet/src/geo/crs/CRS.js +0 -32
  314. data/vendor/assets/Leaflet/src/geo/projection/Projection.Mercator.js +0 -56
  315. data/vendor/assets/Leaflet/src/geo/projection/Projection.SphericalMercator.js +0 -27
  316. data/vendor/assets/Leaflet/src/geo/projection/Projection.js +0 -5
  317. data/vendor/assets/Leaflet/src/layer/GeoJSON.js +0 -286
  318. data/vendor/assets/Leaflet/src/layer/ImageOverlay.js +0 -141
  319. data/vendor/assets/Leaflet/src/layer/marker/Marker.Popup.js +0 -90
  320. data/vendor/assets/Leaflet/src/layer/tile/TileLayer.Anim.js +0 -110
  321. data/vendor/assets/Leaflet/src/layer/tile/TileLayer.Canvas.js +0 -61
  322. data/vendor/assets/Leaflet/src/layer/tile/TileLayer.WMS.js +0 -87
  323. data/vendor/assets/Leaflet/src/layer/tile/TileLayer.js +0 -597
  324. data/vendor/assets/Leaflet/src/layer/vector/Circle.js +0 -98
  325. data/vendor/assets/Leaflet/src/layer/vector/CircleMarker.js +0 -45
  326. data/vendor/assets/Leaflet/src/layer/vector/MultiPoly.js +0 -57
  327. data/vendor/assets/Leaflet/src/layer/vector/Path.Popup.js +0 -65
  328. data/vendor/assets/Leaflet/src/layer/vector/Path.SVG.js +0 -230
  329. data/vendor/assets/Leaflet/src/layer/vector/Path.VML.js +0 -135
  330. data/vendor/assets/Leaflet/src/layer/vector/Path.js +0 -119
  331. data/vendor/assets/Leaflet/src/layer/vector/Polygon.js +0 -92
  332. data/vendor/assets/Leaflet/src/layer/vector/Polyline.js +0 -164
  333. data/vendor/assets/Leaflet/src/layer/vector/canvas/Circle.Canvas.js +0 -18
  334. data/vendor/assets/Leaflet/src/layer/vector/canvas/CircleMarker.Canvas.js +0 -9
  335. data/vendor/assets/Leaflet/src/layer/vector/canvas/Path.Canvas.js +0 -204
  336. data/vendor/assets/Leaflet/src/layer/vector/canvas/Polygon.Canvas.js +0 -37
  337. data/vendor/assets/Leaflet/src/layer/vector/canvas/Polyline.Canvas.js +0 -30
  338. data/vendor/assets/Leaflet/src/map/handler/Map.BoxZoom.js +0 -118
  339. data/vendor/assets/leaflet.draw.js +0 -38
  340. data/vendor/assets/leaflet.js +0 -155
  341. data/vendor/assets/leaflet.label.js +0 -11
@@ -0,0 +1,79 @@
1
+ /*
2
+ * L.TileLayer.WMS is used for WMS tile layers.
3
+ */
4
+
5
+ L.TileLayer.WMS = L.TileLayer.extend({
6
+
7
+ defaultWmsParams: {
8
+ service: 'WMS',
9
+ request: 'GetMap',
10
+ version: '1.1.1',
11
+ layers: '',
12
+ styles: '',
13
+ format: 'image/jpeg',
14
+ transparent: false
15
+ },
16
+
17
+ initialize: function (url, options) {
18
+
19
+ this._url = url;
20
+
21
+ var wmsParams = L.extend({}, this.defaultWmsParams);
22
+
23
+ // all keys that are not TileLayer options go to WMS params
24
+ for (var i in options) {
25
+ if (!this.options.hasOwnProperty(i) && i !== 'crs') {
26
+ wmsParams[i] = options[i];
27
+ }
28
+ }
29
+
30
+ options = L.setOptions(this, options);
31
+
32
+ wmsParams.width = wmsParams.height =
33
+ options.tileSize * (options.detectRetina && L.Browser.retina ? 2 : 1);
34
+
35
+ this.wmsParams = wmsParams;
36
+ },
37
+
38
+ onAdd: function (map) {
39
+
40
+ this._crs = this.options.crs || map.options.crs;
41
+
42
+ this._wmsVersion = parseFloat(this.wmsParams.version);
43
+
44
+ var projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs';
45
+ this.wmsParams[projectionKey] = this._crs.code;
46
+
47
+ L.TileLayer.prototype.onAdd.call(this, map);
48
+ },
49
+
50
+ getTileUrl: function (coords) {
51
+
52
+ var tileBounds = this._tileCoordsToBounds(coords),
53
+ nw = this._crs.project(tileBounds.getNorthWest()),
54
+ se = this._crs.project(tileBounds.getSouthEast()),
55
+
56
+ bbox = (this._wmsVersion >= 1.3 && this._crs === L.CRS.EPSG4326 ?
57
+ [se.y, nw.x, nw.y, se.x] :
58
+ [nw.x, se.y, se.x, nw.y]).join(','),
59
+
60
+ url = L.Util.template(this._url, {s: this._getSubdomain(coords)});
61
+
62
+ return url + L.Util.getParamString(this.wmsParams, url, true) + '&BBOX=' + bbox;
63
+ },
64
+
65
+ setParams: function (params, noRedraw) {
66
+
67
+ L.extend(this.wmsParams, params);
68
+
69
+ if (!noRedraw) {
70
+ this.redraw();
71
+ }
72
+
73
+ return this;
74
+ }
75
+ });
76
+
77
+ L.tileLayer.wms = function (url, options) {
78
+ return new L.TileLayer.WMS(url, options);
79
+ };
@@ -0,0 +1,148 @@
1
+ /*
2
+ * L.TileLayer is used for standard xyz-numbered tile layers.
3
+ */
4
+
5
+ L.TileLayer = L.GridLayer.extend({
6
+
7
+ options: {
8
+ minZoom: 0,
9
+ maxZoom: 18,
10
+
11
+ subdomains: 'abc',
12
+ // errorTileUrl: '',
13
+ zoomOffset: 0
14
+
15
+ /*
16
+ maxNativeZoom: <Number>,
17
+ tms: <Boolean>,
18
+ zoomReverse: <Number>,
19
+ detectRetina: <Number>,
20
+ */
21
+ },
22
+
23
+ initialize: function (url, options) {
24
+
25
+ this._url = url;
26
+
27
+ options = L.setOptions(this, options);
28
+
29
+ // detecting retina displays, adjusting tileSize and zoom levels
30
+ if (options.detectRetina && L.Browser.retina && options.maxZoom > 0) {
31
+
32
+ options.tileSize = Math.floor(options.tileSize / 2);
33
+ options.zoomOffset++;
34
+
35
+ options.minZoom = Math.max(0, options.minZoom);
36
+ options.maxZoom--;
37
+ }
38
+
39
+ if (typeof options.subdomains === 'string') {
40
+ options.subdomains = options.subdomains.split('');
41
+ }
42
+ },
43
+
44
+ setUrl: function (url, noRedraw) {
45
+ this._url = url;
46
+
47
+ if (!noRedraw) {
48
+ this.redraw();
49
+ }
50
+ return this;
51
+ },
52
+
53
+ createTile: function (coords, done) {
54
+ var tile = document.createElement('img');
55
+
56
+ tile.onload = L.bind(this._tileOnLoad, this, done, tile);
57
+ tile.onerror = L.bind(this._tileOnError, this, done, tile);
58
+
59
+ tile.src = this.getTileUrl(coords);
60
+
61
+ return tile;
62
+ },
63
+
64
+ getTileUrl: function (coords) {
65
+ return L.Util.template(this._url, L.extend({
66
+ r: this.options.detectRetina && L.Browser.retina && this.options.maxZoom > 0 ? '@2x' : '',
67
+ s: this._getSubdomain(coords),
68
+ x: coords.x,
69
+ y: this.options.tms ? this._tileNumBounds.max.y - coords.y : coords.y,
70
+ z: this._getZoomForUrl()
71
+ }, this.options));
72
+ },
73
+
74
+ _tileOnLoad: function (done, tile) {
75
+ done(null, tile);
76
+ },
77
+
78
+ _tileOnError: function (done, tile, e) {
79
+ var errorUrl = this.options.errorTileUrl;
80
+ if (errorUrl) {
81
+ tile.src = errorUrl;
82
+ }
83
+ done(e, tile);
84
+ },
85
+
86
+ _getTileSize: function () {
87
+ var map = this._map,
88
+ options = this.options,
89
+ zoom = map.getZoom() + options.zoomOffset,
90
+ zoomN = options.maxNativeZoom;
91
+
92
+ // increase tile size when overscaling
93
+ return zoomN && zoom > zoomN ?
94
+ Math.round(map.getZoomScale(zoom) / map.getZoomScale(zoomN) * options.tileSize) :
95
+ options.tileSize;
96
+ },
97
+
98
+ _removeTile: function (key) {
99
+ var tile = this._tiles[key];
100
+
101
+ L.GridLayer.prototype._removeTile.call(this, key);
102
+
103
+ // for https://github.com/Leaflet/Leaflet/issues/137
104
+ if (!L.Browser.android) {
105
+ tile.onload = null;
106
+ tile.src = L.Util.emptyImageUrl;
107
+ }
108
+ },
109
+
110
+ _getZoomForUrl: function () {
111
+
112
+ var options = this.options,
113
+ zoom = this._map.getZoom();
114
+
115
+ if (options.zoomReverse) {
116
+ zoom = options.maxZoom - zoom;
117
+ }
118
+
119
+ zoom += options.zoomOffset;
120
+
121
+ return options.maxNativeZoom ? Math.min(zoom, options.maxNativeZoom) : zoom;
122
+ },
123
+
124
+ _getSubdomain: function (tilePoint) {
125
+ var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
126
+ return this.options.subdomains[index];
127
+ },
128
+
129
+ // stops loading all tiles in the background layer
130
+ _abortLoading: function () {
131
+ var i, tile;
132
+ for (i in this._tiles) {
133
+ tile = this._tiles[i];
134
+
135
+ if (!tile.complete) {
136
+ tile.onload = L.Util.falseFn;
137
+ tile.onerror = L.Util.falseFn;
138
+ tile.src = L.Util.emptyImageUrl;
139
+
140
+ L.DomUtil.remove(tile);
141
+ }
142
+ }
143
+ }
144
+ });
145
+
146
+ L.tileLayer = function (url, options) {
147
+ return new L.TileLayer(url, options);
148
+ };
@@ -0,0 +1,292 @@
1
+ /*
2
+ * L.Canvas handles Canvas vector layers rendering and mouse events handling. All Canvas-specific code goes here.
3
+ */
4
+
5
+ L.Canvas = L.Renderer.extend({
6
+
7
+ onAdd: function () {
8
+ L.Renderer.prototype.onAdd.call(this);
9
+
10
+ this._layers = this._layers || {};
11
+
12
+ // redraw vectors since canvas is cleared upon removal
13
+ this._draw();
14
+ },
15
+
16
+ _initContainer: function () {
17
+ var container = this._container = document.createElement('canvas');
18
+
19
+ L.DomEvent
20
+ .on(container, 'mousemove', this._onMouseMove, this)
21
+ .on(container, 'click dblclick mousedown mouseup contextmenu', this._onClick, this);
22
+
23
+ this._ctx = container.getContext('2d');
24
+ },
25
+
26
+ _update: function () {
27
+ if (this._map._animatingZoom) { return; }
28
+
29
+ L.Renderer.prototype._update.call(this);
30
+
31
+ var b = this._bounds,
32
+ container = this._container,
33
+ size = b.getSize(),
34
+ m = L.Browser.retina ? 2 : 1;
35
+
36
+ L.DomUtil.setPosition(container, b.min);
37
+
38
+ // set canvas size (also clearing it); use double size on retina
39
+ container.width = m * size.x;
40
+ container.height = m * size.y;
41
+ container.style.width = size.x + 'px';
42
+ container.style.height = size.y + 'px';
43
+
44
+ if (L.Browser.retina) {
45
+ this._ctx.scale(2, 2);
46
+ }
47
+
48
+ // translate so we use the same path coordinates after canvas element moves
49
+ this._ctx.translate(-b.min.x, -b.min.y);
50
+ },
51
+
52
+ _initPath: function (layer) {
53
+ this._layers[L.stamp(layer)] = layer;
54
+ },
55
+
56
+ _addPath: L.Util.falseFn,
57
+
58
+ _removePath: function (layer) {
59
+ layer._removed = true;
60
+ this._requestRedraw(layer);
61
+ },
62
+
63
+ _updatePath: function (layer) {
64
+ this._redrawBounds = layer._pxBounds;
65
+ this._draw(true);
66
+ layer._project();
67
+ this._draw();
68
+ this._redrawBounds = null;
69
+ },
70
+
71
+ _updateStyle: function (layer) {
72
+ this._requestRedraw(layer);
73
+ },
74
+
75
+ _requestRedraw: function (layer) {
76
+ if (!this._map) { return; }
77
+
78
+ this._redrawBounds = this._redrawBounds || new L.Bounds();
79
+ this._redrawBounds.extend(layer._pxBounds.min).extend(layer._pxBounds.max);
80
+
81
+ this._redrawRequest = this._redrawRequest || L.Util.requestAnimFrame(this._redraw, this);
82
+ },
83
+
84
+ _redraw: function () {
85
+ this._redrawRequest = null;
86
+
87
+ this._draw(true); // clear layers in redraw bounds
88
+ this._draw(); // draw layers
89
+
90
+ this._redrawBounds = null;
91
+ },
92
+
93
+ _draw: function (clear) {
94
+ this._clear = clear;
95
+ var layer;
96
+
97
+ for (var id in this._layers) {
98
+ layer = this._layers[id];
99
+ if (!this._redrawBounds || layer._pxBounds.intersects(this._redrawBounds)) {
100
+ layer._updatePath();
101
+ }
102
+ if (clear && layer._removed) {
103
+ delete layer._removed;
104
+ delete this._layers[id];
105
+ }
106
+ }
107
+ },
108
+
109
+ _updatePoly: function (layer, closed) {
110
+
111
+ var i, j, len2, p,
112
+ parts = layer._parts,
113
+ len = parts.length,
114
+ ctx = this._ctx;
115
+
116
+ if (!len) { return; }
117
+
118
+ ctx.beginPath();
119
+
120
+ for (i = 0; i < len; i++) {
121
+ for (j = 0, len2 = parts[i].length; j < len2; j++) {
122
+ p = parts[i][j];
123
+ ctx[j ? 'lineTo' : 'moveTo'](p.x, p.y);
124
+ }
125
+ if (closed) {
126
+ ctx.closePath();
127
+ }
128
+ }
129
+
130
+ this._fillStroke(ctx, layer);
131
+
132
+ // TODO optimization: 1 fill/stroke for all features with equal style instead of 1 for each feature
133
+ },
134
+
135
+ _updateCircle: function (layer) {
136
+
137
+ if (layer._empty()) { return; }
138
+
139
+ var p = layer._point,
140
+ ctx = this._ctx,
141
+ r = layer._radius,
142
+ s = (layer._radiusY || r) / r;
143
+
144
+ if (s !== 1) {
145
+ ctx.save();
146
+ ctx.scale(1, s);
147
+ }
148
+
149
+ ctx.beginPath();
150
+ ctx.arc(p.x, p.y / s, r, 0, Math.PI * 2, false);
151
+
152
+ if (s !== 1) {
153
+ ctx.restore();
154
+ }
155
+
156
+ this._fillStroke(ctx, layer);
157
+ },
158
+
159
+ _fillStroke: function (ctx, layer) {
160
+ var clear = this._clear,
161
+ options = layer.options;
162
+
163
+ ctx.globalCompositeOperation = clear ? 'destination-out' : 'source-over';
164
+
165
+ if (options.fill) {
166
+ ctx.globalAlpha = clear ? 1 : options.fillOpacity;
167
+ ctx.fillStyle = options.fillColor || options.color;
168
+ ctx.fill('evenodd');
169
+ }
170
+
171
+ if (options.stroke) {
172
+ ctx.globalAlpha = clear ? 1 : options.opacity;
173
+
174
+ // if clearing shape, do it with the previously drawn line width
175
+ layer._prevWeight = ctx.lineWidth = clear ? layer._prevWeight + 1 : options.weight;
176
+
177
+ ctx.strokeStyle = options.color;
178
+ ctx.lineCap = options.lineCap;
179
+ ctx.lineJoin = options.lineJoin;
180
+ ctx.stroke();
181
+ }
182
+ },
183
+
184
+ // Canvas obviously doesn't have mouse events for individual drawn objects,
185
+ // so we emulate that by calculating what's under the mouse on mousemove/click manually
186
+
187
+ _onClick: function (e) {
188
+ var point = this._map.mouseEventToLayerPoint(e);
189
+
190
+ for (var id in this._layers) {
191
+ if (this._layers[id]._containsPoint(point)) {
192
+ this._layers[id]._fireMouseEvent(e);
193
+ }
194
+ }
195
+ },
196
+
197
+ _onMouseMove: function (e) {
198
+ if (!this._map || this._map._animatingZoom) { return; }
199
+
200
+ var point = this._map.mouseEventToLayerPoint(e);
201
+
202
+ // TODO don't do on each move event, throttle since it's expensive
203
+ for (var id in this._layers) {
204
+ this._handleHover(this._layers[id], e, point);
205
+ }
206
+ },
207
+
208
+ _handleHover: function (layer, e, point) {
209
+ if (!layer.options.clickable) { return; }
210
+
211
+ if (layer._containsPoint(point)) {
212
+ // if we just got inside the layer, fire mouseover
213
+ if (!layer._mouseInside) {
214
+ L.DomUtil.addClass(this._container, 'leaflet-clickable'); // change cursor
215
+ layer._fireMouseEvent(e, 'mouseover');
216
+ layer._mouseInside = true;
217
+ }
218
+ // fire mousemove
219
+ layer._fireMouseEvent(e);
220
+
221
+ } else if (layer._mouseInside) {
222
+ // if we're leaving the layer, fire mouseout
223
+ L.DomUtil.removeClass(this._container, 'leaflet-clickable');
224
+ layer._fireMouseEvent(e, 'mouseout');
225
+ layer._mouseInside = false;
226
+ }
227
+ },
228
+
229
+ // TODO _bringToFront & _bringToBack, pretty tricky
230
+
231
+ _bringToFront: L.Util.falseFn,
232
+ _bringToBack: L.Util.falseFn
233
+ });
234
+
235
+ L.Browser.canvas = (function () {
236
+ return !!document.createElement('canvas').getContext;
237
+ }());
238
+
239
+ L.canvas = function (options) {
240
+ return L.Browser.canvas ? new L.Canvas(options) : null;
241
+ };
242
+
243
+ L.Canvas.instance = L.canvas();
244
+
245
+ L.Polyline.prototype._containsPoint = function (p, closed) {
246
+ var i, j, k, len, len2, part,
247
+ w = this._clickTolerance();
248
+
249
+ if (!this._pxBounds.contains(p)) { return false; }
250
+
251
+ // hit detection for polylines
252
+ for (i = 0, len = this._parts.length; i < len; i++) {
253
+ part = this._parts[i];
254
+
255
+ for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
256
+ if (!closed && (j === 0)) { continue; }
257
+
258
+ if (L.LineUtil.pointToSegmentDistance(p, part[k], part[j]) <= w) {
259
+ return true;
260
+ }
261
+ }
262
+ }
263
+ return false;
264
+ };
265
+
266
+ L.Polygon.prototype._containsPoint = function (p) {
267
+ var inside = false,
268
+ part, p1, p2, i, j, k, len, len2;
269
+
270
+ if (!this._pxBounds.contains(p)) { return false; }
271
+
272
+ // ray casting algorithm for detecting if point is in polygon
273
+ for (i = 0, len = this._parts.length; i < len; i++) {
274
+ part = this._parts[i];
275
+
276
+ for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
277
+ p1 = part[j];
278
+ p2 = part[k];
279
+
280
+ if (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {
281
+ inside = !inside;
282
+ }
283
+ }
284
+ }
285
+
286
+ // also check if it's on polygon stroke
287
+ return inside || L.Polyline.prototype._containsPoint.call(this, p, true);
288
+ };
289
+
290
+ L.Circle.prototype._containsPoint = function (p) {
291
+ return p.distanceTo(this._point) <= this._radius + this._clickTolerance();
292
+ };