@inlog/inlog-maps 5.0.6 → 6.0.0

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 (244) hide show
  1. package/DOCUMENTATION.md +19 -2
  2. package/_bundles/inlog-maps.js +2 -7239
  3. package/_bundles/inlog-maps.js.LICENSE.txt +20 -0
  4. package/_bundles/inlog-maps.js.map +1 -1
  5. package/_bundles/inlog-maps.min.js +2 -1
  6. package/_bundles/inlog-maps.min.js.LICENSE.txt +20 -0
  7. package/_bundles/inlog-maps.min.js.map +1 -1
  8. package/lib-esm/index.js +46 -45
  9. package/lib-esm/index.js.map +1 -1
  10. package/lib-esm/map.js +1136 -1008
  11. package/lib-esm/map.js.map +1 -1
  12. package/lib-esm/models/apis/google/google-circles.js +133 -128
  13. package/lib-esm/models/apis/google/google-circles.js.map +1 -1
  14. package/lib-esm/models/apis/google/google-geojson.js +72 -69
  15. package/lib-esm/models/apis/google/google-geojson.js.map +1 -1
  16. package/lib-esm/models/apis/google/google-map.js +173 -88
  17. package/lib-esm/models/apis/google/google-map.js.map +1 -1
  18. package/lib-esm/models/apis/google/google-markers.js +324 -288
  19. package/lib-esm/models/apis/google/google-markers.js.map +1 -1
  20. package/lib-esm/models/apis/google/google-overlay.js +101 -94
  21. package/lib-esm/models/apis/google/google-overlay.js.map +1 -1
  22. package/lib-esm/models/apis/google/google-polygons.js +300 -225
  23. package/lib-esm/models/apis/google/google-polygons.js.map +1 -1
  24. package/lib-esm/models/apis/google/google-polylines.js +706 -594
  25. package/lib-esm/models/apis/google/google-polylines.js.map +1 -1
  26. package/lib-esm/models/apis/google/google-popup.js +58 -58
  27. package/lib-esm/models/apis/google/google-popup.js.map +1 -1
  28. package/lib-esm/models/apis/googleMaps.js +448 -352
  29. package/lib-esm/models/apis/googleMaps.js.map +1 -1
  30. package/lib-esm/models/apis/leaflet/leaflet-circle.js +162 -132
  31. package/lib-esm/models/apis/leaflet/leaflet-circle.js.map +1 -1
  32. package/lib-esm/models/apis/leaflet/leaflet-geojson.js +72 -66
  33. package/lib-esm/models/apis/leaflet/leaflet-geojson.js.map +1 -1
  34. package/lib-esm/models/apis/leaflet/leaflet-map.js +139 -83
  35. package/lib-esm/models/apis/leaflet/leaflet-map.js.map +1 -1
  36. package/lib-esm/models/apis/leaflet/leaflet-markers.js +293 -257
  37. package/lib-esm/models/apis/leaflet/leaflet-markers.js.map +1 -1
  38. package/lib-esm/models/apis/leaflet/leaflet-overlay.js +34 -34
  39. package/lib-esm/models/apis/leaflet/leaflet-overlay.js.map +1 -1
  40. package/lib-esm/models/apis/leaflet/leaflet-polygons.js +210 -210
  41. package/lib-esm/models/apis/leaflet/leaflet-polygons.js.map +1 -1
  42. package/lib-esm/models/apis/leaflet/leaflet-polylines.js +705 -588
  43. package/lib-esm/models/apis/leaflet/leaflet-polylines.js.map +1 -1
  44. package/lib-esm/models/apis/leaflet/leaflet-popup.js +73 -73
  45. package/lib-esm/models/apis/leaflet/leaflet-popup.js.map +1 -1
  46. package/lib-esm/models/apis/leaflet.js +463 -358
  47. package/lib-esm/models/apis/leaflet.js.map +1 -1
  48. package/lib-esm/models/apis/mapFunctions.js +1 -0
  49. package/lib-esm/models/dto/event-type.js +38 -38
  50. package/lib-esm/models/dto/map-type.js +5 -5
  51. package/lib-esm/models/dto/polyline-type.js +6 -6
  52. package/lib-esm/models/features/circle/circle-alter-options.js +13 -13
  53. package/lib-esm/models/features/circle/circle-options.js +18 -18
  54. package/lib-esm/models/features/events/event-return.js +7 -7
  55. package/lib-esm/models/features/geojson/geojson-options.js +8 -8
  56. package/lib-esm/models/features/marker/circle-marker-options.js +11 -11
  57. package/lib-esm/models/features/marker/circle-marker-style.js +11 -11
  58. package/lib-esm/models/features/marker/marker-alter-options.js +9 -9
  59. package/lib-esm/models/features/marker/marker-icon.js +9 -9
  60. package/lib-esm/models/features/marker/marker-options.js +17 -17
  61. package/lib-esm/models/features/marker-clusterer/marker-clusterer-config.js +9 -9
  62. package/lib-esm/models/features/overlay/overlay-options.js +14 -14
  63. package/lib-esm/models/features/polygons/polygon-alter-options.js +13 -12
  64. package/lib-esm/models/features/polygons/polygon-alter-options.js.map +1 -1
  65. package/lib-esm/models/features/polygons/polygon-options.js +18 -17
  66. package/lib-esm/models/features/polygons/polygon-options.js.map +1 -1
  67. package/lib-esm/models/features/polyline/navigations-options.js +15 -13
  68. package/lib-esm/models/features/polyline/navigations-options.js.map +1 -1
  69. package/lib-esm/models/features/polyline/polyline-options.js +19 -19
  70. package/lib-esm/models/features/polyline/polyline-options.js.map +1 -1
  71. package/lib-esm/models/features/popup/popup-options.js +12 -12
  72. package/lib-esm/utils/maps-api-loader.service.js +88 -75
  73. package/lib-esm/utils/maps-api-loader.service.js.map +1 -1
  74. package/lib-esm/utils/url-builder.js +43 -43
  75. package/lib-esm/utils/url-builder.js.map +1 -1
  76. package/package.json +67 -63
  77. package/lib/index.d.ts +0 -46
  78. package/lib/index.js +0 -47
  79. package/lib/index.js.map +0 -1
  80. package/lib/map.d.ts +0 -513
  81. package/lib/map.js +0 -1011
  82. package/lib/map.js.map +0 -1
  83. package/lib/models/apis/google/google-circles.d.ts +0 -18
  84. package/lib/models/apis/google/google-circles.js +0 -131
  85. package/lib/models/apis/google/google-circles.js.map +0 -1
  86. package/lib/models/apis/google/google-geojson.d.ts +0 -9
  87. package/lib/models/apis/google/google-geojson.js +0 -72
  88. package/lib/models/apis/google/google-geojson.js.map +0 -1
  89. package/lib/models/apis/google/google-map.d.ts +0 -15
  90. package/lib/models/apis/google/google-map.js +0 -91
  91. package/lib/models/apis/google/google-map.js.map +0 -1
  92. package/lib/models/apis/google/google-markers.d.ts +0 -29
  93. package/lib/models/apis/google/google-markers.js +0 -291
  94. package/lib/models/apis/google/google-markers.js.map +0 -1
  95. package/lib/models/apis/google/google-overlay.d.ts +0 -11
  96. package/lib/models/apis/google/google-overlay.js +0 -97
  97. package/lib/models/apis/google/google-overlay.js.map +0 -1
  98. package/lib/models/apis/google/google-polygons.d.ts +0 -29
  99. package/lib/models/apis/google/google-polygons.js +0 -228
  100. package/lib/models/apis/google/google-polygons.js.map +0 -1
  101. package/lib/models/apis/google/google-polylines.d.ts +0 -55
  102. package/lib/models/apis/google/google-polylines.js +0 -597
  103. package/lib/models/apis/google/google-polylines.js.map +0 -1
  104. package/lib/models/apis/google/google-popup.d.ts +0 -10
  105. package/lib/models/apis/google/google-popup.js +0 -61
  106. package/lib/models/apis/google/google-popup.js.map +0 -1
  107. package/lib/models/apis/googleMaps.d.ts +0 -95
  108. package/lib/models/apis/googleMaps.js +0 -355
  109. package/lib/models/apis/googleMaps.js.map +0 -1
  110. package/lib/models/apis/leaflet/leaflet-circle.d.ts +0 -18
  111. package/lib/models/apis/leaflet/leaflet-circle.js +0 -135
  112. package/lib/models/apis/leaflet/leaflet-circle.js.map +0 -1
  113. package/lib/models/apis/leaflet/leaflet-geojson.d.ts +0 -9
  114. package/lib/models/apis/leaflet/leaflet-geojson.js +0 -69
  115. package/lib/models/apis/leaflet/leaflet-geojson.js.map +0 -1
  116. package/lib/models/apis/leaflet/leaflet-map.d.ts +0 -15
  117. package/lib/models/apis/leaflet/leaflet-map.js +0 -86
  118. package/lib/models/apis/leaflet/leaflet-map.js.map +0 -1
  119. package/lib/models/apis/leaflet/leaflet-markers.d.ts +0 -29
  120. package/lib/models/apis/leaflet/leaflet-markers.js +0 -260
  121. package/lib/models/apis/leaflet/leaflet-markers.js.map +0 -1
  122. package/lib/models/apis/leaflet/leaflet-overlay.d.ts +0 -10
  123. package/lib/models/apis/leaflet/leaflet-overlay.js +0 -37
  124. package/lib/models/apis/leaflet/leaflet-overlay.js.map +0 -1
  125. package/lib/models/apis/leaflet/leaflet-polygons.d.ts +0 -23
  126. package/lib/models/apis/leaflet/leaflet-polygons.js +0 -213
  127. package/lib/models/apis/leaflet/leaflet-polygons.js.map +0 -1
  128. package/lib/models/apis/leaflet/leaflet-polylines.d.ts +0 -54
  129. package/lib/models/apis/leaflet/leaflet-polylines.js +0 -591
  130. package/lib/models/apis/leaflet/leaflet-polylines.js.map +0 -1
  131. package/lib/models/apis/leaflet/leaflet-popup.d.ts +0 -11
  132. package/lib/models/apis/leaflet/leaflet-popup.js +0 -76
  133. package/lib/models/apis/leaflet/leaflet-popup.js.map +0 -1
  134. package/lib/models/apis/leaflet.d.ts +0 -97
  135. package/lib/models/apis/leaflet.js +0 -361
  136. package/lib/models/apis/leaflet.js.map +0 -1
  137. package/lib/models/apis/mapFunctions.d.ts +0 -84
  138. package/lib/models/apis/mapFunctions.js +0 -3
  139. package/lib/models/apis/mapFunctions.js.map +0 -1
  140. package/lib/models/dto/event-type.d.ts +0 -33
  141. package/lib/models/dto/event-type.js +0 -41
  142. package/lib/models/dto/event-type.js.map +0 -1
  143. package/lib/models/dto/map-type.d.ts +0 -4
  144. package/lib/models/dto/map-type.js +0 -8
  145. package/lib/models/dto/map-type.js.map +0 -1
  146. package/lib/models/dto/polyline-type.d.ts +0 -5
  147. package/lib/models/dto/polyline-type.js +0 -9
  148. package/lib/models/dto/polyline-type.js.map +0 -1
  149. package/lib/models/features/circle/circle-alter-options.d.ts +0 -12
  150. package/lib/models/features/circle/circle-alter-options.js +0 -16
  151. package/lib/models/features/circle/circle-alter-options.js.map +0 -1
  152. package/lib/models/features/circle/circle-options.d.ts +0 -15
  153. package/lib/models/features/circle/circle-options.js +0 -21
  154. package/lib/models/features/circle/circle-options.js.map +0 -1
  155. package/lib/models/features/events/event-return.d.ts +0 -4
  156. package/lib/models/features/events/event-return.js +0 -10
  157. package/lib/models/features/events/event-return.js.map +0 -1
  158. package/lib/models/features/geojson/geojson-options.d.ts +0 -5
  159. package/lib/models/features/geojson/geojson-options.js +0 -11
  160. package/lib/models/features/geojson/geojson-options.js.map +0 -1
  161. package/lib/models/features/marker/circle-marker-options.d.ts +0 -9
  162. package/lib/models/features/marker/circle-marker-options.js +0 -14
  163. package/lib/models/features/marker/circle-marker-options.js.map +0 -1
  164. package/lib/models/features/marker/circle-marker-style.d.ts +0 -8
  165. package/lib/models/features/marker/circle-marker-style.js +0 -14
  166. package/lib/models/features/marker/circle-marker-style.js.map +0 -1
  167. package/lib/models/features/marker/marker-alter-options.d.ts +0 -8
  168. package/lib/models/features/marker/marker-alter-options.js +0 -12
  169. package/lib/models/features/marker/marker-alter-options.js.map +0 -1
  170. package/lib/models/features/marker/marker-icon.d.ts +0 -6
  171. package/lib/models/features/marker/marker-icon.js +0 -12
  172. package/lib/models/features/marker/marker-icon.js.map +0 -1
  173. package/lib/models/features/marker/marker-options.d.ts +0 -11
  174. package/lib/models/features/marker/marker-options.js +0 -20
  175. package/lib/models/features/marker/marker-options.js.map +0 -1
  176. package/lib/models/features/marker-clusterer/marker-clusterer-config.d.ts +0 -6
  177. package/lib/models/features/marker-clusterer/marker-clusterer-config.js +0 -12
  178. package/lib/models/features/marker-clusterer/marker-clusterer-config.js.map +0 -1
  179. package/lib/models/features/overlay/overlay-options.d.ts +0 -11
  180. package/lib/models/features/overlay/overlay-options.js +0 -17
  181. package/lib/models/features/overlay/overlay-options.js.map +0 -1
  182. package/lib/models/features/polygons/polygon-alter-options.d.ts +0 -13
  183. package/lib/models/features/polygons/polygon-alter-options.js +0 -15
  184. package/lib/models/features/polygons/polygon-alter-options.js.map +0 -1
  185. package/lib/models/features/polygons/polygon-options.d.ts +0 -15
  186. package/lib/models/features/polygons/polygon-options.js +0 -20
  187. package/lib/models/features/polygons/polygon-options.js.map +0 -1
  188. package/lib/models/features/polyline/navigations-options.d.ts +0 -11
  189. package/lib/models/features/polyline/navigations-options.js +0 -16
  190. package/lib/models/features/polyline/navigations-options.js.map +0 -1
  191. package/lib/models/features/polyline/polyline-options.d.ts +0 -18
  192. package/lib/models/features/polyline/polyline-options.js +0 -22
  193. package/lib/models/features/polyline/polyline-options.js.map +0 -1
  194. package/lib/models/features/popup/popup-options.d.ts +0 -9
  195. package/lib/models/features/popup/popup-options.js +0 -15
  196. package/lib/models/features/popup/popup-options.js.map +0 -1
  197. package/lib/utils/maps-api-loader.service.d.ts +0 -9
  198. package/lib/utils/maps-api-loader.service.js +0 -78
  199. package/lib/utils/maps-api-loader.service.js.map +0 -1
  200. package/lib/utils/url-builder.d.ts +0 -11
  201. package/lib/utils/url-builder.js +0 -46
  202. package/lib/utils/url-builder.js.map +0 -1
  203. package/lib-esm/index.d.ts +0 -46
  204. package/lib-esm/map.d.ts +0 -513
  205. package/lib-esm/models/apis/google/google-circles.d.ts +0 -18
  206. package/lib-esm/models/apis/google/google-geojson.d.ts +0 -9
  207. package/lib-esm/models/apis/google/google-map.d.ts +0 -15
  208. package/lib-esm/models/apis/google/google-markers.d.ts +0 -29
  209. package/lib-esm/models/apis/google/google-overlay.d.ts +0 -11
  210. package/lib-esm/models/apis/google/google-polygons.d.ts +0 -29
  211. package/lib-esm/models/apis/google/google-polylines.d.ts +0 -55
  212. package/lib-esm/models/apis/google/google-popup.d.ts +0 -10
  213. package/lib-esm/models/apis/googleMaps.d.ts +0 -95
  214. package/lib-esm/models/apis/leaflet/leaflet-circle.d.ts +0 -18
  215. package/lib-esm/models/apis/leaflet/leaflet-geojson.d.ts +0 -9
  216. package/lib-esm/models/apis/leaflet/leaflet-map.d.ts +0 -15
  217. package/lib-esm/models/apis/leaflet/leaflet-markers.d.ts +0 -29
  218. package/lib-esm/models/apis/leaflet/leaflet-overlay.d.ts +0 -10
  219. package/lib-esm/models/apis/leaflet/leaflet-polygons.d.ts +0 -23
  220. package/lib-esm/models/apis/leaflet/leaflet-polylines.d.ts +0 -54
  221. package/lib-esm/models/apis/leaflet/leaflet-popup.d.ts +0 -11
  222. package/lib-esm/models/apis/leaflet.d.ts +0 -97
  223. package/lib-esm/models/apis/mapFunctions.d.ts +0 -84
  224. package/lib-esm/models/dto/event-type.d.ts +0 -33
  225. package/lib-esm/models/dto/map-type.d.ts +0 -4
  226. package/lib-esm/models/dto/polyline-type.d.ts +0 -5
  227. package/lib-esm/models/features/circle/circle-alter-options.d.ts +0 -12
  228. package/lib-esm/models/features/circle/circle-options.d.ts +0 -15
  229. package/lib-esm/models/features/events/event-return.d.ts +0 -4
  230. package/lib-esm/models/features/geojson/geojson-options.d.ts +0 -5
  231. package/lib-esm/models/features/marker/circle-marker-options.d.ts +0 -9
  232. package/lib-esm/models/features/marker/circle-marker-style.d.ts +0 -8
  233. package/lib-esm/models/features/marker/marker-alter-options.d.ts +0 -8
  234. package/lib-esm/models/features/marker/marker-icon.d.ts +0 -6
  235. package/lib-esm/models/features/marker/marker-options.d.ts +0 -11
  236. package/lib-esm/models/features/marker-clusterer/marker-clusterer-config.d.ts +0 -6
  237. package/lib-esm/models/features/overlay/overlay-options.d.ts +0 -11
  238. package/lib-esm/models/features/polygons/polygon-alter-options.d.ts +0 -13
  239. package/lib-esm/models/features/polygons/polygon-options.d.ts +0 -15
  240. package/lib-esm/models/features/polyline/navigations-options.d.ts +0 -11
  241. package/lib-esm/models/features/polyline/polyline-options.d.ts +0 -18
  242. package/lib-esm/models/features/popup/popup-options.d.ts +0 -9
  243. package/lib-esm/utils/maps-api-loader.service.d.ts +0 -9
  244. package/lib-esm/utils/url-builder.d.ts +0 -11
@@ -1,289 +1,325 @@
1
- import { MarkerEventType } from '../../dto/event-type';
2
- import EventReturn from '../../features/events/event-return';
3
- var MarkerClusterer = require('@google/markerclustererplus');
4
- var GoogleMarkers = /** @class */ (function () {
5
- function GoogleMarkers(map, google) {
6
- this.map = null;
7
- this.google = null;
8
- this.map = map;
9
- this.google = google;
10
- }
11
- GoogleMarkers.prototype.drawMarker = function (options, eventClick) {
12
- var newOptions = {
13
- draggable: options.draggable,
14
- icon: null,
15
- object: options.object,
16
- position: {
17
- lat: options.latlng[0],
18
- lng: options.latlng[1]
19
- }
20
- };
21
- if (options.icon) {
22
- newOptions.icon = {
23
- url: options.icon.url
24
- };
25
- if (options.icon.size) {
26
- newOptions.icon.size = new this.google.maps.Size(options.icon.size[0], options.icon.size[1]);
27
- }
28
- }
29
- var marker = new this.google.maps.Marker(newOptions);
30
- if (eventClick) {
31
- this.google.maps.event.addListener(marker, 'click', function (event) {
32
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
33
- eventClick(param, options.object);
34
- });
35
- }
36
- if (options.addToMap) {
37
- marker.setMap(this.map);
38
- }
39
- if (options.fitBounds) {
40
- var bounds = new this.google.maps.LatLngBounds();
41
- bounds.extend(marker.getPosition());
42
- this.map.fitBounds(bounds);
43
- }
44
- return marker;
45
- };
46
- GoogleMarkers.prototype.drawCircleMarker = function (options, eventClick) {
47
- var self = this;
48
- var newOptions = {
49
- icon: {
50
- fillColor: options.style.fillColor,
51
- fillOpacity: options.style.fillOpacity,
52
- path: this.google.maps.SymbolPath.CIRCLE,
53
- scale: options.style.radius,
54
- strokeColor: options.style.color,
55
- strokeWeight: options.style.weight
56
- },
57
- object: options.object,
58
- position: {
59
- lat: options.latlng[0],
60
- lng: options.latlng[1]
61
- }
62
- };
63
- var marker = new this.google.maps.Marker(newOptions);
64
- if (eventClick) {
65
- this.google.maps.event.addListener(marker, 'click', function (event) {
66
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
67
- eventClick(param, options.object);
68
- });
69
- }
70
- if (options.addToMap) {
71
- marker.setMap(self.map);
72
- }
73
- if (options.fitBounds) {
74
- var bounds = new this.google.maps.LatLngBounds();
75
- bounds.extend(marker.getPosition());
76
- self.map.fitBounds(bounds);
77
- }
78
- return marker;
79
- };
80
- GoogleMarkers.prototype.toggleMarkers = function (markers, show, markerClusterer) {
81
- var self = this;
82
- markers.forEach(function (marker) {
83
- marker.setMap(show ? self.map : null);
84
- if (markerClusterer) {
85
- if (show) {
86
- self.addMarkerOnClusterer(marker, markerClusterer);
87
- }
88
- else {
89
- self.removeMarkerFromClusterer(marker, markerClusterer);
90
- }
91
- }
92
- });
93
- };
94
- GoogleMarkers.prototype.alterMarkerOptions = function (markers, options) {
95
- var _this = this;
96
- var icon = null;
97
- var position = null;
98
- if (options.latlng) {
99
- position = {
100
- lat: options.latlng[0],
101
- lng: options.latlng[1]
102
- };
103
- }
104
- if (options.icon) {
105
- icon = options.icon;
106
- if (options.icon.size) {
107
- icon.size = new this.google.maps.Size(options.icon.size[0], options.icon.size[1]);
108
- }
109
- }
110
- markers.forEach(function (marker) {
111
- if (options.style) {
112
- icon = {
113
- fillColor: options.style.fillColor ? options.style.fillColor : marker.icon.fillColor,
114
- fillOpacity: options.style.fillOpacity ? options.style.fillOpacity : marker.icon.fillOpacity,
115
- path: _this.google.maps.SymbolPath.CIRCLE,
116
- scale: options.style.radius ? options.style.radius : marker.icon.scale,
117
- strokeColor: options.style.color ? options.style.color : marker.icon.strokeColor,
118
- strokeWeight: options.style.weight ? options.style.weight : marker.icon.strokeWeight
119
- };
120
- }
121
- var newOptions = null;
122
- if (position && icon) {
123
- newOptions = { icon: icon, position: position };
124
- }
125
- else if (position) {
126
- newOptions = { position: position };
127
- }
128
- else {
129
- newOptions = { icon: icon };
130
- }
131
- marker.setOptions(newOptions);
132
- });
133
- };
134
- GoogleMarkers.prototype.alterMarkerPosition = function (markers, position, addTransition) {
135
- var _this = this;
136
- var newPosition = {
137
- lat: position[0],
138
- lng: position[1]
139
- };
140
- markers.forEach(function (marker) {
141
- if (addTransition) {
142
- _this.moveTransitionMarker(newPosition, marker);
143
- }
144
- else {
145
- marker.setPosition(newPosition);
146
- }
147
- });
148
- };
149
- GoogleMarkers.prototype.fitBoundsPositions = function (markers) {
150
- var bounds = new this.google.maps.LatLngBounds();
151
- markers.map(function (marker) { return marker.position; }).forEach(function (position) { return bounds.extend(position); });
152
- this.map.fitBounds(bounds);
153
- };
154
- GoogleMarkers.prototype.isMarkerOnMap = function (marker) {
155
- return !!marker.map;
156
- };
157
- GoogleMarkers.prototype.setCenterMarker = function (marker) {
158
- this.map.setCenter(marker.getPosition());
159
- };
160
- GoogleMarkers.prototype.addMarkerEvent = function (markers, eventType, eventFunction) {
161
- var _this = this;
162
- markers.forEach(function (marker) {
163
- switch (eventType) {
164
- case MarkerEventType.Click:
165
- _this.google.maps.event.addListener(marker, 'click', function (event) {
166
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
167
- eventFunction(param, marker.object);
168
- });
169
- break;
170
- case MarkerEventType.RightClick:
171
- _this.google.maps.event.addListener(marker, 'rightclick', function (event) {
172
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
173
- eventFunction(param, marker.object);
174
- });
175
- break;
176
- case MarkerEventType.AfterDrag:
177
- _this.google.maps.event.addListener(marker, 'dragend', function (event) {
178
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
179
- eventFunction(param, marker.object);
180
- });
181
- break;
182
- case MarkerEventType.MouseOver:
183
- _this.google.maps.event.addListener(marker, 'mouseover', function (event) {
184
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
185
- eventFunction(param, marker.object);
186
- });
187
- break;
188
- case MarkerEventType.MouseOut:
189
- _this.google.maps.event.addListener(marker, 'mouseout', function (event) {
190
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
191
- eventFunction(param, marker.object);
192
- });
193
- break;
194
- case MarkerEventType.BeforeDrag:
195
- _this.google.maps.event.addListener(marker, 'dragstart', function (event) {
196
- var param = new EventReturn([event.latLng.lat(), event.latLng.lng()]);
197
- eventFunction(param, marker.object);
198
- });
199
- break;
200
- default:
201
- break;
202
- }
203
- });
204
- };
205
- GoogleMarkers.prototype.removeMarkerEvent = function (markers, event) {
206
- var _this = this;
207
- markers.forEach(function (marker) {
208
- switch (event) {
209
- case MarkerEventType.Click:
210
- _this.google.maps.event.clearListeners(marker, 'click');
211
- break;
212
- case MarkerEventType.RightClick:
213
- _this.google.maps.event.clearListeners(marker, 'rightclick');
214
- break;
215
- case MarkerEventType.AfterDrag:
216
- _this.google.maps.event.clearListeners(marker, 'dragend');
217
- break;
218
- case MarkerEventType.MouseOver:
219
- _this.google.maps.event.clearListeners(marker, 'mouseover');
220
- break;
221
- case MarkerEventType.MouseOut:
222
- _this.google.maps.event.clearListeners(marker, 'mouseout');
223
- break;
224
- case MarkerEventType.BeforeDrag:
225
- _this.google.maps.event.clearListeners(marker, "dragstart");
226
- break;
227
- default:
228
- break;
229
- }
230
- });
231
- };
232
- /* Marker Clusterer */
233
- GoogleMarkers.prototype.addMarkerClusterer = function (config) {
234
- return new MarkerClusterer(this.map, [], {
235
- maxZoom: config.clusterMaxZoom,
236
- minimumClusterSize: config.clusterMinSize,
237
- zoomOnClick: config.clusterZoomOnClick
238
- });
239
- };
240
- GoogleMarkers.prototype.alterMarkerClustererConfig = function (markerClusterer, config) {
241
- markerClusterer.setZoomOnClick(config.clusterZoomOnClick);
242
- markerClusterer.setMinimumClusterSize(config.clusterMinSize);
243
- markerClusterer.setMaxZoom(config.clusterMaxZoom);
244
- };
245
- GoogleMarkers.prototype.refreshClusterer = function (markerClusterer) {
246
- markerClusterer.repaint();
247
- };
248
- GoogleMarkers.prototype.addMarkerOnClusterer = function (marker, markerClusterer) {
249
- if (markerClusterer.getMarkers().indexOf(marker) === -1) {
250
- markerClusterer.addMarker(marker, true);
251
- }
252
- };
253
- GoogleMarkers.prototype.removeMarkerFromClusterer = function (marker, markerClusterer) {
254
- markerClusterer.removeMarker(marker);
255
- };
256
- GoogleMarkers.prototype.clearMarkersClusterer = function (markerClusterer) {
257
- markerClusterer.clearMarkers();
258
- };
259
- GoogleMarkers.prototype.countMarkersOnCluster = function (markerClusterer) {
260
- return markerClusterer.getMarkers().length;
261
- };
262
- GoogleMarkers.prototype.moveTransitionMarker = function (position, marker) {
263
- var numDeltas = 5;
264
- var reference = {
265
- deltaLat: (position.lat - marker.getPosition().lat()) / numDeltas,
266
- deltaLng: (position.lng - marker.getPosition().lng()) / numDeltas,
267
- i: 0,
268
- position: [marker.getPosition().lat(), marker.getPosition().lng()],
269
- lastPosition: position
270
- };
271
- this.moveMarker(marker, reference, numDeltas);
272
- };
273
- GoogleMarkers.prototype.moveMarker = function (marker, reference, numDeltas) {
274
- var _this = this;
275
- reference.position[0] += reference.deltaLat;
276
- reference.position[1] += reference.deltaLng;
277
- marker.setPosition(new google.maps.LatLng(reference.position[0], reference.position[1]));
278
- if (reference.i < numDeltas) {
279
- reference.i++;
280
- setTimeout(function () { return _this.moveMarker(marker, reference, numDeltas); }, 20);
281
- }
282
- else if (reference.i === numDeltas) {
283
- setTimeout(function () { return marker.setPosition(reference.lastPosition); }, 20);
284
- }
285
- };
286
- return GoogleMarkers;
287
- }());
288
- export default GoogleMarkers;
1
+ import { MarkerEventType } from "../../dto/event-type";
2
+ import EventReturn from "../../features/events/event-return";
3
+ var MarkerClusterer = require("@google/markerclustererplus");
4
+ var GoogleMarkers = /** @class */ (function () {
5
+ function GoogleMarkers(map, google) {
6
+ this.map = null;
7
+ this.google = null;
8
+ this.map = map;
9
+ this.google = google;
10
+ }
11
+ GoogleMarkers.prototype.drawMarker = function (options, eventClick) {
12
+ var newOptions = {
13
+ draggable: options.draggable,
14
+ icon: null,
15
+ object: options.object,
16
+ position: {
17
+ lat: options.latlng[0],
18
+ lng: options.latlng[1],
19
+ },
20
+ };
21
+ if (options.icon) {
22
+ newOptions.icon = {
23
+ url: options.icon.url,
24
+ };
25
+ if (options.icon.size) {
26
+ newOptions.icon.size = new this.google.maps.Size(options.icon.size[0], options.icon.size[1]);
27
+ }
28
+ }
29
+ var marker = new this.google.maps.Marker(newOptions);
30
+ if (eventClick) {
31
+ this.google.maps.event.addListener(marker, "click", function (event) {
32
+ var param = new EventReturn([
33
+ event.latLng.lat(),
34
+ event.latLng.lng(),
35
+ ]);
36
+ eventClick(param, options.object);
37
+ });
38
+ }
39
+ if (options.addToMap) {
40
+ marker.setMap(this.map);
41
+ }
42
+ if (options.fitBounds) {
43
+ var bounds = new this.google.maps.LatLngBounds();
44
+ bounds.extend(marker.getPosition());
45
+ this.map.fitBounds(bounds);
46
+ }
47
+ return marker;
48
+ };
49
+ GoogleMarkers.prototype.drawCircleMarker = function (options, eventClick) {
50
+ var self = this;
51
+ var newOptions = {
52
+ icon: {
53
+ fillColor: options.style.fillColor,
54
+ fillOpacity: options.style.fillOpacity,
55
+ path: this.google.maps.SymbolPath.CIRCLE,
56
+ scale: options.style.radius,
57
+ strokeColor: options.style.color,
58
+ strokeWeight: options.style.weight,
59
+ },
60
+ object: options.object,
61
+ position: {
62
+ lat: options.latlng[0],
63
+ lng: options.latlng[1],
64
+ },
65
+ };
66
+ var marker = new this.google.maps.Marker(newOptions);
67
+ if (eventClick) {
68
+ this.google.maps.event.addListener(marker, "click", function (event) {
69
+ var param = new EventReturn([
70
+ event.latLng.lat(),
71
+ event.latLng.lng(),
72
+ ]);
73
+ eventClick(param, options.object);
74
+ });
75
+ }
76
+ if (options.addToMap) {
77
+ marker.setMap(self.map);
78
+ }
79
+ if (options.fitBounds) {
80
+ var bounds = new this.google.maps.LatLngBounds();
81
+ bounds.extend(marker.getPosition());
82
+ self.map.fitBounds(bounds);
83
+ }
84
+ return marker;
85
+ };
86
+ GoogleMarkers.prototype.toggleMarkers = function (markers, show, markerClusterer) {
87
+ var self = this;
88
+ markers.forEach(function (marker) {
89
+ marker.setMap(show ? self.map : null);
90
+ if (markerClusterer) {
91
+ if (show) {
92
+ self.addMarkerOnClusterer(marker, markerClusterer);
93
+ }
94
+ else {
95
+ self.removeMarkerFromClusterer(marker, markerClusterer);
96
+ }
97
+ }
98
+ });
99
+ };
100
+ GoogleMarkers.prototype.alterMarkerOptions = function (markers, options) {
101
+ var _this = this;
102
+ var icon = null;
103
+ var position = null;
104
+ if (options.latlng) {
105
+ position = {
106
+ lat: options.latlng[0],
107
+ lng: options.latlng[1],
108
+ };
109
+ }
110
+ if (options.icon) {
111
+ icon = options.icon;
112
+ if (options.icon.size) {
113
+ icon.size = new this.google.maps.Size(options.icon.size[0], options.icon.size[1]);
114
+ }
115
+ }
116
+ markers.forEach(function (marker) {
117
+ if (options.style) {
118
+ icon = {
119
+ fillColor: options.style.fillColor
120
+ ? options.style.fillColor
121
+ : marker.icon.fillColor,
122
+ fillOpacity: options.style.fillOpacity
123
+ ? options.style.fillOpacity
124
+ : marker.icon.fillOpacity,
125
+ path: _this.google.maps.SymbolPath.CIRCLE,
126
+ scale: options.style.radius
127
+ ? options.style.radius
128
+ : marker.icon.scale,
129
+ strokeColor: options.style.color
130
+ ? options.style.color
131
+ : marker.icon.strokeColor,
132
+ strokeWeight: options.style.weight
133
+ ? options.style.weight
134
+ : marker.icon.strokeWeight,
135
+ };
136
+ }
137
+ var newOptions = null;
138
+ if (position && icon) {
139
+ newOptions = { icon: icon, position: position };
140
+ }
141
+ else if (position) {
142
+ newOptions = { position: position };
143
+ }
144
+ else {
145
+ newOptions = { icon: icon };
146
+ }
147
+ marker.setOptions(newOptions);
148
+ });
149
+ };
150
+ GoogleMarkers.prototype.alterMarkerPosition = function (markers, position, addTransition) {
151
+ var _this = this;
152
+ var newPosition = {
153
+ lat: position[0],
154
+ lng: position[1],
155
+ };
156
+ markers.forEach(function (marker) {
157
+ if (addTransition) {
158
+ _this.moveTransitionMarker(newPosition, marker);
159
+ }
160
+ else {
161
+ marker.setPosition(newPosition);
162
+ }
163
+ });
164
+ };
165
+ GoogleMarkers.prototype.fitBoundsPositions = function (markers) {
166
+ var bounds = new this.google.maps.LatLngBounds();
167
+ markers
168
+ .map(function (marker) { return marker.position; })
169
+ .forEach(function (position) { return bounds.extend(position); });
170
+ this.map.fitBounds(bounds);
171
+ };
172
+ GoogleMarkers.prototype.isMarkerOnMap = function (marker) {
173
+ return !!marker.map;
174
+ };
175
+ GoogleMarkers.prototype.setCenterMarker = function (marker) {
176
+ this.map.setCenter(marker.getPosition());
177
+ };
178
+ GoogleMarkers.prototype.addMarkerEvent = function (markers, eventType, eventFunction) {
179
+ var _this = this;
180
+ markers.forEach(function (marker) {
181
+ switch (eventType) {
182
+ case MarkerEventType.Click:
183
+ _this.google.maps.event.addListener(marker, "click", function (event) {
184
+ var param = new EventReturn([
185
+ event.latLng.lat(),
186
+ event.latLng.lng(),
187
+ ]);
188
+ eventFunction(param, marker.object);
189
+ });
190
+ break;
191
+ case MarkerEventType.RightClick:
192
+ _this.google.maps.event.addListener(marker, "rightclick", function (event) {
193
+ var param = new EventReturn([
194
+ event.latLng.lat(),
195
+ event.latLng.lng(),
196
+ ]);
197
+ eventFunction(param, marker.object);
198
+ });
199
+ break;
200
+ case MarkerEventType.AfterDrag:
201
+ _this.google.maps.event.addListener(marker, "dragend", function (event) {
202
+ var param = new EventReturn([
203
+ event.latLng.lat(),
204
+ event.latLng.lng(),
205
+ ]);
206
+ eventFunction(param, marker.object);
207
+ });
208
+ break;
209
+ case MarkerEventType.MouseOver:
210
+ _this.google.maps.event.addListener(marker, "mouseover", function (event) {
211
+ var param = new EventReturn([
212
+ event.latLng.lat(),
213
+ event.latLng.lng(),
214
+ ]);
215
+ eventFunction(param, marker.object);
216
+ });
217
+ break;
218
+ case MarkerEventType.MouseOut:
219
+ _this.google.maps.event.addListener(marker, "mouseout", function (event) {
220
+ var param = new EventReturn([
221
+ event.latLng.lat(),
222
+ event.latLng.lng(),
223
+ ]);
224
+ eventFunction(param, marker.object);
225
+ });
226
+ break;
227
+ case MarkerEventType.BeforeDrag:
228
+ _this.google.maps.event.addListener(marker, "dragstart", function (event) {
229
+ var param = new EventReturn([
230
+ event.latLng.lat(),
231
+ event.latLng.lng(),
232
+ ]);
233
+ eventFunction(param, marker.object);
234
+ });
235
+ break;
236
+ default:
237
+ break;
238
+ }
239
+ });
240
+ };
241
+ GoogleMarkers.prototype.removeMarkerEvent = function (markers, event) {
242
+ var _this = this;
243
+ markers.forEach(function (marker) {
244
+ switch (event) {
245
+ case MarkerEventType.Click:
246
+ _this.google.maps.event.clearListeners(marker, "click");
247
+ break;
248
+ case MarkerEventType.RightClick:
249
+ _this.google.maps.event.clearListeners(marker, "rightclick");
250
+ break;
251
+ case MarkerEventType.AfterDrag:
252
+ _this.google.maps.event.clearListeners(marker, "dragend");
253
+ break;
254
+ case MarkerEventType.MouseOver:
255
+ _this.google.maps.event.clearListeners(marker, "mouseover");
256
+ break;
257
+ case MarkerEventType.MouseOut:
258
+ _this.google.maps.event.clearListeners(marker, "mouseout");
259
+ break;
260
+ case MarkerEventType.BeforeDrag:
261
+ _this.google.maps.event.clearListeners(marker, "dragstart");
262
+ break;
263
+ default:
264
+ break;
265
+ }
266
+ });
267
+ };
268
+ /* Marker Clusterer */
269
+ GoogleMarkers.prototype.addMarkerClusterer = function (config) {
270
+ return new MarkerClusterer(this.map, [], {
271
+ maxZoom: config.clusterMaxZoom,
272
+ minimumClusterSize: config.clusterMinSize,
273
+ zoomOnClick: config.clusterZoomOnClick,
274
+ });
275
+ };
276
+ GoogleMarkers.prototype.alterMarkerClustererConfig = function (markerClusterer, config) {
277
+ markerClusterer.setZoomOnClick(config.clusterZoomOnClick);
278
+ markerClusterer.setMinimumClusterSize(config.clusterMinSize);
279
+ markerClusterer.setMaxZoom(config.clusterMaxZoom);
280
+ };
281
+ GoogleMarkers.prototype.refreshClusterer = function (markerClusterer) {
282
+ markerClusterer.repaint();
283
+ };
284
+ GoogleMarkers.prototype.addMarkerOnClusterer = function (marker, markerClusterer) {
285
+ if (markerClusterer.getMarkers().indexOf(marker) === -1) {
286
+ markerClusterer.addMarker(marker, true);
287
+ }
288
+ };
289
+ GoogleMarkers.prototype.removeMarkerFromClusterer = function (marker, markerClusterer) {
290
+ markerClusterer.removeMarker(marker);
291
+ };
292
+ GoogleMarkers.prototype.clearMarkersClusterer = function (markerClusterer) {
293
+ markerClusterer.clearMarkers();
294
+ };
295
+ GoogleMarkers.prototype.countMarkersOnCluster = function (markerClusterer) {
296
+ return markerClusterer.getMarkers().length;
297
+ };
298
+ GoogleMarkers.prototype.moveTransitionMarker = function (position, marker) {
299
+ var numDeltas = 5;
300
+ var reference = {
301
+ deltaLat: (position.lat - marker.getPosition().lat()) / numDeltas,
302
+ deltaLng: (position.lng - marker.getPosition().lng()) / numDeltas,
303
+ i: 0,
304
+ position: [marker.getPosition().lat(), marker.getPosition().lng()],
305
+ lastPosition: position,
306
+ };
307
+ this.moveMarker(marker, reference, numDeltas);
308
+ };
309
+ GoogleMarkers.prototype.moveMarker = function (marker, reference, numDeltas) {
310
+ var _this = this;
311
+ reference.position[0] += reference.deltaLat;
312
+ reference.position[1] += reference.deltaLng;
313
+ marker.setPosition(new google.maps.LatLng(reference.position[0], reference.position[1]));
314
+ if (reference.i < numDeltas) {
315
+ reference.i++;
316
+ setTimeout(function () { return _this.moveMarker(marker, reference, numDeltas); }, 20);
317
+ }
318
+ else if (reference.i === numDeltas) {
319
+ setTimeout(function () { return marker.setPosition(reference.lastPosition); }, 20);
320
+ }
321
+ };
322
+ return GoogleMarkers;
323
+ }());
324
+ export default GoogleMarkers;
289
325
  //# sourceMappingURL=google-markers.js.map