react-native-maplibre-lite 0.1.1 → 0.1.2

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 (70) hide show
  1. package/lib/module/components/MapPlaceholder.js +2 -3
  2. package/lib/module/components/MapPlaceholder.js.map +1 -1
  3. package/lib/module/components/MapView.js +117 -41
  4. package/lib/module/components/MapView.js.map +1 -1
  5. package/lib/module/components/Marker.js +2 -2
  6. package/lib/module/components/Marker.js.map +1 -1
  7. package/lib/module/components/Polygon.js +2 -2
  8. package/lib/module/components/Polygon.js.map +1 -1
  9. package/lib/module/components/Polyline.js +2 -2
  10. package/lib/module/components/Polyline.js.map +1 -1
  11. package/lib/module/components/utils.js +29 -0
  12. package/lib/module/components/utils.js.map +1 -0
  13. package/lib/module/{webContent.js → components/webContent.js} +18 -32
  14. package/lib/module/components/webContent.js.map +1 -0
  15. package/lib/module/components/webFunctions/addMarkerWeb.js +36 -10
  16. package/lib/module/components/webFunctions/addMarkerWeb.js.map +1 -1
  17. package/lib/module/components/webFunctions/addPolylineWeb.js +2 -2
  18. package/lib/module/components/webFunctions/fitBoundsWeb.js +6 -2
  19. package/lib/module/components/webFunctions/fitBoundsWeb.js.map +1 -1
  20. package/lib/module/components/webFunctions/flyToWeb.js +14 -0
  21. package/lib/module/components/webFunctions/flyToWeb.js.map +1 -0
  22. package/lib/module/components/webFunctions/initWeb.js +21 -19
  23. package/lib/module/components/webFunctions/initWeb.js.map +1 -1
  24. package/lib/module/components/webFunctions/updateWeb.js +78 -0
  25. package/lib/module/components/webFunctions/updateWeb.js.map +1 -0
  26. package/lib/typescript/src/components/MapPlaceholder.d.ts.map +1 -1
  27. package/lib/typescript/src/components/MapView.d.ts +8 -1
  28. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  29. package/lib/typescript/src/components/Marker.d.ts +1 -1
  30. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  31. package/lib/typescript/src/components/Polygon.d.ts +1 -1
  32. package/lib/typescript/src/components/Polygon.d.ts.map +1 -1
  33. package/lib/typescript/src/components/types.d.ts +4 -0
  34. package/lib/typescript/src/components/types.d.ts.map +1 -1
  35. package/lib/typescript/src/components/utils.d.ts +2 -0
  36. package/lib/typescript/src/components/utils.d.ts.map +1 -0
  37. package/lib/typescript/src/components/webContent.d.ts +3 -0
  38. package/lib/typescript/src/components/webContent.d.ts.map +1 -0
  39. package/lib/typescript/src/components/webFunctions/addMarkerWeb.d.ts +1 -1
  40. package/lib/typescript/src/components/webFunctions/addMarkerWeb.d.ts.map +1 -1
  41. package/lib/typescript/src/components/webFunctions/addPolylineWeb.d.ts +1 -1
  42. package/lib/typescript/src/components/webFunctions/fitBoundsWeb.d.ts +1 -1
  43. package/lib/typescript/src/components/webFunctions/fitBoundsWeb.d.ts.map +1 -1
  44. package/lib/typescript/src/components/webFunctions/flyToWeb.d.ts +2 -0
  45. package/lib/typescript/src/components/webFunctions/flyToWeb.d.ts.map +1 -0
  46. package/lib/typescript/src/components/webFunctions/initWeb.d.ts +1 -1
  47. package/lib/typescript/src/components/webFunctions/initWeb.d.ts.map +1 -1
  48. package/lib/typescript/src/components/webFunctions/updateWeb.d.ts +3 -0
  49. package/lib/typescript/src/components/webFunctions/updateWeb.d.ts.map +1 -0
  50. package/lib/typescript/src/index.d.ts +1 -1
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/src/components/MapPlaceholder.tsx +9 -5
  54. package/src/components/MapView.tsx +163 -57
  55. package/src/components/Marker.tsx +3 -3
  56. package/src/components/Polygon.tsx +3 -3
  57. package/src/components/Polyline.tsx +2 -2
  58. package/src/components/types.ts +4 -0
  59. package/src/components/utils.ts +31 -0
  60. package/src/{webContent.ts → components/webContent.ts} +20 -39
  61. package/src/components/webFunctions/addMarkerWeb.ts +36 -10
  62. package/src/components/webFunctions/addPolylineWeb.ts +2 -2
  63. package/src/components/webFunctions/fitBoundsWeb.ts +6 -2
  64. package/src/components/webFunctions/flyToWeb.ts +11 -0
  65. package/src/components/webFunctions/initWeb.ts +21 -19
  66. package/src/components/webFunctions/updateWeb.ts +75 -0
  67. package/src/index.tsx +1 -1
  68. package/lib/module/webContent.js.map +0 -1
  69. package/lib/typescript/src/webContent.d.ts +0 -3
  70. package/lib/typescript/src/webContent.d.ts.map +0 -1
@@ -9,11 +9,11 @@ const MapPlaceholder = props => {
9
9
  useEffect(() => {
10
10
  const animate = () => {
11
11
  Animated.sequence([Animated.timing(opacityAnim, {
12
- toValue: 1,
12
+ toValue: 0.6,
13
13
  duration: 1000,
14
14
  useNativeDriver: true
15
15
  }), Animated.timing(opacityAnim, {
16
- toValue: 0.5,
16
+ toValue: 0.1,
17
17
  duration: 1000,
18
18
  useNativeDriver: true
19
19
  })]).start(() => animate());
@@ -28,7 +28,6 @@ const MapPlaceholder = props => {
28
28
  left: 0,
29
29
  width: '100%',
30
30
  height: '100%',
31
- zIndex: 1000,
32
31
  opacity: opacityAnim
33
32
  }
34
33
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","Animated","MAP_ASSETS","jsx","_jsx","MapPlaceholder","props","opacityAnim","Value","current","animate","sequence","timing","toValue","duration","useNativeDriver","start","Image","source","theme","DARK_MAP_PLACEHOLDER","LIGHT_MAP_PLACEHOLDER","style","position","top","left","width","height","zIndex","opacity"],"sourceRoot":"../../../src","sources":["components/MapPlaceholder.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAe,cAAc;AAE9C,SAASC,UAAU,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,cAAc,GAAIC,KAAkC,IAAK;EAC3D,MAAMC,WAAW,GAAGP,MAAM,CAAC,IAAIC,QAAQ,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAACC,OAAO;EAE3DV,SAAS,CAAC,MAAM;IACZ,MAAMW,OAAO,GAAGA,CAAA,KAAM;MAClBT,QAAQ,CAACU,QAAQ,CAAC,CACdV,QAAQ,CAACW,MAAM,CAACL,WAAW,EAAE;QACzBM,OAAO,EAAE,CAAC;QACVC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC,EACFd,QAAQ,CAACW,MAAM,CAACL,WAAW,EAAE;QACzBM,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC,CACL,CAAC,CAACC,KAAK,CAAC,MAAMN,OAAO,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEDA,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACH,WAAW,CAAC,CAAC;EAEjB,oBACIH,IAAA,CAACH,QAAQ,CAACgB,KAAK;IACXC,MAAM,EAAEZ,KAAK,CAACa,KAAK,KAAK,MAAM,GAAGjB,UAAU,CAACkB,oBAAoB,GAAGlB,UAAU,CAACmB,qBAAsB;IACpGC,KAAK,EAAE;MACHC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdC,MAAM,EAAE,IAAI;MACZC,OAAO,EAAEtB;IACb;EAAE,CACL,CAAC;AAEV,CAAC;AAED,eAAeF,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","Animated","MAP_ASSETS","jsx","_jsx","MapPlaceholder","props","opacityAnim","Value","current","animate","sequence","timing","toValue","duration","useNativeDriver","start","Image","source","theme","DARK_MAP_PLACEHOLDER","LIGHT_MAP_PLACEHOLDER","style","position","top","left","width","height","opacity"],"sourceRoot":"../../../src","sources":["components/MapPlaceholder.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,UAAU,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,cAAc,GAAIC,KAAkC,IAAK;EAC3D,MAAMC,WAAW,GAAGP,MAAM,CAAC,IAAIC,QAAQ,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAACC,OAAO;EAE3DV,SAAS,CAAC,MAAM;IACZ,MAAMW,OAAO,GAAGA,CAAA,KAAM;MAClBT,QAAQ,CAACU,QAAQ,CAAC,CACdV,QAAQ,CAACW,MAAM,CAACL,WAAW,EAAE;QACzBM,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC,EACFd,QAAQ,CAACW,MAAM,CAACL,WAAW,EAAE;QACzBM,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC,CACL,CAAC,CAACC,KAAK,CAAC,MAAMN,OAAO,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEDA,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACH,WAAW,CAAC,CAAC;EAEjB,oBACIH,IAAA,CAACH,QAAQ,CAACgB,KAAK;IACXC,MAAM,EAAEZ,KAAK,CAACa,KAAK,KAAK,MAAM,GAAGjB,UAAU,CAACkB,oBAAoB,GAAGlB,UAAU,CAACmB,qBAAsB;IACpGC,KAAK,EAAE;MACHC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MAEdC,OAAO,EAAErB;IACb;EAAE,CACL,CAAC;AAEV,CAAC;AAED,eAAeF,cAAc","ignoreList":[]}
@@ -1,19 +1,22 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
3
+ import { createContext, forwardRef, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
4
4
  import { Platform, View } from 'react-native';
5
5
  import { WebView } from 'react-native-webview';
6
- import { maplibreHtmlMap } from "../webContent.js";
7
6
  import MapPlaceholder from "./MapPlaceholder.js";
8
7
  import MapSelectPoint from "./MapSelectPoint.js";
8
+ import { loadResources } from "./utils.js";
9
+ import { maplibreHtmlMap } from "./webContent.js";
9
10
  import addMarkerWeb from "./webFunctions/addMarkerWeb.js";
10
11
  import addPolygonWeb from "./webFunctions/addPolygonWeb.js";
11
12
  import addPolylineWeb from "./webFunctions/addPolylineWeb.js";
12
13
  import fitBoundsWeb from "./webFunctions/fitBoundsWeb.js";
14
+ import { flyToWeb } from "./webFunctions/flyToWeb.js";
13
15
  import initWeb from "./webFunctions/initWeb.js";
14
16
  import removeMarkerWeb from "./webFunctions/removeMarkerWeb.js";
15
17
  import removePolygonWeb from "./webFunctions/removePolygonWeb.js";
16
18
  import removePolylineWeb from "./webFunctions/removePolylineWeb.js";
19
+ import updateWeb from "./webFunctions/updateWeb.js";
17
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
21
  const MapViewContext = /*#__PURE__*/createContext(null);
19
22
  export const useMapViewContext = () => {
@@ -21,7 +24,7 @@ export const useMapViewContext = () => {
21
24
  if (!ctx) throw new Error('useMapViewContext must be used within <MapView>');
22
25
  return ctx;
23
26
  };
24
- const webFunctionsString = [initWeb, addMarkerWeb, removeMarkerWeb, addPolylineWeb, removePolylineWeb, addPolygonWeb, removePolygonWeb, fitBoundsWeb].join('\n');
27
+ const webFunctionsString = [initWeb, addMarkerWeb, removeMarkerWeb, addPolylineWeb, removePolylineWeb, addPolygonWeb, removePolygonWeb, fitBoundsWeb, flyToWeb, updateWeb].join('\n');
25
28
  const getBoundsFromCoords = coords => {
26
29
  if (!coords.length) {
27
30
  throw new Error('Empty coordinates array');
@@ -47,17 +50,25 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
47
50
  const mapSelectPointRef = useRef(null);
48
51
  const performanceMode = props.performanceMode ?? (Platform.OS === 'android' ? 'balanced' : 'quality');
49
52
  const fallbackPixelRatio = performanceMode === 'performance' ? 0.85 : performanceMode === 'balanced' && Platform.OS === 'android' ? 1 : undefined;
50
- const sendToWebView = useCallback(message => {
53
+ const sendToWebView = message => {
54
+ if (__DEV__) {
55
+ console.log('MapView: sendToWebView', message);
56
+ }
51
57
  webViewRef.current?.postMessage(JSON.stringify(message));
52
- }, []);
53
- const initMap = useCallback(() => {
58
+ };
59
+ const initMap = async () => {
60
+ if (__DEV__) {
61
+ console.log('MapView: initMap');
62
+ console.log('MapView: props.mapStyle', props.mapStyle);
63
+ }
64
+ const mapStyleText = await loadResources(props.mapStyle);
65
+ const mapStyle = JSON.parse(mapStyleText);
54
66
  sendToWebView({
55
67
  function: 'init',
56
68
  params: {
57
- style: props.mapStyle,
69
+ mapStyle: mapStyle,
58
70
  zoomEnabled: props.zoomEnabled ?? false,
59
71
  scrollEnabled: props.scrollEnabled ?? false,
60
- theme: props.theme,
61
72
  center: props.center,
62
73
  zoom: props.zoom,
63
74
  minZoom: props.minZoom,
@@ -73,82 +84,146 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
73
84
  turboWhileMoving: props.turboWhileMoving ?? performanceMode === 'performance'
74
85
  }
75
86
  });
76
- }, [sendToWebView, props.zoomEnabled, props.scrollEnabled, props.theme, props.center, props.zoom, props.minZoom, props.maxZoom, props.mapStyle, performanceMode, props.pixelRatio, fallbackPixelRatio, props.turboWhileMoving]);
77
- const addMarker = useCallback(propsMarker => {
78
- if (propsMarker.latitude && propsMarker.longitude) {
79
- coordsInMapRef.current[propsMarker.uniqueId] = [[propsMarker.longitude, propsMarker.latitude]];
80
- }
87
+ };
88
+ const updateMarkerClickHandler = propsMarker => {
81
89
  if (propsMarker.onPress) {
82
90
  markersClickHandlers.current[propsMarker.uniqueId] = propsMarker.onPress;
83
91
  } else {
84
92
  delete markersClickHandlers.current[propsMarker.uniqueId];
85
93
  }
94
+ };
95
+ const addMarker = propsMarker => {
96
+ if (propsMarker.latitude != null && propsMarker.longitude != null && !propsMarker.ignoreFitBounds) {
97
+ coordsInMapRef.current[propsMarker.uniqueId] = [[propsMarker.longitude, propsMarker.latitude]];
98
+ }
99
+ updateMarkerClickHandler(propsMarker);
86
100
  sendToWebView({
87
101
  function: 'addMarker',
88
102
  params: propsMarker
89
103
  });
90
- }, [sendToWebView]);
91
- const removeMarker = useCallback(propsMarker => {
104
+ scheduleAutoFitBounds();
105
+ };
106
+ const removeMarker = propsMarker => {
92
107
  delete coordsInMapRef.current[propsMarker.uniqueId];
93
108
  delete markersClickHandlers.current[propsMarker.uniqueId];
94
109
  sendToWebView({
95
110
  function: 'removeMarker',
96
111
  params: propsMarker
97
112
  });
98
- }, [sendToWebView]);
99
- const addPolyline = useCallback(propsPolyline => {
100
- if (propsPolyline.coordinates) {
113
+ scheduleAutoFitBounds();
114
+ };
115
+ const addPolyline = propsPolyline => {
116
+ if (propsPolyline.coordinates && !propsPolyline.ignoreFitBounds) {
101
117
  coordsInMapRef.current[propsPolyline.uniqueId] = propsPolyline.coordinates;
102
118
  }
103
119
  sendToWebView({
104
120
  function: 'addPolyline',
105
121
  params: propsPolyline
106
122
  });
107
- }, [sendToWebView]);
108
- const removePolyline = useCallback(propsPolyline => {
123
+ scheduleAutoFitBounds();
124
+ };
125
+ const removePolyline = propsPolyline => {
109
126
  delete coordsInMapRef.current[propsPolyline.uniqueId];
110
127
  sendToWebView({
111
128
  function: 'removePolyline',
112
129
  params: propsPolyline
113
130
  });
114
- }, [sendToWebView]);
115
- const addPolygon = useCallback(propsPolygon => {
116
- if (propsPolygon.coordinates) {
131
+ scheduleAutoFitBounds();
132
+ };
133
+ const addPolygon = propsPolygon => {
134
+ if (propsPolygon.coordinates && !propsPolygon.ignoreFitBounds) {
117
135
  coordsInMapRef.current[propsPolygon.uniqueId] = propsPolygon.coordinates;
118
136
  }
119
137
  sendToWebView({
120
138
  function: 'addPolygon',
121
139
  params: propsPolygon
122
140
  });
123
- }, [sendToWebView]);
124
- const removePolygon = useCallback(propsPolygon => {
141
+ scheduleAutoFitBounds();
142
+ };
143
+ const removePolygon = propsPolygon => {
125
144
  delete coordsInMapRef.current[propsPolygon.uniqueId];
126
145
  sendToWebView({
127
146
  function: 'removePolygon',
128
147
  params: propsPolygon
129
148
  });
130
- }, [sendToWebView]);
131
- const fitBounds = useCallback(() => {
149
+ scheduleAutoFitBounds();
150
+ };
151
+ const autoFitBoundsTimeoutRef = useRef(null);
152
+ const scheduleAutoFitBounds = () => {
153
+ if (!props.autoFitBounds) return;
154
+ if (autoFitBoundsTimeoutRef.current) {
155
+ clearTimeout(autoFitBoundsTimeoutRef.current);
156
+ }
157
+ autoFitBoundsTimeoutRef.current = setTimeout(() => {
158
+ fitBounds();
159
+ }, 1000);
160
+ };
161
+ useEffect(() => {
162
+ scheduleAutoFitBounds();
163
+ }, [props.autoFitBounds, props.fitBoundsPadding]);
164
+ const fitBounds = () => {
132
165
  const coords = Object.values(coordsInMapRef.current).flat();
133
- if (coords.length === 0) return;
166
+ if (coords.length <= 1) return;
134
167
  const bounds = getBoundsFromCoords(coords);
135
168
  sendToWebView({
136
169
  function: 'fitBounds',
137
170
  params: {
138
- bounds
171
+ bounds,
172
+ padding: props.fitBoundsPadding ?? 40,
173
+ duration: props.fitBoundsDuration ?? 500
174
+ }
175
+ });
176
+ };
177
+ const flyTo = (center, zoom) => {
178
+ sendToWebView({
179
+ function: 'flyTo',
180
+ params: {
181
+ center,
182
+ zoom,
183
+ duration: props.flyToDuration ?? 500
139
184
  }
140
185
  });
141
- }, [sendToWebView]);
186
+ };
142
187
  useImperativeHandle(ref, () => ({
143
- fitBounds
188
+ fitBounds,
189
+ flyTo
144
190
  }), [fitBounds]);
191
+ const lastPropsRef = useRef(props);
192
+ useEffect(() => {
193
+ const updateProps = {};
194
+ if (lastPropsRef.current.minZoom !== props.minZoom) {
195
+ updateProps.minZoom = props.minZoom;
196
+ }
197
+ if (lastPropsRef.current.maxZoom !== props.maxZoom) {
198
+ updateProps.maxZoom = props.maxZoom;
199
+ }
200
+ if (lastPropsRef.current.zoomEnabled !== props.zoomEnabled) {
201
+ updateProps.zoomEnabled = props.zoomEnabled;
202
+ }
203
+ if (lastPropsRef.current.scrollEnabled !== props.scrollEnabled) {
204
+ updateProps.scrollEnabled = props.scrollEnabled;
205
+ }
206
+ if (lastPropsRef.current.mapStyle !== props.mapStyle) {
207
+ updateProps.mapStyle = props.mapStyle;
208
+ }
209
+ lastPropsRef.current = props;
210
+ if (Object.keys(updateProps).length > 0) {
211
+ sendToWebView({
212
+ function: 'update',
213
+ params: updateProps
214
+ });
215
+ }
216
+ }, [props.minZoom, props.maxZoom, props.zoomEnabled, props.scrollEnabled, props.mapStyle]);
145
217
  useEffect(() => {
146
218
  if (html) return;
147
- maplibreHtmlMap(webFunctionsString, props.sources).then(setHtml);
148
- }, [html, props.sources]);
149
- const onReceiveMessageFromWebView = useCallback(data => {
219
+ maplibreHtmlMap(webFunctionsString, props.sources, props.debugMode ?? false).then(setHtml);
220
+ }, []);
221
+ const onReceiveMessageFromWebView = data => {
150
222
  try {
151
223
  const msg = JSON.parse(data);
224
+ if (__DEV__) {
225
+ console.log('MapView: event', msg);
226
+ }
152
227
  if (msg.type === 'event') {
153
228
  switch (msg.event) {
154
229
  case 'movestart':
@@ -172,6 +247,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
172
247
  return;
173
248
  }
174
249
  if (msg.type === 'inited') {
250
+ props.onReady?.();
175
251
  setInited(true);
176
252
  return;
177
253
  }
@@ -191,19 +267,17 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
191
267
  console.warn('MapView: failed to parse WebView message', e);
192
268
  }
193
269
  }
194
- }, [props.onMoveStart, props.onMoveEnd, props.onZoomStart, props.onZoomEnd, props.onIdle, initMap]);
270
+ };
195
271
  return /*#__PURE__*/_jsxs(View, {
196
272
  style: props.style,
197
- children: [!inited && /*#__PURE__*/_jsx(MapPlaceholder, {
198
- theme: props.theme
199
- }), /*#__PURE__*/_jsxs(MapViewContext.Provider, {
273
+ children: [/*#__PURE__*/_jsxs(MapViewContext.Provider, {
200
274
  value: {
201
- addPolygon,
202
- removePolygon,
203
275
  addMarker,
204
276
  removeMarker,
205
277
  addPolyline,
206
- removePolyline
278
+ removePolyline,
279
+ addPolygon,
280
+ removePolygon
207
281
  },
208
282
  children: [/*#__PURE__*/_jsx(WebView, {
209
283
  ref: webViewRef,
@@ -238,6 +312,8 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
238
312
  backgroundColor: props.selectPointBackgroundColor ?? '#fff'
239
313
  })
240
314
  })]
315
+ }), !inited && /*#__PURE__*/_jsx(MapPlaceholder, {
316
+ theme: props.placeholderTheme ?? 'light'
241
317
  })]
242
318
  });
243
319
  });
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","forwardRef","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebView","maplibreHtmlMap","MapPlaceholder","MapSelectPoint","addMarkerWeb","addPolygonWeb","addPolylineWeb","fitBoundsWeb","initWeb","removeMarkerWeb","removePolygonWeb","removePolylineWeb","jsx","_jsx","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","webFunctionsString","join","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","MapView","props","ref","webViewRef","inited","setInited","html","setHtml","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","fallbackPixelRatio","undefined","sendToWebView","message","current","postMessage","JSON","stringify","initMap","function","params","style","mapStyle","zoomEnabled","scrollEnabled","theme","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","addMarker","propsMarker","latitude","longitude","uniqueId","onPress","removeMarker","addPolyline","propsPolyline","coordinates","removePolyline","addPolygon","propsPolygon","removePolygon","fitBounds","Object","values","flat","bounds","sources","then","onReceiveMessageFromWebView","data","msg","parse","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","handler","e","__DEV__","console","warn","children","Provider","value","flex","backgroundColor","originWhitelist","source","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","position","top","left","width","height","color","selectPointColor","selectPointBackgroundColor"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebView","MapPlaceholder","MapSelectPoint","loadResources","maplibreHtmlMap","addMarkerWeb","addPolygonWeb","addPolylineWeb","fitBoundsWeb","flyToWeb","initWeb","removeMarkerWeb","removePolygonWeb","removePolylineWeb","updateWeb","jsx","_jsx","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","webFunctionsString","join","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","MapView","props","ref","webViewRef","inited","setInited","html","setHtml","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","fallbackPixelRatio","undefined","sendToWebView","message","__DEV__","console","log","current","postMessage","JSON","stringify","initMap","mapStyle","mapStyleText","parse","function","params","zoomEnabled","scrollEnabled","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","updateMarkerClickHandler","propsMarker","onPress","uniqueId","addMarker","latitude","longitude","ignoreFitBounds","scheduleAutoFitBounds","removeMarker","addPolyline","propsPolyline","coordinates","removePolyline","addPolygon","propsPolygon","removePolygon","autoFitBoundsTimeoutRef","autoFitBounds","clearTimeout","setTimeout","fitBounds","fitBoundsPadding","Object","values","flat","bounds","padding","duration","fitBoundsDuration","flyTo","flyToDuration","lastPropsRef","updateProps","keys","sources","debugMode","then","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onReady","handler","e","warn","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","position","top","left","width","height","color","selectPointColor","selectPointBackgroundColor","theme","placeholderTheme"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,12 +16,12 @@ export const Marker = props => {
16
16
  addMarker(props);
17
17
  lastRenderProps.current = serialized;
18
18
  }
19
- }, [props, addMarker]);
19
+ }, [props]);
20
20
  useEffect(() => {
21
21
  return () => {
22
22
  removeMarker(propsRef.current);
23
23
  };
24
- }, [removeMarker]);
24
+ }, []);
25
25
  return null;
26
26
  };
27
27
  //# sourceMappingURL=Marker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useMapViewContext","Marker","props","addMarker","removeMarker","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,MAAM,GAAIC,KAAkB,IAAK;EAC1C,MAAM;IAAEC,SAAS;IAAEC;EAAa,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAEvD,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,SAAS,CAACD,KAAK,CAAC;MAChBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,EAAEC,SAAS,CAAC,CAAC;EAEtBL,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,YAAY,CAACE,QAAQ,CAACC,OAAO,CAAC;IAClC,CAAC;EACL,CAAC,EAAE,CAACH,YAAY,CAAC,CAAC;EAElB,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useMapViewContext","Marker","props","addMarker","removeMarker","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Marker.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,MAAM,GAAIC,KAAkB,IAAK;EAC1C,MAAM;IAAEC,SAAS;IAAEC;EAAa,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAEvD,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,SAAS,CAACD,KAAK,CAAC;MAChBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,CAAC,CAAC;EAEXJ,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,YAAY,CAACE,QAAQ,CAACC,OAAO,CAAC;IAClC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -16,12 +16,12 @@ export const Polygon = props => {
16
16
  addPolygon(props);
17
17
  lastRenderProps.current = serialized;
18
18
  }
19
- }, [props, addPolygon]);
19
+ }, [props]);
20
20
  useEffect(() => {
21
21
  return () => {
22
22
  removePolygon(propsRef.current);
23
23
  };
24
- }, [removePolygon]);
24
+ }, []);
25
25
  return null;
26
26
  };
27
27
  //# sourceMappingURL=Polygon.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useMapViewContext","Polygon","props","addPolygon","removePolygon","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Polygon.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,OAAO,GAAIC,KAAmB,IAAK;EAC5C,MAAM;IAAEC,UAAU;IAAEC;EAAc,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAEzD,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,UAAU,CAACD,KAAK,CAAC;MACjBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,EAAEC,UAAU,CAAC,CAAC;EAEvBL,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,aAAa,CAACE,QAAQ,CAACC,OAAO,CAAC;IACnC,CAAC;EACL,CAAC,EAAE,CAACH,aAAa,CAAC,CAAC;EAEnB,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useMapViewContext","Polygon","props","addPolygon","removePolygon","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Polygon.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,OAAO,GAAIC,KAAmB,IAAK;EAC5C,MAAM;IAAEC,UAAU;IAAEC;EAAc,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAEzD,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,UAAU,CAACD,KAAK,CAAC;MACjBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,CAAC,CAAC;EAEXJ,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,aAAa,CAACE,QAAQ,CAACC,OAAO,CAAC;IACnC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -16,12 +16,12 @@ export const Polyline = props => {
16
16
  addPolyline(props);
17
17
  lastRenderProps.current = serialized;
18
18
  }
19
- }, [props, addPolyline]);
19
+ }, [props]);
20
20
  useEffect(() => {
21
21
  return () => {
22
22
  removePolyline(propsRef.current);
23
23
  };
24
- }, [removePolyline]);
24
+ }, []);
25
25
  return null;
26
26
  };
27
27
  //# sourceMappingURL=Polyline.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useMapViewContext","Polyline","props","addPolyline","removePolyline","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,QAAQ,GAAIC,KAAoB,IAAK;EAC9C,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAE3D,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,WAAW,CAACD,KAAK,CAAC;MAClBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,EAAEC,WAAW,CAAC,CAAC;EAExBL,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,cAAc,CAACE,QAAQ,CAACC,OAAO,CAAC;IACpC,CAAC;EACL,CAAC,EAAE,CAACH,cAAc,CAAC,CAAC;EAEpB,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useMapViewContext","Polyline","props","addPolyline","removePolyline","lastRenderProps","propsRef","current","serialized","JSON","stringify"],"sourceRoot":"../../../src","sources":["components/Polyline.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,iBAAiB,QAAQ,cAAW;AAG7C,OAAO,MAAMC,QAAQ,GAAIC,KAAoB,IAAK;EAC9C,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGJ,iBAAiB,CAAC,CAAC;EAE3D,MAAMK,eAAe,GAAGN,MAAM,CAAS,EAAE,CAAC;EAC1C,MAAMO,QAAQ,GAAGP,MAAM,CAACG,KAAK,CAAC;EAC9BI,QAAQ,CAACC,OAAO,GAAGL,KAAK;EAExBJ,SAAS,CAAC,MAAM;IACZ,MAAMU,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC;IACxC,IAAIG,eAAe,CAACE,OAAO,KAAKC,UAAU,EAAE;MACxCL,WAAW,CAACD,KAAK,CAAC;MAClBG,eAAe,CAACE,OAAO,GAAGC,UAAU;IACxC;EACJ,CAAC,EAAE,CAACN,KAAK,CAAC,CAAC;EAEXJ,SAAS,CAAC,MAAM;IACZ,OAAO,MAAM;MACTM,cAAc,CAACE,QAAQ,CAACC,OAAO,CAAC;IACpC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
4
+ const CACHE_VERSION = 'v1';
5
+ export const loadResources = async url => {
6
+ const cacheKey = `${url}@${CACHE_VERSION}`;
7
+ try {
8
+ const stored = await AsyncStorage.getItem(cacheKey);
9
+ if (stored) {
10
+ return stored;
11
+ }
12
+ } catch (_) {
13
+ // cache miss — proceed to fetch
14
+ }
15
+ const response = await fetch(url);
16
+ if (!response.ok) {
17
+ throw new Error(`Failed to load resource: ${url} (${response.status})`);
18
+ }
19
+ const text = await response.text();
20
+ if (text) {
21
+ try {
22
+ await AsyncStorage.setItem(cacheKey, text);
23
+ } catch (_) {
24
+ // storage full or unavailable — non-fatal
25
+ }
26
+ }
27
+ return text;
28
+ };
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AsyncStorage","CACHE_VERSION","loadResources","url","cacheKey","stored","getItem","_","response","fetch","ok","Error","status","text","setItem"],"sourceRoot":"../../../src","sources":["components/utils.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AAEpE,MAAMC,aAAa,GAAG,IAAI;AAE1B,OAAO,MAAMC,aAAa,GAAG,MAAOC,GAAW,IAAK;EAChD,MAAMC,QAAQ,GAAG,GAAGD,GAAG,IAAIF,aAAa,EAAE;EAE1C,IAAI;IACA,MAAMI,MAAM,GAAG,MAAML,YAAY,CAACM,OAAO,CAACF,QAAQ,CAAC;IACnD,IAAIC,MAAM,EAAE;MACR,OAAOA,MAAM;IACjB;EACJ,CAAC,CAAC,OAAOE,CAAC,EAAE;IACR;EAAA;EAGJ,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,CAAC;EACjC,IAAI,CAACK,QAAQ,CAACE,EAAE,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,4BAA4BR,GAAG,KAAKK,QAAQ,CAACI,MAAM,GAAG,CAAC;EAC3E;EACA,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;EAElC,IAAIA,IAAI,EAAE;IACN,IAAI;MACA,MAAMb,YAAY,CAACc,OAAO,CAACV,QAAQ,EAAES,IAAI,CAAC;IAC9C,CAAC,CAAC,OAAON,CAAC,EAAE;MACR;IAAA;EAER;EACA,OAAOM,IAAI;AACf,CAAC","ignoreList":[]}
@@ -1,37 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import AsyncStorage from '@react-native-async-storage/async-storage';
4
- const CACHE_VERSION = 'v1';
5
- const loadResources = async url => {
6
- const cacheKey = `${url}@${CACHE_VERSION}`;
7
- try {
8
- const stored = await AsyncStorage.getItem(cacheKey);
9
- if (stored) {
10
- return stored;
11
- }
12
- } catch (_) {
13
- // cache miss — proceed to fetch
14
- }
15
- const response = await fetch(url);
16
- if (!response.ok) {
17
- throw new Error(`Failed to load resource: ${url} (${response.status})`);
18
- }
19
- const text = await response.text();
20
- if (text) {
21
- try {
22
- await AsyncStorage.setItem(cacheKey, text);
23
- } catch (_) {
24
- // storage full or unavailable — non-fatal
25
- }
26
- }
27
- return text;
28
- };
29
- export const maplibreHtmlMap = async (webFunctions, sources) => {
3
+ import { loadResources } from "./utils.js";
4
+ export const maplibreHtmlMap = async (webFunctions, sources, debugMode) => {
30
5
  //Загружаем скрипты как текст
31
6
 
32
7
  let maplibreJS = await loadResources(sources.maplibreJS);
33
8
  let maplibreCSS = await loadResources(sources.maplibreCSS);
34
9
  let pmtiles = await loadResources(sources.pmtilesJS);
10
+ console.log('MapLibre: maplibreJS', !!maplibreJS ? 'true' : 'false');
11
+ console.log('MapLibre: maplibreCSS', !!maplibreCSS ? 'true' : 'false');
12
+ console.log('MapLibre: pmtiles', !!pmtiles ? 'true' : 'false');
35
13
  return `<!DOCTYPE html>
36
14
  <html lang="">
37
15
 
@@ -117,11 +95,9 @@ var layouts = {};
117
95
  var map = null;
118
96
 
119
97
  try {
120
- let protocol = new pmtiles.Protocol();
98
+ var protocol = new pmtiles.Protocol();
121
99
  maplibregl.addProtocol("pmtiles", protocol.tile);
122
- } catch (e) {
123
- console.error('pmtiles init error:', e.message);
124
- }
100
+
125
101
  window.onload = function () {
126
102
  document.addEventListener("message", function (event) {
127
103
  receiveMessage(event.data);
@@ -135,7 +111,7 @@ try {
135
111
  }
136
112
 
137
113
 
138
- const receiveMessage = (message) => {
114
+ function receiveMessage(message) {
139
115
 
140
116
  var data = JSON.parse(message);
141
117
 
@@ -153,6 +129,9 @@ try {
153
129
  ${webFunctions}
154
130
 
155
131
  } catch (e) {
132
+ if(${debugMode}){
133
+ alert('WebView function error: ' + functionName + ' ' + e.message);
134
+ }
156
135
  console.error('WebView function error:', functionName, e.message);
157
136
  window.ReactNativeWebView.postMessage(JSON.stringify({
158
137
  type: 'error',
@@ -164,7 +143,14 @@ ${webFunctions}
164
143
  }
165
144
  };
166
145
 
146
+ } catch (e) {
147
+
148
+ if(${debugMode}){
149
+ alert('pmtiles init error: ' + e.message);
150
+ }
167
151
 
152
+
153
+ }
168
154
  </script>
169
155
 
170
156
 
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loadResources","maplibreHtmlMap","webFunctions","sources","debugMode","maplibreJS","maplibreCSS","pmtiles","pmtilesJS","console","log"],"sourceRoot":"../../../src","sources":["components/webContent.ts"],"mappings":";;AACA,SAAQA,aAAa,QAAO,YAAS;AAErC,OAAO,MAAMC,eAAe,GAAG,MAAAA,CAAOC,YAAoB,EAAEC,OAAqB,EAAEC,SAAkB,KAAK;EACtG;;EAGA,IAAIC,UAAU,GAAG,MAAML,aAAa,CAACG,OAAO,CAACE,UAAU,CAAC;EACxD,IAAIC,WAAW,GAAG,MAAMN,aAAa,CAACG,OAAO,CAACG,WAAW,CAAC;EAC1D,IAAIC,OAAO,GAAG,MAAMP,aAAa,CAACG,OAAO,CAACK,SAAS,CAAC;EAEpDC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAACL,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;EACpEI,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAACJ,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;EACtEG,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAACH,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;EAI9D,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcF,UAAU;AACxB;AACA,aAAaC,WAAW;AACxB;AACA;AACA,cAAcC,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEL,YAAY;AACd;AACA;AACA,SAASE,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,CAAC","ignoreList":[]}
@@ -4,18 +4,41 @@ export default /*js*/`
4
4
 
5
5
  if(functionName === 'addMarker') {
6
6
 
7
-
7
+
8
8
  if(markers[params.uniqueId]){
9
9
  markers[params.uniqueId].remove();
10
10
  delete markers[params.uniqueId];
11
11
  }
12
12
 
13
13
 
14
- if(!params?.iconUrl){
14
+ if(params && params.html){
15
+
16
+ var el = document.createElement('div');
17
+ el.className = 'marker';
18
+ el.innerHTML = params.html;
19
+
20
+ el.addEventListener('click', function() {
21
+ window.ReactNativeWebView.postMessage(JSON.stringify({
22
+ type: 'markerClick',
23
+ uniqueId: params.uniqueId
24
+ }));
25
+ });
26
+
27
+
28
+ markers[params.uniqueId] = new maplibregl.Marker({element: el})
29
+ .setLngLat([params.longitude, params.latitude])
30
+ .addTo(map);
31
+
32
+ return;
33
+
34
+ }
35
+
36
+
37
+ if(!params || !params.iconUrl){
15
38
 
16
39
 
17
40
  markers[params.uniqueId] = new maplibregl.Marker({
18
- color: params.color ?? undefined,
41
+ color: (params.color != null) ? params.color : undefined,
19
42
  }).setLngLat([params.longitude, params.latitude])
20
43
  .addTo(map);
21
44
  markers[params.uniqueId].getElement().addEventListener('click', function() {
@@ -30,13 +53,16 @@ export default /*js*/`
30
53
  }else{
31
54
 
32
55
 
33
- const el = document.createElement('div');
34
- el.className = 'marker';
35
- el.style.backgroundImage = 'url(' + params.iconUrl + ')';
36
- el.style.width = params.iconWidth + 'px';
37
- el.style.height = params.iconHeight + 'px';
56
+ var el2 = document.createElement('div');
57
+ el2.className = 'marker';
58
+ el2.style.backgroundImage = 'url(' + params.iconUrl + ')';
59
+ el2.style.backgroundSize = 'cover';
60
+ el2.style.backgroundPosition = 'center';
61
+ el2.style.backgroundRepeat = 'no-repeat';
62
+ el2.style.width = params.iconWidth + 'px';
63
+ el2.style.height = params.iconHeight + 'px';
38
64
 
39
- el.addEventListener('click', () => {
65
+ el2.addEventListener('click', function() {
40
66
  window.ReactNativeWebView.postMessage(JSON.stringify({
41
67
  type: 'markerClick',
42
68
  uniqueId: params.uniqueId
@@ -44,7 +70,7 @@ export default /*js*/`
44
70
  });
45
71
 
46
72
 
47
- markers[params.uniqueId] = new maplibregl.Marker({element: el})
73
+ markers[params.uniqueId] = new maplibregl.Marker({element: el2})
48
74
  .setLngLat([params.longitude, params.latitude])
49
75
  .addTo(map);
50
76