@inlog/inlog-maps 1.0.0 → 1.1.0-test

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 (298) hide show
  1. package/DOCUMENTATION.md +1813 -0
  2. package/README.md +46 -591
  3. package/_bundles/inlog-maps.js +3 -0
  4. package/_bundles/inlog-maps.js.LICENSE.txt +20 -0
  5. package/_bundles/inlog-maps.js.map +1 -0
  6. package/_bundles/inlog-maps.min.js +3 -0
  7. package/_bundles/inlog-maps.min.js.LICENSE.txt +20 -0
  8. package/_bundles/inlog-maps.min.js.map +1 -0
  9. package/bower.json +23 -0
  10. package/lib/index.d.ts +46 -0
  11. package/lib/index.js +47 -0
  12. package/lib/index.js.map +1 -0
  13. package/lib/map.d.ts +519 -0
  14. package/lib/map.js +1137 -0
  15. package/lib/map.js.map +1 -0
  16. package/lib/models/apis/google/google-circles.d.ts +18 -0
  17. package/lib/models/apis/google/google-circles.js +134 -0
  18. package/lib/models/apis/google/google-circles.js.map +1 -0
  19. package/lib/models/apis/google/google-geojson.d.ts +9 -0
  20. package/lib/models/apis/google/google-geojson.js +73 -0
  21. package/lib/models/apis/google/google-geojson.js.map +1 -0
  22. package/lib/models/apis/google/google-map.d.ts +16 -0
  23. package/lib/models/apis/google/google-map.js +174 -0
  24. package/lib/models/apis/google/google-map.js.map +1 -0
  25. package/lib/models/apis/google/google-markers.d.ts +29 -0
  26. package/lib/models/apis/google/google-markers.js +325 -0
  27. package/lib/models/apis/google/google-markers.js.map +1 -0
  28. package/lib/models/apis/google/google-overlay.d.ts +11 -0
  29. package/lib/models/apis/google/google-overlay.js +102 -0
  30. package/lib/models/apis/google/google-overlay.js.map +1 -0
  31. package/lib/models/apis/google/google-polygons.d.ts +29 -0
  32. package/lib/models/apis/google/google-polygons.js +301 -0
  33. package/lib/models/apis/google/google-polygons.js.map +1 -0
  34. package/lib/models/apis/google/google-polylines.d.ts +55 -0
  35. package/lib/models/apis/google/google-polylines.js +707 -0
  36. package/lib/models/apis/google/google-polylines.js.map +1 -0
  37. package/lib/models/apis/google/google-popup.d.ts +10 -0
  38. package/lib/models/apis/google/google-popup.js +59 -0
  39. package/lib/models/apis/google/google-popup.js.map +1 -0
  40. package/lib/models/apis/googleMaps.d.ts +97 -0
  41. package/lib/models/apis/googleMaps.js +449 -0
  42. package/lib/models/apis/googleMaps.js.map +1 -0
  43. package/lib/models/apis/leaflet/leaflet-circle.d.ts +18 -0
  44. package/lib/models/apis/leaflet/leaflet-circle.js +163 -0
  45. package/lib/models/apis/leaflet/leaflet-circle.js.map +1 -0
  46. package/lib/models/apis/leaflet/leaflet-geojson.d.ts +9 -0
  47. package/lib/models/apis/leaflet/leaflet-geojson.js +73 -0
  48. package/lib/models/apis/leaflet/leaflet-geojson.js.map +1 -0
  49. package/lib/models/apis/leaflet/leaflet-map.d.ts +16 -0
  50. package/lib/models/apis/leaflet/leaflet-map.js +140 -0
  51. package/lib/models/apis/leaflet/leaflet-map.js.map +1 -0
  52. package/lib/models/apis/leaflet/leaflet-markers.d.ts +29 -0
  53. package/lib/models/apis/leaflet/leaflet-markers.js +294 -0
  54. package/lib/models/apis/leaflet/leaflet-markers.js.map +1 -0
  55. package/lib/models/apis/leaflet/leaflet-overlay.d.ts +10 -0
  56. package/lib/models/apis/leaflet/leaflet-overlay.js +35 -0
  57. package/lib/models/apis/leaflet/leaflet-overlay.js.map +1 -0
  58. package/lib/models/apis/leaflet/leaflet-polygons.d.ts +23 -0
  59. package/lib/models/apis/leaflet/leaflet-polygons.js +211 -0
  60. package/lib/models/apis/leaflet/leaflet-polygons.js.map +1 -0
  61. package/lib/models/apis/leaflet/leaflet-polylines.d.ts +55 -0
  62. package/lib/models/apis/leaflet/leaflet-polylines.js +721 -0
  63. package/lib/models/apis/leaflet/leaflet-polylines.js.map +1 -0
  64. package/lib/models/apis/leaflet/leaflet-popup.d.ts +11 -0
  65. package/lib/models/apis/leaflet/leaflet-popup.js +74 -0
  66. package/lib/models/apis/leaflet/leaflet-popup.js.map +1 -0
  67. package/lib/models/apis/leaflet.d.ts +99 -0
  68. package/lib/models/apis/leaflet.js +464 -0
  69. package/lib/models/apis/leaflet.js.map +1 -0
  70. package/lib/models/apis/mapFunctions.d.ts +85 -0
  71. package/lib/models/apis/mapFunctions.js +2 -0
  72. package/lib/models/apis/mapFunctions.js.map +1 -0
  73. package/lib/models/dto/event-type.d.ts +33 -0
  74. package/lib/models/dto/event-type.js +39 -0
  75. package/lib/models/dto/event-type.js.map +1 -0
  76. package/lib/models/dto/map-type.d.ts +4 -0
  77. package/lib/models/dto/map-type.js +6 -0
  78. package/lib/models/dto/map-type.js.map +1 -0
  79. package/lib/models/dto/polyline-type.d.ts +5 -0
  80. package/lib/models/dto/polyline-type.js +7 -0
  81. package/lib/models/dto/polyline-type.js.map +1 -0
  82. package/lib/models/features/circle/circle-alter-options.d.ts +12 -0
  83. package/lib/models/features/circle/circle-alter-options.js +14 -0
  84. package/lib/models/features/circle/circle-alter-options.js.map +1 -0
  85. package/lib/models/features/circle/circle-options.d.ts +15 -0
  86. package/lib/models/features/circle/circle-options.js +19 -0
  87. package/lib/models/features/circle/circle-options.js.map +1 -0
  88. package/lib/models/features/events/event-return.d.ts +4 -0
  89. package/lib/models/features/events/event-return.js +8 -0
  90. package/lib/models/features/events/event-return.js.map +1 -0
  91. package/lib/models/features/geojson/geojson-options.d.ts +5 -0
  92. package/lib/models/features/geojson/geojson-options.js +9 -0
  93. package/lib/models/features/geojson/geojson-options.js.map +1 -0
  94. package/lib/models/features/marker/circle-marker-options.d.ts +9 -0
  95. package/lib/models/features/marker/circle-marker-options.js +12 -0
  96. package/lib/models/features/marker/circle-marker-options.js.map +1 -0
  97. package/lib/models/features/marker/circle-marker-style.d.ts +8 -0
  98. package/lib/models/features/marker/circle-marker-style.js +12 -0
  99. package/lib/models/features/marker/circle-marker-style.js.map +1 -0
  100. package/lib/models/features/marker/marker-alter-options.d.ts +8 -0
  101. package/lib/models/features/marker/marker-alter-options.js +10 -0
  102. package/lib/models/features/marker/marker-alter-options.js.map +1 -0
  103. package/lib/models/features/marker/marker-icon.d.ts +6 -0
  104. package/lib/models/features/marker/marker-icon.js +10 -0
  105. package/lib/models/features/marker/marker-icon.js.map +1 -0
  106. package/lib/models/features/marker/marker-options.d.ts +11 -0
  107. package/lib/models/features/marker/marker-options.js +18 -0
  108. package/lib/models/features/marker/marker-options.js.map +1 -0
  109. package/lib/models/features/marker-clusterer/marker-clusterer-config.d.ts +6 -0
  110. package/lib/models/features/marker-clusterer/marker-clusterer-config.js +10 -0
  111. package/lib/models/features/marker-clusterer/marker-clusterer-config.js.map +1 -0
  112. package/lib/models/features/overlay/overlay-options.d.ts +11 -0
  113. package/lib/models/features/overlay/overlay-options.js +15 -0
  114. package/lib/models/features/overlay/overlay-options.js.map +1 -0
  115. package/lib/models/features/polygons/polygon-alter-options.d.ts +13 -0
  116. package/lib/models/features/polygons/polygon-alter-options.js +14 -0
  117. package/lib/models/features/polygons/polygon-alter-options.js.map +1 -0
  118. package/lib/models/features/polygons/polygon-options.d.ts +15 -0
  119. package/lib/models/features/polygons/polygon-options.js +19 -0
  120. package/lib/models/features/polygons/polygon-options.js.map +1 -0
  121. package/lib/models/features/polyline/navigations-options.d.ts +11 -0
  122. package/lib/models/features/polyline/navigations-options.js +16 -0
  123. package/lib/models/features/polyline/navigations-options.js.map +1 -0
  124. package/lib/models/features/polyline/polyline-options.d.ts +18 -0
  125. package/lib/models/features/polyline/polyline-options.js +20 -0
  126. package/lib/models/features/polyline/polyline-options.js.map +1 -0
  127. package/lib/models/features/popup/popup-options.d.ts +9 -0
  128. package/lib/models/features/popup/popup-options.js +13 -0
  129. package/lib/models/features/popup/popup-options.js.map +1 -0
  130. package/lib/utils/maps-api-loader.service.d.ts +14 -0
  131. package/lib/utils/maps-api-loader.service.js +89 -0
  132. package/lib/utils/maps-api-loader.service.js.map +1 -0
  133. package/lib/utils/url-builder.d.ts +20 -0
  134. package/lib/utils/url-builder.js +44 -0
  135. package/lib/utils/url-builder.js.map +1 -0
  136. package/lib-esm/index.d.ts +46 -0
  137. package/lib-esm/index.js +47 -0
  138. package/lib-esm/index.js.map +1 -0
  139. package/lib-esm/map.d.ts +519 -0
  140. package/lib-esm/map.js +1137 -0
  141. package/lib-esm/map.js.map +1 -0
  142. package/lib-esm/models/apis/google/google-circles.d.ts +18 -0
  143. package/lib-esm/models/apis/google/google-circles.js +134 -0
  144. package/lib-esm/models/apis/google/google-circles.js.map +1 -0
  145. package/lib-esm/models/apis/google/google-geojson.d.ts +9 -0
  146. package/lib-esm/models/apis/google/google-geojson.js +73 -0
  147. package/lib-esm/models/apis/google/google-geojson.js.map +1 -0
  148. package/lib-esm/models/apis/google/google-map.d.ts +16 -0
  149. package/lib-esm/models/apis/google/google-map.js +174 -0
  150. package/lib-esm/models/apis/google/google-map.js.map +1 -0
  151. package/lib-esm/models/apis/google/google-markers.d.ts +29 -0
  152. package/lib-esm/models/apis/google/google-markers.js +325 -0
  153. package/lib-esm/models/apis/google/google-markers.js.map +1 -0
  154. package/lib-esm/models/apis/google/google-overlay.d.ts +11 -0
  155. package/lib-esm/models/apis/google/google-overlay.js +102 -0
  156. package/lib-esm/models/apis/google/google-overlay.js.map +1 -0
  157. package/lib-esm/models/apis/google/google-polygons.d.ts +29 -0
  158. package/lib-esm/models/apis/google/google-polygons.js +301 -0
  159. package/lib-esm/models/apis/google/google-polygons.js.map +1 -0
  160. package/lib-esm/models/apis/google/google-polylines.d.ts +55 -0
  161. package/lib-esm/models/apis/google/google-polylines.js +707 -0
  162. package/lib-esm/models/apis/google/google-polylines.js.map +1 -0
  163. package/lib-esm/models/apis/google/google-popup.d.ts +10 -0
  164. package/lib-esm/models/apis/google/google-popup.js +59 -0
  165. package/lib-esm/models/apis/google/google-popup.js.map +1 -0
  166. package/lib-esm/models/apis/googleMaps.d.ts +97 -0
  167. package/lib-esm/models/apis/googleMaps.js +449 -0
  168. package/lib-esm/models/apis/googleMaps.js.map +1 -0
  169. package/lib-esm/models/apis/leaflet/leaflet-circle.d.ts +18 -0
  170. package/lib-esm/models/apis/leaflet/leaflet-circle.js +163 -0
  171. package/lib-esm/models/apis/leaflet/leaflet-circle.js.map +1 -0
  172. package/lib-esm/models/apis/leaflet/leaflet-geojson.d.ts +9 -0
  173. package/lib-esm/models/apis/leaflet/leaflet-geojson.js +73 -0
  174. package/lib-esm/models/apis/leaflet/leaflet-geojson.js.map +1 -0
  175. package/lib-esm/models/apis/leaflet/leaflet-map.d.ts +16 -0
  176. package/lib-esm/models/apis/leaflet/leaflet-map.js +140 -0
  177. package/lib-esm/models/apis/leaflet/leaflet-map.js.map +1 -0
  178. package/lib-esm/models/apis/leaflet/leaflet-markers.d.ts +29 -0
  179. package/lib-esm/models/apis/leaflet/leaflet-markers.js +294 -0
  180. package/lib-esm/models/apis/leaflet/leaflet-markers.js.map +1 -0
  181. package/lib-esm/models/apis/leaflet/leaflet-overlay.d.ts +10 -0
  182. package/lib-esm/models/apis/leaflet/leaflet-overlay.js +35 -0
  183. package/lib-esm/models/apis/leaflet/leaflet-overlay.js.map +1 -0
  184. package/lib-esm/models/apis/leaflet/leaflet-polygons.d.ts +23 -0
  185. package/lib-esm/models/apis/leaflet/leaflet-polygons.js +211 -0
  186. package/lib-esm/models/apis/leaflet/leaflet-polygons.js.map +1 -0
  187. package/lib-esm/models/apis/leaflet/leaflet-polylines.d.ts +55 -0
  188. package/lib-esm/models/apis/leaflet/leaflet-polylines.js +721 -0
  189. package/lib-esm/models/apis/leaflet/leaflet-polylines.js.map +1 -0
  190. package/lib-esm/models/apis/leaflet/leaflet-popup.d.ts +11 -0
  191. package/lib-esm/models/apis/leaflet/leaflet-popup.js +74 -0
  192. package/lib-esm/models/apis/leaflet/leaflet-popup.js.map +1 -0
  193. package/lib-esm/models/apis/leaflet.d.ts +99 -0
  194. package/lib-esm/models/apis/leaflet.js +464 -0
  195. package/lib-esm/models/apis/leaflet.js.map +1 -0
  196. package/lib-esm/models/apis/mapFunctions.d.ts +85 -0
  197. package/lib-esm/models/apis/mapFunctions.js +2 -0
  198. package/lib-esm/models/apis/mapFunctions.js.map +1 -0
  199. package/lib-esm/models/dto/event-type.d.ts +33 -0
  200. package/lib-esm/models/dto/event-type.js +39 -0
  201. package/lib-esm/models/dto/event-type.js.map +1 -0
  202. package/lib-esm/models/dto/map-type.d.ts +4 -0
  203. package/lib-esm/models/dto/map-type.js +6 -0
  204. package/lib-esm/models/dto/map-type.js.map +1 -0
  205. package/lib-esm/models/dto/polyline-type.d.ts +5 -0
  206. package/lib-esm/models/dto/polyline-type.js +7 -0
  207. package/lib-esm/models/dto/polyline-type.js.map +1 -0
  208. package/lib-esm/models/features/circle/circle-alter-options.d.ts +12 -0
  209. package/lib-esm/models/features/circle/circle-alter-options.js +14 -0
  210. package/lib-esm/models/features/circle/circle-alter-options.js.map +1 -0
  211. package/lib-esm/models/features/circle/circle-options.d.ts +15 -0
  212. package/{src → lib-esm/models/features}/circle/circle-options.js +6 -4
  213. package/lib-esm/models/features/circle/circle-options.js.map +1 -0
  214. package/lib-esm/models/features/events/event-return.d.ts +4 -0
  215. package/lib-esm/models/features/events/event-return.js +8 -0
  216. package/lib-esm/models/features/events/event-return.js.map +1 -0
  217. package/lib-esm/models/features/geojson/geojson-options.d.ts +5 -0
  218. package/lib-esm/models/features/geojson/geojson-options.js +9 -0
  219. package/lib-esm/models/features/geojson/geojson-options.js.map +1 -0
  220. package/lib-esm/models/features/marker/circle-marker-options.d.ts +9 -0
  221. package/lib-esm/models/features/marker/circle-marker-options.js +12 -0
  222. package/lib-esm/models/features/marker/circle-marker-options.js.map +1 -0
  223. package/lib-esm/models/features/marker/circle-marker-style.d.ts +8 -0
  224. package/lib-esm/models/features/marker/circle-marker-style.js +12 -0
  225. package/lib-esm/models/features/marker/circle-marker-style.js.map +1 -0
  226. package/lib-esm/models/features/marker/marker-alter-options.d.ts +8 -0
  227. package/lib-esm/models/features/marker/marker-alter-options.js +10 -0
  228. package/lib-esm/models/features/marker/marker-alter-options.js.map +1 -0
  229. package/lib-esm/models/features/marker/marker-icon.d.ts +6 -0
  230. package/lib-esm/models/features/marker/marker-icon.js +10 -0
  231. package/lib-esm/models/features/marker/marker-icon.js.map +1 -0
  232. package/lib-esm/models/features/marker/marker-options.d.ts +11 -0
  233. package/lib-esm/models/features/marker/marker-options.js +18 -0
  234. package/lib-esm/models/features/marker/marker-options.js.map +1 -0
  235. package/lib-esm/models/features/marker-clusterer/marker-clusterer-config.d.ts +6 -0
  236. package/lib-esm/models/features/marker-clusterer/marker-clusterer-config.js +10 -0
  237. package/lib-esm/models/features/marker-clusterer/marker-clusterer-config.js.map +1 -0
  238. package/lib-esm/models/features/overlay/overlay-options.d.ts +11 -0
  239. package/lib-esm/models/features/overlay/overlay-options.js +15 -0
  240. package/lib-esm/models/features/overlay/overlay-options.js.map +1 -0
  241. package/lib-esm/models/features/polygons/polygon-alter-options.d.ts +13 -0
  242. package/lib-esm/models/features/polygons/polygon-alter-options.js +14 -0
  243. package/lib-esm/models/features/polygons/polygon-alter-options.js.map +1 -0
  244. package/lib-esm/models/features/polygons/polygon-options.d.ts +15 -0
  245. package/{src → lib-esm/models/features}/polygons/polygon-options.js +7 -5
  246. package/lib-esm/models/features/polygons/polygon-options.js.map +1 -0
  247. package/lib-esm/models/features/polyline/navigations-options.d.ts +11 -0
  248. package/lib-esm/models/features/polyline/navigations-options.js +16 -0
  249. package/lib-esm/models/features/polyline/navigations-options.js.map +1 -0
  250. package/lib-esm/models/features/polyline/polyline-options.d.ts +18 -0
  251. package/lib-esm/models/features/polyline/polyline-options.js +20 -0
  252. package/lib-esm/models/features/polyline/polyline-options.js.map +1 -0
  253. package/lib-esm/models/features/popup/popup-options.d.ts +9 -0
  254. package/lib-esm/models/features/popup/popup-options.js +13 -0
  255. package/lib-esm/models/features/popup/popup-options.js.map +1 -0
  256. package/lib-esm/utils/maps-api-loader.service.d.ts +14 -0
  257. package/lib-esm/utils/maps-api-loader.service.js +89 -0
  258. package/lib-esm/utils/maps-api-loader.service.js.map +1 -0
  259. package/lib-esm/utils/url-builder.d.ts +20 -0
  260. package/lib-esm/utils/url-builder.js +44 -0
  261. package/lib-esm/utils/url-builder.js.map +1 -0
  262. package/package.json +69 -53
  263. package/test/test.js +11 -0
  264. package/tslint.json +24 -0
  265. package/typings.json +5 -0
  266. package/.babelrc +0 -4
  267. package/.editorconfig +0 -12
  268. package/.eslintrc +0 -291
  269. package/.nvmrc +0 -1
  270. package/.travis.yml +0 -5
  271. package/demo/demo.js +0 -432
  272. package/demo/images/cursor_locate.png +0 -0
  273. package/demo/images/inicio_rota.png +0 -0
  274. package/demo/index.html +0 -58
  275. package/demo/style.css +0 -45
  276. package/lib/inlogMaps.js +0 -16326
  277. package/lib/inlogMaps.js.map +0 -1
  278. package/lib/inlogMaps.min.js +0 -5
  279. package/src/circle/circle-alter-options.js +0 -9
  280. package/src/events/event-return.js +0 -5
  281. package/src/google-maps.js +0 -722
  282. package/src/index.js +0 -36
  283. package/src/leaflet.js +0 -638
  284. package/src/map.js +0 -306
  285. package/src/marker/circle-marker-options.js +0 -9
  286. package/src/marker/circle-marker-style.js +0 -9
  287. package/src/marker/marker-alter-options.js +0 -7
  288. package/src/marker/marker-icon.js +0 -6
  289. package/src/marker/marker-options.js +0 -10
  290. package/src/polygons/polygon-alter-options.js +0 -9
  291. package/src/polyline/navigations-options.js +0 -6
  292. package/src/polyline/polyline-alter-options.js +0 -9
  293. package/src/polyline/polyline-navigation-options.js +0 -15
  294. package/src/polyline/polyline-options.js +0 -12
  295. package/src/popup/popup-options.js +0 -7
  296. package/test/index.spec.js +0 -32
  297. package/webpack.config.js +0 -50
  298. package/yarn.lock +0 -3403
@@ -0,0 +1,721 @@
1
+ // import { Polyline } from "leaflet";
2
+ import { PolylineEventType } from "../../dto/event-type";
3
+ import { PolylineType } from "../../dto/polyline-type";
4
+ import EventReturn from "../../features/events/event-return";
5
+ var LeafletPolylines = /** @class */ (function () {
6
+ function LeafletPolylines(map, leaflet, leafletPopup) {
7
+ this.map = {};
8
+ this.leaflet = {};
9
+ this.selectedPolyline = null;
10
+ this.selectedPath = null;
11
+ this.navigateInfoWindow = null;
12
+ this.directionForward = false;
13
+ this.multiSelectionForward = false;
14
+ this.multiSelection = false;
15
+ this.navigateByPoint = false;
16
+ this.navigationOptions = {};
17
+ this.map = map;
18
+ this.leaflet = leaflet;
19
+ this.leafletPopup = leafletPopup;
20
+ this.editModeBlockingMapClick = false;
21
+ }
22
+ LeafletPolylines.prototype.drawPolyline = function (options, eventClick) {
23
+ var self = this;
24
+ var newOptions = {
25
+ color: options.color || "#000000",
26
+ dashArray: null,
27
+ draggable: options.draggable,
28
+ editable: options.editable,
29
+ infowindows: options.infowindows,
30
+ opacity: options.opacity || 1,
31
+ weight: options.weight || 3,
32
+ zIndex: options.zIndex,
33
+ };
34
+ if (options.style !== null) {
35
+ switch (options.style) {
36
+ case PolylineType.Dotted:
37
+ console.warn("PolylineType.Dotted is deprecated, instead use PolylineType.Dashed.");
38
+ break;
39
+ case PolylineType.Dashed:
40
+ newOptions.opacity = 0.7;
41
+ newOptions.dashArray = "20,15";
42
+ break;
43
+ default:
44
+ break;
45
+ }
46
+ }
47
+ var polyline = new this.leaflet.Polyline(options.path || [], newOptions);
48
+ polyline.on("editable:vertex:rawclick", function (e) {
49
+ return e.cancel();
50
+ });
51
+ if (eventClick) {
52
+ polyline.on("click", function (event) {
53
+ self.leaflet.DomEvent.stopPropagation(event);
54
+ var param = new EventReturn([
55
+ event.latlng.lat,
56
+ event.latlng.lng,
57
+ ]);
58
+ eventClick(param, event.target.object);
59
+ });
60
+ polyline.on("editable:vertex:rawclick", function (event) {
61
+ event.cancel();
62
+ var param = new EventReturn([
63
+ event.latlng.lat,
64
+ event.latlng.lng,
65
+ ]);
66
+ eventClick(param, event.target.object);
67
+ });
68
+ }
69
+ if (options.style && options.style === PolylineType.Arrow) {
70
+ var pathOptions = {
71
+ fillOpacity: 1,
72
+ weight: 0,
73
+ color: polyline.options.color,
74
+ };
75
+ polyline.decorator = self.leaflet.polylineDecorator(polyline, {
76
+ patterns: [
77
+ {
78
+ offset: "20%",
79
+ repeat: "90px",
80
+ symbol: self.leaflet.Symbol.arrowHead({
81
+ pixelSize: 20,
82
+ pathOptions: pathOptions,
83
+ }),
84
+ },
85
+ {
86
+ offset: "0%",
87
+ symbol: self.leaflet.Symbol.arrowHead({
88
+ pathOptions: pathOptions,
89
+ pixelSize: 20,
90
+ }),
91
+ },
92
+ {
93
+ offset: "100%",
94
+ symbol: self.leaflet.Symbol.arrowHead({
95
+ pixelSize: 20,
96
+ pathOptions: pathOptions,
97
+ }),
98
+ },
99
+ ],
100
+ });
101
+ }
102
+ if (options.addToMap) {
103
+ polyline.addTo(self.map);
104
+ if (polyline.decorator) {
105
+ polyline.decorator.addTo(self.map);
106
+ }
107
+ if (options.editable) {
108
+ polyline.enableEdit();
109
+ }
110
+ }
111
+ if (options.object) {
112
+ polyline.object = options.object;
113
+ }
114
+ if (options.fitBounds) {
115
+ self.map.fitBounds(polyline.getBounds());
116
+ }
117
+ return polyline;
118
+ };
119
+ LeafletPolylines.prototype.drawPolylineWithNavigation = function (options, eventClick) {
120
+ var polyline = this.drawPolyline(options, null);
121
+ polyline.navigationHandlerClick = eventClick;
122
+ this.navigationOptions = options.navigateOptions;
123
+ this.navigateByPoint = this.navigationOptions
124
+ ? this.navigationOptions.navigateByPoint
125
+ : true;
126
+ this.addNavigation(polyline);
127
+ return polyline;
128
+ };
129
+ LeafletPolylines.prototype.togglePolylines = function (polylines, show) {
130
+ var self = this;
131
+ polylines.forEach(function (polyline) {
132
+ if (show) {
133
+ self.map.addLayer(polyline);
134
+ if (polyline.options.editable) {
135
+ polyline.enableEdit();
136
+ }
137
+ if (polyline.decorator) {
138
+ self.map.addLayer(polyline.decorator);
139
+ }
140
+ }
141
+ else {
142
+ self.map.removeLayer(polyline);
143
+ if (polyline.options.editable) {
144
+ polyline.disableEdit();
145
+ }
146
+ if (polyline.decorator) {
147
+ self.map.removeLayer(polyline.decorator);
148
+ }
149
+ }
150
+ });
151
+ };
152
+ LeafletPolylines.prototype.alterPolylineOptions = function (polylines, options) {
153
+ var self = this;
154
+ polylines.forEach(function (polyline) {
155
+ var style = {
156
+ color: options.color ? options.color : polyline.options.color,
157
+ draggable: options.draggable
158
+ ? options.draggable
159
+ : polyline.options.draggable,
160
+ opacity: options.opacity
161
+ ? options.opacity
162
+ : polyline.options.opacity,
163
+ weight: options.weight
164
+ ? options.weight
165
+ : polyline.options.weight,
166
+ zIndex: options.zIndex
167
+ ? options.zIndex
168
+ : polyline.options.zIndex,
169
+ };
170
+ if (options.path) {
171
+ polyline.setLatLngs(options.path);
172
+ }
173
+ switch (options.style) {
174
+ case PolylineType.Dotted:
175
+ console.warn("PolylineType.Dotted is deprecated, instead use PolylineType.Dashed.");
176
+ break;
177
+ case PolylineType.Dashed:
178
+ style.dashArray = "20,15";
179
+ break;
180
+ case PolylineType.Arrow:
181
+ var pathOptions = {
182
+ fillOpacity: 1,
183
+ weight: 0,
184
+ color: style.color,
185
+ };
186
+ if (polyline.decorator) {
187
+ self.map.removeLayer(polyline.decorator);
188
+ }
189
+ polyline.decorator = self.leaflet.polylineDecorator(polyline, {
190
+ patterns: [
191
+ {
192
+ offset: "20%",
193
+ repeat: "90px",
194
+ symbol: self.leaflet.Symbol.arrowHead({
195
+ pixelSize: 20,
196
+ pathOptions: pathOptions,
197
+ }),
198
+ },
199
+ {
200
+ offset: "0%",
201
+ symbol: self.leaflet.Symbol.arrowHead({
202
+ pixelSize: 20,
203
+ pathOptions: pathOptions,
204
+ }),
205
+ },
206
+ {
207
+ offset: "100%",
208
+ symbol: self.leaflet.Symbol.arrowHead({
209
+ pixelSize: 20,
210
+ pathOptions: pathOptions,
211
+ }),
212
+ },
213
+ ],
214
+ });
215
+ if (self.map.hasLayer(polyline)) {
216
+ polyline.decorator.addTo(self.map);
217
+ }
218
+ break;
219
+ default:
220
+ if (polyline.decorator) {
221
+ self.map.removeLayer(polyline.decorator);
222
+ polyline.decorator = null;
223
+ }
224
+ break;
225
+ }
226
+ polyline.setStyle(style);
227
+ if (options.object) {
228
+ polyline.object = options.object;
229
+ }
230
+ if (options.editable) {
231
+ polyline.disableEdit();
232
+ polyline.enableEdit();
233
+ }
234
+ });
235
+ };
236
+ LeafletPolylines.prototype.fitBoundsPolylines = function (polylines) {
237
+ var self = this;
238
+ self.map.fitBounds(self.getBoundsPolylines(polylines));
239
+ };
240
+ LeafletPolylines.prototype.isPolylineOnMap = function (polyline) {
241
+ return this.map.hasLayer(polyline);
242
+ };
243
+ LeafletPolylines.prototype.addPolylinePath = function (polylines, position) {
244
+ var _this = this;
245
+ // TODO: Só adiciona linha se não estiver editando no mesmo momento.
246
+ if (!this.editModeBlockingMapClick) {
247
+ polylines.forEach(function (polyline) {
248
+ var path = polyline.getLatLngs();
249
+ path.push(new _this.leaflet.LatLng(position[0], position[1]));
250
+ polyline.setLatLngs(path);
251
+ if (polyline.editEnabled && polyline.editEnabled()) {
252
+ polyline.disableEdit();
253
+ polyline.enableEdit();
254
+ }
255
+ });
256
+ }
257
+ };
258
+ LeafletPolylines.prototype.getPolylinePath = function (polyline) {
259
+ return polyline.getLatLngs().map(function (x) { return [x.lat, x.lng]; });
260
+ };
261
+ LeafletPolylines.prototype.removePolylineHighlight = function () {
262
+ var self = this;
263
+ if (self.selectedPath) {
264
+ if (this.selectedPath.decorator) {
265
+ this.map.removeLayer(this.selectedPath.decorator);
266
+ }
267
+ this.map.removeLayer(self.selectedPath);
268
+ self.selectedPath = null;
269
+ }
270
+ if (self.navigateInfoWindow) {
271
+ self.navigateInfoWindow.remove();
272
+ }
273
+ document.onkeyup = null;
274
+ document.onkeydown = null;
275
+ };
276
+ LeafletPolylines.prototype.addPolylineEvent = function (polylines, eventType, eventFunction) {
277
+ var _this = this;
278
+ polylines.forEach(function (polyline) {
279
+ switch (eventType) {
280
+ case PolylineEventType.SetAt:
281
+ _this.addPolylineEventMove(polyline, eventFunction);
282
+ break;
283
+ case PolylineEventType.RightClick:
284
+ _this.addPolylineEventRightClick(polyline, eventFunction);
285
+ break;
286
+ case PolylineEventType.InsertAt:
287
+ _this.addPolylineEventInsertAt(polyline, eventFunction);
288
+ break;
289
+ case PolylineEventType.RemoveAt:
290
+ _this.addPolylineEventRemoveAt(polyline, eventFunction);
291
+ break;
292
+ case PolylineEventType.MouseOver:
293
+ _this.addPolylineEventMouseOver(polyline, eventFunction);
294
+ break;
295
+ case PolylineEventType.MouseOut:
296
+ _this.addPolylineEventMouseOut(polyline, eventFunction);
297
+ break;
298
+ case PolylineEventType.DragPolyline:
299
+ _this.addPolylineEventDragPolyline(polyline, eventFunction);
300
+ break;
301
+ default:
302
+ break;
303
+ }
304
+ });
305
+ };
306
+ LeafletPolylines.prototype.removePolylineEvent = function (polylines, event) {
307
+ polylines.forEach(function (polyline) {
308
+ switch (event) {
309
+ case PolylineEventType.SetAt:
310
+ polyline.off("editable:vertex:dragstart");
311
+ break;
312
+ case PolylineEventType.RightClick:
313
+ polyline.off("contextmenu");
314
+ polyline.off("editable:vertex:contextmenu");
315
+ break;
316
+ case PolylineEventType.InsertAt:
317
+ polyline.off("editable:vertex:new");
318
+ break;
319
+ case PolylineEventType.RemoveAt:
320
+ polyline.off("editable:vertex:deleted");
321
+ break;
322
+ case PolylineEventType.DragPolyline:
323
+ polyline.off("dragend");
324
+ break;
325
+ case PolylineEventType.MouseOver:
326
+ polyline.off("mouseover");
327
+ break;
328
+ case PolylineEventType.MouseOut:
329
+ polyline.off("mouseout");
330
+ break;
331
+ default:
332
+ break;
333
+ }
334
+ });
335
+ };
336
+ LeafletPolylines.prototype.setIndexPolylineHighlight = function (polyline, index) {
337
+ this.directionForward = false;
338
+ polyline.initialIdx = index;
339
+ polyline.finalIdx = index + 1;
340
+ this.moveSelectedPath(polyline, this.navigationOptions);
341
+ this.selectedPolyline = polyline;
342
+ if (this.navigationOptions.navegateOnKeyPress) {
343
+ document.onkeydown = this.onKeyUp.bind(this);
344
+ }
345
+ else {
346
+ document.onkeyup = this.onKeyUp.bind(this);
347
+ }
348
+ };
349
+ LeafletPolylines.prototype.getObjectPolyline = function (polyline) {
350
+ return polyline.object;
351
+ };
352
+ LeafletPolylines.prototype.getObjectPolylineHighlight = function () {
353
+ if (this.selectedPath) {
354
+ return this.selectedPath.object;
355
+ }
356
+ return null;
357
+ };
358
+ LeafletPolylines.prototype.addPolylineHighlightEvent = function (eventType, eventFunction) {
359
+ if (this.selectedPolyline) {
360
+ this.addPolylineEvent([this.selectedPath], eventType, eventFunction);
361
+ }
362
+ };
363
+ LeafletPolylines.prototype.getPolylineHighlightIndex = function () {
364
+ if (this.selectedPath) {
365
+ return [this.selectedPath.initialIdx, this.selectedPath.finalIdx];
366
+ }
367
+ return null;
368
+ };
369
+ /* Private methods */
370
+ LeafletPolylines.prototype.addNavigation = function (polyline) {
371
+ polyline.clearAllEventListeners();
372
+ polyline.on("click", this.onClickPolyline.bind(this, polyline));
373
+ };
374
+ LeafletPolylines.prototype.onClickPolyline = function (polyline, event) {
375
+ var index = this.checkIdx(polyline, event.latlng);
376
+ polyline.initialIdx = index;
377
+ polyline.finalIdx = index + 1;
378
+ this.moveSelectedPath(polyline, this.navigationOptions);
379
+ this.selectedPolyline = polyline;
380
+ if (this.navigationOptions.navegateOnKeyPress) {
381
+ document.onkeydown = this.onKeyUp.bind(this);
382
+ }
383
+ else {
384
+ document.onkeyup = this.onKeyUp.bind(this);
385
+ }
386
+ if (polyline.navigationHandlerClick) {
387
+ var param = new EventReturn([event.latlng.lat, event.latlng.lng]);
388
+ polyline.navigationHandlerClick(param, event.target.object);
389
+ }
390
+ };
391
+ LeafletPolylines.prototype.onKeyUp = function (event) {
392
+ var self = this;
393
+ if (self.selectedPath) {
394
+ if (event.ctrlKey) {
395
+ console.warn("Deprecated: CTRL is not needed in navigation anymore");
396
+ }
397
+ switch (event.which ? event.which : event.keyCode) {
398
+ case 38:
399
+ case 39:
400
+ // up arrow or right arrow
401
+ self.moveFowards(event.shiftKey);
402
+ break;
403
+ case 37:
404
+ case 40:
405
+ // left arrow or down arrow
406
+ self.moveBackwards(event.shiftKey);
407
+ break;
408
+ }
409
+ }
410
+ };
411
+ LeafletPolylines.prototype.moveFowards = function (multiselection) {
412
+ var polyline = this.selectedPolyline;
413
+ if ((!this.navigateByPoint || this.directionForward) &&
414
+ polyline.finalIdx < polyline.getLatLngs().length - 1) {
415
+ this.navigateFoward(multiselection, polyline);
416
+ }
417
+ this.directionForward = true;
418
+ this.moveSelectedPath(polyline, null);
419
+ };
420
+ LeafletPolylines.prototype.navigateFoward = function (multiSelection, polyline) {
421
+ if (!multiSelection) {
422
+ polyline.finalIdx++;
423
+ polyline.initialIdx = this.multiSelection
424
+ ? polyline.finalIdx - 1
425
+ : polyline.initialIdx + 1;
426
+ this.multiSelection = false;
427
+ }
428
+ else {
429
+ this.multiSelection = true;
430
+ if (this.multiSelectionForward) {
431
+ polyline.finalIdx++;
432
+ }
433
+ this.multiSelectionForward = true;
434
+ }
435
+ };
436
+ LeafletPolylines.prototype.moveBackwards = function (multiSelection) {
437
+ var polyline = this.selectedPolyline;
438
+ if ((!this.navigateByPoint || !this.directionForward) &&
439
+ polyline.initialIdx > 0) {
440
+ this.navigateBackward(multiSelection, polyline);
441
+ }
442
+ this.directionForward = false;
443
+ this.moveSelectedPath(polyline, null);
444
+ };
445
+ LeafletPolylines.prototype.navigateBackward = function (multiSelection, polyline) {
446
+ var self = this;
447
+ if (!multiSelection) {
448
+ polyline.initialIdx--;
449
+ polyline.finalIdx = !self.multiSelection
450
+ ? polyline.finalIdx - 1
451
+ : polyline.initialIdx + 1;
452
+ self.multiSelection = false;
453
+ }
454
+ else {
455
+ self.multiSelection = true;
456
+ if (!self.multiSelectionForward) {
457
+ polyline.initialIdx--;
458
+ }
459
+ self.multiSelectionForward = false;
460
+ }
461
+ };
462
+ LeafletPolylines.prototype.moveSelectedPath = function (polyline, options) {
463
+ var self = this;
464
+ var pathSelected = polyline
465
+ .getLatLngs()
466
+ .map(function (x) { return [x.lat, x.lng]; })
467
+ .slice(polyline.initialIdx, polyline.finalIdx + 1);
468
+ if (self.selectedPath) {
469
+ self.selectedPath.setLatLngs(pathSelected);
470
+ this.selectedPath.object = polyline.object;
471
+ }
472
+ else {
473
+ this.addNewSelectedPath(pathSelected, options, polyline.object);
474
+ this.selectedPath.addTo(this.map);
475
+ }
476
+ if (this.selectedPath.decorator) {
477
+ this.map.removeLayer(this.selectedPath.decorator);
478
+ this.setArrowSelectedPath();
479
+ }
480
+ if ((options && options.editable) ||
481
+ (this.selectedPath.editEnabled && this.selectedPath.editEnabled())) {
482
+ this.selectedPath.disableEdit();
483
+ this.selectedPath.enableEdit();
484
+ }
485
+ this.selectedPath.initialIdx = polyline.initialIdx;
486
+ this.selectedPath.finalIdx = polyline.finalIdx;
487
+ var idx = self.directionForward
488
+ ? polyline.finalIdx
489
+ : polyline.initialIdx;
490
+ if (!this.navigateByPoint) {
491
+ idx =
492
+ polyline.finalIdx > polyline.initialIdx
493
+ ? polyline.finalIdx
494
+ : polyline.initialIdx;
495
+ }
496
+ var infowindow = polyline.options.infowindows
497
+ ? polyline.options.infowindows[idx]
498
+ : null;
499
+ if (infowindow) {
500
+ var point = polyline.getLatLngs()[idx];
501
+ if (self.navigateInfoWindow) {
502
+ self.leafletPopup.alterPopup(self.navigateInfoWindow, {
503
+ content: infowindow,
504
+ latlng: [point.lat, point.lng],
505
+ });
506
+ }
507
+ else {
508
+ self.navigateInfoWindow = self.leafletPopup.drawPopup({
509
+ content: infowindow,
510
+ latlng: [point.lat, point.lng],
511
+ });
512
+ }
513
+ }
514
+ };
515
+ LeafletPolylines.prototype.setArrowSelectedPath = function () {
516
+ var pathOptions = {
517
+ fillOpacity: 1,
518
+ weight: 0,
519
+ color: this.selectedPath.options.color,
520
+ };
521
+ this.selectedPath.decorator = this.leaflet.polylineDecorator(this.selectedPath, {
522
+ patterns: [
523
+ {
524
+ offset: "100%",
525
+ symbol: this.leaflet.Symbol.arrowHead({
526
+ pixelSize: 20,
527
+ pathOptions: pathOptions,
528
+ }),
529
+ },
530
+ ],
531
+ });
532
+ this.selectedPath.decorator.addTo(this.map);
533
+ };
534
+ LeafletPolylines.prototype.addNewSelectedPath = function (pathSelected, options, object) {
535
+ var newOptions = {
536
+ color: (options && options.color) || "#FF0000",
537
+ draggable: false,
538
+ editable: options === null || options === void 0 ? void 0 : options.editable,
539
+ opacity: (options && options.opacity) || 1,
540
+ weight: (options && options.weight) || 10,
541
+ zIndex: 9999,
542
+ };
543
+ if ((options === null || options === void 0 ? void 0 : options.style) !== null) {
544
+ switch (options === null || options === void 0 ? void 0 : options.style) {
545
+ case PolylineType.Dotted:
546
+ console.warn("PolylineType.Dotted is deprecated, instead use PolylineType.Dashed.");
547
+ break;
548
+ case PolylineType.Dashed:
549
+ newOptions.opacity = 0.7;
550
+ newOptions.dashArray = "20,15";
551
+ break;
552
+ default:
553
+ break;
554
+ }
555
+ }
556
+ this.selectedPath = new this.leaflet.Polyline(pathSelected, newOptions);
557
+ this.selectedPath.on("editable:vertex:rawclick", function (e) {
558
+ return e.cancel();
559
+ });
560
+ if ((options === null || options === void 0 ? void 0 : options.style) && options.style === PolylineType.Arrow) {
561
+ this.setArrowSelectedPath();
562
+ }
563
+ this.selectedPath.object = object;
564
+ this.selectedPath.highlight = true;
565
+ };
566
+ LeafletPolylines.prototype.checkIdx = function (polyline, point) {
567
+ var self = this;
568
+ var path = polyline.getLatLngs();
569
+ var distance = 0;
570
+ var minDistance = Number.MAX_VALUE;
571
+ var returnValue = -1;
572
+ for (var i = 0; i < path.length - 1; i++) {
573
+ distance = self.distanceToLine(path[i], path[i + 1], point);
574
+ if (distance < minDistance) {
575
+ minDistance = distance;
576
+ returnValue = i;
577
+ }
578
+ }
579
+ return returnValue;
580
+ };
581
+ LeafletPolylines.prototype.distanceToLine = function (pt1, pt2, pt) {
582
+ var self = this;
583
+ var deltaX = pt2.lng - pt1.lng;
584
+ var deltaY = pt2.lat - pt1.lat;
585
+ var incIntersect = (pt.lng - pt1.lng) * deltaX;
586
+ var deltaSum = deltaX * deltaX + deltaY * deltaY;
587
+ incIntersect += (pt.lat - pt1.lat) * deltaY;
588
+ if (deltaSum > 0) {
589
+ incIntersect /= deltaSum;
590
+ }
591
+ else {
592
+ incIntersect = -1;
593
+ }
594
+ // The intersection occurs outside the line segment, 'before' pt1.
595
+ if (incIntersect < 0) {
596
+ return self.kmTo(pt, pt1);
597
+ }
598
+ else if (incIntersect > 1) {
599
+ return self.kmTo(pt, pt2);
600
+ }
601
+ // Intersection point calculation.
602
+ var intersect = new this.leaflet.LatLng(pt1.lat + incIntersect * deltaY, pt1.lng + incIntersect * deltaX);
603
+ return self.kmTo(pt, intersect);
604
+ };
605
+ LeafletPolylines.prototype.kmTo = function (pt1, pt2) {
606
+ var e = Math;
607
+ var ra = e.PI / 180;
608
+ var b = pt1.lat * ra;
609
+ var c = pt2.lat * ra;
610
+ var d = b - c;
611
+ var g = pt1.lng * ra - pt2.lng * ra;
612
+ var f = 2 *
613
+ e.asin(e.sqrt(e.pow(e.sin(d / 2), 2) +
614
+ e.cos(b) * e.cos(c) * e.pow(e.sin(g / 2), 2)));
615
+ return f * 6378.137 * 1000;
616
+ };
617
+ LeafletPolylines.prototype.getBoundsPolylines = function (polylines) {
618
+ var group = new this.leaflet.FeatureGroup(polylines);
619
+ return group.getBounds();
620
+ };
621
+ LeafletPolylines.prototype.addPolylineEventMove = function (polyline, eventFunction) {
622
+ var _this = this;
623
+ var self = this;
624
+ polyline.on("editable:vertex:dragstart", function (eventStart) {
625
+ // TODO: Se estiver editando um trecho na polyline, não libera para novos trechos. (duplo clique)
626
+ _this.editModeBlockingMapClick = true;
627
+ var lastPosition = new EventReturn([
628
+ eventStart.vertex.latlng.lat,
629
+ eventStart.vertex.latlng.lng,
630
+ ]);
631
+ polyline.on("editable:vertex:dragend", function (eventEnd) {
632
+ if (polyline.highlight && polyline.decorator) {
633
+ self.map.removeLayer(polyline.decorator);
634
+ self.setArrowSelectedPath();
635
+ }
636
+ var newPosition = new EventReturn([
637
+ eventEnd.vertex.latlng.lat,
638
+ eventEnd.vertex.latlng.lng,
639
+ ]);
640
+ eventFunction(newPosition, lastPosition, eventEnd.target.object, eventEnd.vertex.getIndex(), polyline
641
+ .getLatLngs()
642
+ .map(function (x) { return new EventReturn([x.lat, x.lng]); }));
643
+ polyline.off("editable:vertex:dragend");
644
+ setTimeout(function () {
645
+ _this.editModeBlockingMapClick = false;
646
+ }, 300);
647
+ });
648
+ });
649
+ };
650
+ LeafletPolylines.prototype.addPolylineEventInsertAt = function (polyline, eventFunction) {
651
+ var self = this;
652
+ polyline.on("editable:vertex:new", function (eventNew) {
653
+ var latlngs = eventNew.vertex.latlngs;
654
+ var previous = latlngs[latlngs.findIndex(function (x) { return x === eventNew.vertex.latlng; }) - 1];
655
+ var previousPoint = new EventReturn([previous.lat, previous.lng]);
656
+ polyline.on("editable:vertex:dragend", function (event) {
657
+ if (polyline.highlight && polyline.decorator) {
658
+ self.map.removeLayer(polyline.decorator);
659
+ self.setArrowSelectedPath();
660
+ }
661
+ var newPoint = new EventReturn([
662
+ event.vertex.latlng.lat,
663
+ event.vertex.latlng.lng,
664
+ ]);
665
+ eventFunction(newPoint, previousPoint, event.target.object, event.vertex.getIndex(), polyline
666
+ .getLatLngs()
667
+ .map(function (x) { return new EventReturn([x.lat, x.lng]); }));
668
+ polyline.off("editable:vertex:dragend");
669
+ });
670
+ });
671
+ };
672
+ LeafletPolylines.prototype.addPolylineEventRemoveAt = function (polyline, eventFunction) {
673
+ polyline.on("editable:vertex:deleted", function (event) {
674
+ var param = new EventReturn([
675
+ event.vertex.latlng.lat,
676
+ event.vertex.latlng.lng,
677
+ ]);
678
+ eventFunction(param, event.target.object, polyline
679
+ .getLatLngs()
680
+ .map(function (x) { return new EventReturn([x.lat, x.lng]); }));
681
+ });
682
+ };
683
+ LeafletPolylines.prototype.addPolylineEventRightClick = function (polyline, eventFunction) {
684
+ polyline.on("contextmenu", function (event) {
685
+ var param = new EventReturn([event.latlng.lat, event.latlng.lng]);
686
+ eventFunction(param, polyline.object);
687
+ });
688
+ polyline.on("editable:vertex:contextmenu", function (event) {
689
+ var param = new EventReturn([event.latlng.lat, event.latlng.lng]);
690
+ eventFunction(param, polyline.object);
691
+ });
692
+ };
693
+ LeafletPolylines.prototype.addPolylineEventMouseOver = function (polyline, eventFunction) {
694
+ polyline.on("mouseover", function (event) {
695
+ var param = new EventReturn([event.latlng.lat, event.latlng.lng]);
696
+ eventFunction(param, event.target.object);
697
+ });
698
+ };
699
+ LeafletPolylines.prototype.addPolylineEventMouseOut = function (polyline, eventFunction) {
700
+ polyline.on("mouseout", function (event) {
701
+ var param = new EventReturn([event.latlng.lat, event.latlng.lng]);
702
+ eventFunction(param, event.target.object);
703
+ });
704
+ };
705
+ LeafletPolylines.prototype.addPolylineEventDragPolyline = function (polyline, eventFunction) {
706
+ var _this = this;
707
+ polyline.on("dragend", function (event) {
708
+ _this.editModeBlockingMapClick = true;
709
+ var param = event.target
710
+ .getLatLngs()
711
+ .map(function (x) { return new EventReturn([x.lat, x.lng]); });
712
+ eventFunction(param, event.target.object);
713
+ setTimeout(function () {
714
+ _this.editModeBlockingMapClick = false;
715
+ }, 300);
716
+ });
717
+ };
718
+ return LeafletPolylines;
719
+ }());
720
+ export default LeafletPolylines;
721
+ //# sourceMappingURL=leaflet-polylines.js.map