react-native-maplibre-lite 0.2.0 → 0.2.1

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 (78) hide show
  1. package/README.md +92 -6
  2. package/lib/module/components/MapView.js +116 -14
  3. package/lib/module/components/MapView.js.map +1 -1
  4. package/lib/module/components/NavigatorHud.js +152 -0
  5. package/lib/module/components/NavigatorHud.js.map +1 -0
  6. package/lib/module/components/NavigatorRecenterButton.js +48 -0
  7. package/lib/module/components/NavigatorRecenterButton.js.map +1 -0
  8. package/lib/module/components/NavigatorVoiceControl.js +173 -0
  9. package/lib/module/components/NavigatorVoiceControl.js.map +1 -0
  10. package/lib/module/components/navigatorChromeTheme.js +98 -0
  11. package/lib/module/components/navigatorChromeTheme.js.map +1 -0
  12. package/lib/module/components/navigatorManeuverIcon.js +210 -0
  13. package/lib/module/components/navigatorManeuverIcon.js.map +1 -0
  14. package/lib/module/components/navigatorVoiceCatalog.js +225 -0
  15. package/lib/module/components/navigatorVoiceCatalog.js.map +1 -0
  16. package/lib/module/components/navigatorVoiceKeys.js +14 -0
  17. package/lib/module/components/navigatorVoiceKeys.js.map +1 -0
  18. package/lib/module/components/navigatorVoicePlayer.js +100 -0
  19. package/lib/module/components/navigatorVoicePlayer.js.map +1 -0
  20. package/lib/module/components/navigatorVoiceStrings.js +31 -0
  21. package/lib/module/components/navigatorVoiceStrings.js.map +1 -0
  22. package/lib/module/components/types.js +22 -0
  23. package/lib/module/components/types.js.map +1 -1
  24. package/lib/module/components/useNavigatorVoice.js +78 -0
  25. package/lib/module/components/useNavigatorVoice.js.map +1 -0
  26. package/lib/module/components/utils.js +26 -0
  27. package/lib/module/components/utils.js.map +1 -1
  28. package/lib/module/components/webMapBuild.js +1 -1
  29. package/lib/module/components/webMapBuild.js.map +1 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/typescript/src/components/MapView.d.ts +14 -1
  32. package/lib/typescript/src/components/MapView.d.ts.map +1 -1
  33. package/lib/typescript/src/components/NavigatorHud.d.ts +13 -0
  34. package/lib/typescript/src/components/NavigatorHud.d.ts.map +1 -0
  35. package/lib/typescript/src/components/NavigatorRecenterButton.d.ts +11 -0
  36. package/lib/typescript/src/components/NavigatorRecenterButton.d.ts.map +1 -0
  37. package/lib/typescript/src/components/NavigatorVoiceControl.d.ts +20 -0
  38. package/lib/typescript/src/components/NavigatorVoiceControl.d.ts.map +1 -0
  39. package/lib/typescript/src/components/navigatorChromeTheme.d.ts +19 -0
  40. package/lib/typescript/src/components/navigatorChromeTheme.d.ts.map +1 -0
  41. package/lib/typescript/src/components/navigatorManeuverIcon.d.ts +20 -0
  42. package/lib/typescript/src/components/navigatorManeuverIcon.d.ts.map +1 -0
  43. package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts +50 -0
  44. package/lib/typescript/src/components/navigatorVoiceCatalog.d.ts.map +1 -0
  45. package/lib/typescript/src/components/navigatorVoiceKeys.d.ts +10 -0
  46. package/lib/typescript/src/components/navigatorVoiceKeys.d.ts.map +1 -0
  47. package/lib/typescript/src/components/navigatorVoicePlayer.d.ts +15 -0
  48. package/lib/typescript/src/components/navigatorVoicePlayer.d.ts.map +1 -0
  49. package/lib/typescript/src/components/navigatorVoiceStrings.d.ts +19 -0
  50. package/lib/typescript/src/components/navigatorVoiceStrings.d.ts.map +1 -0
  51. package/lib/typescript/src/components/types.d.ts +83 -17
  52. package/lib/typescript/src/components/types.d.ts.map +1 -1
  53. package/lib/typescript/src/components/useNavigatorVoice.d.ts +20 -0
  54. package/lib/typescript/src/components/useNavigatorVoice.d.ts.map +1 -0
  55. package/lib/typescript/src/components/utils.d.ts +9 -0
  56. package/lib/typescript/src/components/utils.d.ts.map +1 -1
  57. package/lib/typescript/src/components/webMapBuild.d.ts +1 -1
  58. package/lib/typescript/src/components/webMapBuild.d.ts.map +1 -1
  59. package/lib/typescript/src/index.d.ts +1 -1
  60. package/lib/typescript/src/index.d.ts.map +1 -1
  61. package/package.json +16 -7
  62. package/resources/README.md +62 -0
  63. package/resources/map.html +797 -0
  64. package/src/components/MapView.tsx +154 -8
  65. package/src/components/NavigatorHud.tsx +166 -0
  66. package/src/components/NavigatorRecenterButton.tsx +45 -0
  67. package/src/components/NavigatorVoiceControl.tsx +198 -0
  68. package/src/components/navigatorChromeTheme.ts +118 -0
  69. package/src/components/navigatorManeuverIcon.tsx +177 -0
  70. package/src/components/navigatorVoiceCatalog.ts +275 -0
  71. package/src/components/navigatorVoiceKeys.ts +132 -0
  72. package/src/components/navigatorVoicePlayer.tsx +126 -0
  73. package/src/components/navigatorVoiceStrings.ts +42 -0
  74. package/src/components/types.ts +87 -18
  75. package/src/components/useNavigatorVoice.ts +96 -0
  76. package/src/components/utils.ts +28 -0
  77. package/src/components/webMapBuild.ts +1 -1
  78. package/src/index.tsx +8 -0
package/README.md CHANGED
@@ -36,15 +36,19 @@ It is designed for teams that want a practical MapLibre integration without nati
36
36
  ## Installation
37
37
 
38
38
  ```bash
39
- npm install react-native-maplibre-lite react-native-webview @react-native-async-storage/async-storage @sayem314/react-native-keep-awake @react-native-community/geolocation
39
+ npm install react-native-maplibre-lite react-native-webview @react-native-async-storage/async-storage @sayem314/react-native-keep-awake @react-native-community/geolocation react-native-svg react-native-video
40
40
  ```
41
41
 
42
42
  or
43
43
 
44
44
  ```bash
45
- yarn add react-native-maplibre-lite react-native-webview @react-native-async-storage/async-storage @sayem314/react-native-keep-awake @react-native-community/geolocation
45
+ yarn add react-native-maplibre-lite react-native-webview @react-native-async-storage/async-storage @sayem314/react-native-keep-awake @react-native-community/geolocation react-native-svg react-native-video
46
46
  ```
47
47
 
48
+ `react-native-svg` and `react-native-video` are used by the navigator UI: the
49
+ maneuver/HUD icons are drawn with SVG, and voice guidance clips are played with
50
+ `react-native-video`. They are only needed when you enable `navigator`.
51
+
48
52
  ## Quick Start
49
53
 
50
54
  ```tsx
@@ -124,6 +128,14 @@ Coordinates use `[longitude, latitude]`, the same order as GeoJSON and GraphHopp
124
128
 
125
129
  Navigator mode adds a route line, a current-position arrow, a driving HUD and GraphHopper-based route recalculation.
126
130
 
131
+ The route line and position arrow are drawn inside the WebView, while the
132
+ instruction HUD, the recenter / voice floating buttons and voice playback are
133
+ rendered natively by `MapView`. The WebView streams a HUD view-model and
134
+ abstract voice phrase keys to the native side; the native side renders the UI
135
+ (`react-native-svg`) and plays the matching audio clips (`react-native-video`),
136
+ owning voice selection, volume and persistence (`AsyncStorage`). Tapping the
137
+ recenter button sends a command back to the WebView to recenter the camera.
138
+
127
139
  ```tsx
128
140
  import React, { useRef } from 'react';
129
141
  import { Button, View } from 'react-native';
@@ -168,9 +180,22 @@ export function NavigatorScreen() {
168
180
 
169
181
  Use `setNavigatorPosition(latitude, longitude)` to feed real GPS updates. The WebView side snaps the position to the route, marks arrival, or reroutes when the point is too far from the current route. `pickNavigatorPosition()` is a development helper: the next tap on the map becomes the current navigator position.
170
182
 
183
+ ### Voice guidance (`navigatorVoiceUrl`)
184
+
185
+ Pass `navigatorVoiceUrl` (the `.../voices/data.json` catalog URL) to enable
186
+ voice guidance and the native voice floating button. The native side loads the
187
+ catalog and per-voice manifest, lets the user pick a voice and volume (1–5),
188
+ persists the choice with `AsyncStorage`, maps the phrase keys emitted by the
189
+ WebView to clip URLs and plays them with `react-native-video`. Voice guidance
190
+ uses the Russian phrase set, so it is active only when `navigatorLang` is not
191
+ `'en'`.
192
+
171
193
  ### Navigator chrome (`navigatorChrome`)
172
194
 
173
- Optional object passed as `navigatorChrome` on `MapView` (forwarded to WebView `init`). All keys are optional; omit the prop to keep the default blue theme.
195
+ Optional object passed as `navigatorChrome` on `MapView`. `accent`, `routeLine`
196
+ and `routeOutline` are forwarded to the WebView (route line and arrow); the
197
+ `hud*` keys theme the native HUD panel and the floating buttons. All keys are
198
+ optional; omit the prop to keep the default blue theme.
174
199
 
175
200
  | Key | Purpose |
176
201
  | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -213,7 +238,8 @@ Speed limit styling on the HUD is not configurable.
213
238
  | `graphhopperUrl` | `string` | no | Base GraphHopper URL for navigator routes |
214
239
  | `navigatorLang` | `'ru' \| 'en'` | no | Navigator HUD and instruction language. Defaults to `ru` |
215
240
  | `navigatorProfile` | `NavigatorProfile \| string` | no | GraphHopper routing `profile` (`car`, `bike`, `foot`, …). Unknown → `car` |
216
- | `navigatorChrome` | `NavigatorChromeParams` | no | Navigator colors: route line, arrow accent, HUD (see section above). Sent at init only |
241
+ | `navigatorChrome` | `NavigatorChromeParams` | no | Navigator colors: route line, arrow accent, native HUD/FAB theme (see section above) |
242
+ | `navigatorVoiceUrl` | `string` | no | Voice catalog URL (`.../voices/data.json`). Enables native voice guidance + voice FAB |
217
243
  | `onReady` | `() => void` | no | Called after the WebView map is initialized |
218
244
  | `onMoveStart` | `(params) => void` | no | `movestart` event |
219
245
  | `onMoveEnd` | `(params) => void` | no | `moveend` event |
@@ -224,6 +250,8 @@ Speed limit styling on the HUD is not configurable.
224
250
  | `onNavigatorInstruction` | `(params) => void` | no | Called when a navigator instruction is advanced |
225
251
  | `onNavigatorPositionSet` | `(params) => void` | no | Called after navigator position update/snap/reroute |
226
252
  | `onMapLiteError` | `(error) => void` | no | WebView command error callback |
253
+ | `useNativeMapHtml` | `boolean` | no | Load `map.html` from native app resources instead of inline `MAP_HTML`. See below |
254
+ | `developerLocalhostBundleUrl`| `string` | no | Dev-only: load WebView bundle from a local URL instead of inline or native `map.html` |
227
255
 
228
256
  ### `MapView` ref
229
257
 
@@ -298,9 +326,67 @@ Tips:
298
326
  - Keep number of simultaneously visible overlays moderate
299
327
  - Prefer simpler map styles with fewer labels and 3D layers
300
328
 
329
+ ## Native `map.html` bundle
330
+
331
+ By default, `MapView` loads the map runtime as inline HTML from the generated `webMapBuild.ts` bundle (`MAP_HTML`). For smaller JS bundle size or to update the WebView runtime without republishing the npm package, copy `resources/map.html` into your native app and enable `useNativeMapHtml`:
332
+
333
+ ```tsx
334
+ <MapView
335
+ useNativeMapHtml
336
+ style={{ flex: 1 }}
337
+ center={[37.6173, 55.7558]}
338
+ zoom={11}
339
+ mapStyle="https://demotiles.maplibre.org/style.json"
340
+ />
341
+ ```
342
+
343
+ WebView source priority: `developerLocalhostBundleUrl` → `useNativeMapHtml` → inline `MAP_HTML`.
344
+
345
+ ### Android
346
+
347
+ Copy `map.html` from the package (`node_modules/react-native-maplibre-lite/resources/map.html`) or from this repo after building `webProject`:
348
+
349
+ ```
350
+ android/app/src/main/assets/map.html
351
+ ```
352
+
353
+ Create the `assets` folder if it does not exist. `MapView` loads it as `file:///android_asset/map.html`.
354
+
355
+ ### iOS
356
+
357
+ Copy `map.html` into your app project, for example:
358
+
359
+ ```
360
+ ios/MyApp/map.html
361
+ ```
362
+
363
+ In Xcode:
364
+
365
+ 1. Drag `map.html` into the project tree (not only into Finder).
366
+ 2. Enable **Copy items if needed** and select your app target.
367
+ 3. Confirm the file appears under **Build Phases → Copy Bundle Resources**.
368
+
369
+ The URI is resolved automatically from the `.app` bundle path (release / standalone builds). In Metro dev builds on iOS, prefer the default inline HTML or `developerLocalhostBundleUrl`.
370
+
371
+ ### Updating `map.html`
372
+
373
+ After changes in `webProject`, rebuild and recopy the file into both platforms:
374
+
375
+ ```bash
376
+ cd webProject
377
+ npm run build
378
+ cp ../resources/map.html android/app/src/main/assets/map.html
379
+ cp ../resources/map.html ios/MyApp/map.html
380
+ ```
381
+
382
+ See also [`resources/README.md`](./resources/README.md).
383
+
301
384
  ## Web Bundle Development
302
385
 
303
- The WebView runtime is generated from `webProject` and committed as `src/components/webMapBuild.ts`.
386
+ The WebView runtime is generated from `webProject` and committed as:
387
+
388
+ - `src/components/webMapBuild.ts` — inline `MAP_HTML` used by `MapView` by default
389
+ - `resources/map.html` — same single-file bundle for native app resources (`useNativeMapHtml`)
304
390
 
305
391
  ```bash
306
392
  cd webProject
@@ -308,7 +394,7 @@ npm install
308
394
  npm run build
309
395
  ```
310
396
 
311
- `npm run build` runs Vite and then `webProject/scripts/inlineHtml.mjs`, which writes the single-file HTML bundle back into `src/components/webMapBuild.ts`.
397
+ `npm run build` runs Vite and then `webProject/scripts/inlineHtml.mjs`, which writes both `webMapBuild.ts` and `resources/map.html`.
312
398
 
313
399
  ## Contributing
314
400
 
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, forwardRef, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
3
+ import { createContext, forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
4
  import { Platform, View } from 'react-native';
5
5
  import { WebView } from 'react-native-webview';
6
6
  import Geolocation from '@react-native-community/geolocation';
7
7
  import KeepAwake from '@sayem314/react-native-keep-awake';
8
8
  import MapPlaceholder from "./MapPlaceholder.js";
9
9
  import MapSelectPoint from "./MapSelectPoint.js";
10
- import { loadResources } from "./utils.js";
10
+ import { NavigatorHud } from "./NavigatorHud.js";
11
+ import { NavigatorRecenterButton } from "./NavigatorRecenterButton.js";
12
+ import { NavigatorVoiceControl } from "./NavigatorVoiceControl.js";
13
+ import { resolveNavigatorChromeTheme } from "./navigatorChromeTheme.js";
14
+ import { keysToClipUrls, volumeLevelToGain } from "./navigatorVoiceCatalog.js";
15
+ import { NavigatorVoicePlayer } from "./navigatorVoicePlayer.js";
16
+ import { navigatorUiStrings } from "./navigatorVoiceStrings.js";
17
+ import { useNavigatorVoice } from "./useNavigatorVoice.js";
18
+ import { loadResources, getNativeMapHtmlUri } from "./utils.js";
11
19
  import { MAP_HTML } from "./webMapBuild.js";
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
21
  const MapViewContext = /*#__PURE__*/createContext(null);
14
22
  export const useMapViewContext = () => {
15
23
  const ctx = useContext(MapViewContext);
@@ -32,6 +40,34 @@ const getBoundsFromCoords = coords => {
32
40
  }
33
41
  return [[minLng, minLat], [maxLng, maxLat]];
34
42
  };
43
+ const toWebMarkerParams = props => ({
44
+ uniqueId: props.uniqueId,
45
+ latitude: props.latitude,
46
+ longitude: props.longitude,
47
+ color: props.color,
48
+ iconUrl: props.iconUrl,
49
+ iconWidth: props.iconWidth,
50
+ iconHeight: props.iconHeight,
51
+ html: props.html
52
+ });
53
+ const toWebPolylineParams = props => ({
54
+ uniqueId: props.uniqueId,
55
+ coordinates: props.coordinates,
56
+ color: props.color,
57
+ width: props.width
58
+ });
59
+ const toWebPolygonParams = props => ({
60
+ uniqueId: props.uniqueId,
61
+ coordinates: props.coordinates,
62
+ fillColor: props.fillColor,
63
+ fillOpacity: props.fillOpacity,
64
+ strokeColor: props.strokeColor,
65
+ strokeOpacity: props.strokeOpacity,
66
+ strokeWidth: props.strokeWidth
67
+ });
68
+ const toWebRemoveParams = uniqueId => ({
69
+ uniqueId
70
+ });
35
71
 
36
72
  /** Минимальный интервал между отправками позиции в WebView (мост RN↔JS). */
37
73
  const NAVIGATOR_GPS_FORWARD_MIN_MS = 500;
@@ -42,10 +78,42 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
42
78
  useEffect(() => {
43
79
  initedRef.current = inited;
44
80
  }, [inited]);
81
+
82
+ /** View-model HUD маршрута, приходит из WebView (`navigatorHud`). */
83
+ const [hudState, setHudState] = useState(null);
84
+ const voicePlayerRef = useRef(null);
85
+
86
+ /** Озвучка ограничена русским набором фраз (как в веб-навигаторе). */
87
+ const voiceSupported = props.navigator === true && props.navigatorLang !== 'en';
88
+ const voice = useNavigatorVoice(voiceSupported ? props.navigatorVoiceUrl : undefined);
89
+ const chromeTheme = useMemo(() => resolveNavigatorChromeTheme(props.navigatorChrome), [props.navigatorChrome]);
90
+ const navigatorStrings = useMemo(() => navigatorUiStrings(props.navigatorLang), [props.navigatorLang]);
91
+ useEffect(() => {
92
+ voicePlayerRef.current?.setVolume(volumeLevelToGain(voice.volumeLevel));
93
+ }, [voice.volumeLevel]);
94
+ const handleNavigatorVoice = params => {
95
+ const player = voicePlayerRef.current;
96
+ if (!player) return;
97
+ if (params.action === 'stop') {
98
+ player.stop();
99
+ return;
100
+ }
101
+ if (params.action === 'prefetch') return;
102
+ if (!voice.voiceEnabled || !voice.manifest || !voice.clipBaseUrl) return;
103
+ const urls = keysToClipUrls(voice.manifest, voice.clipBaseUrl, params.keys);
104
+ if (urls.length > 0) player.playUrls(urls);
105
+ };
45
106
  const coordsInMapRef = useRef({});
46
107
  const markersClickHandlers = useRef({});
47
108
  const mapSelectPointRef = useRef(null);
48
109
  const performanceMode = props.performanceMode ?? (Platform.OS === 'android' ? 'balanced' : 'quality');
110
+ const webViewSource = props.developerLocalhostBundleUrl ? {
111
+ uri: props.developerLocalhostBundleUrl
112
+ } : props.useNativeMapHtml ? {
113
+ uri: getNativeMapHtmlUri()
114
+ } : {
115
+ html: MAP_HTML
116
+ };
49
117
  const fallbackPixelRatio = performanceMode === 'performance' ? 0.85 : performanceMode === 'balanced' && Platform.OS === 'android' ? 1 : undefined;
50
118
  const sendToWebView = message => {
51
119
  if (__DEV__) {
@@ -105,7 +173,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
105
173
  updateMarkerClickHandler(propsMarker);
106
174
  sendToWebView({
107
175
  function: 'addMarker',
108
- params: propsMarker
176
+ params: toWebMarkerParams(propsMarker)
109
177
  });
110
178
  scheduleAutoFitBounds();
111
179
  };
@@ -114,7 +182,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
114
182
  delete markersClickHandlers.current[propsMarker.uniqueId];
115
183
  sendToWebView({
116
184
  function: 'removeMarker',
117
- params: propsMarker
185
+ params: toWebRemoveParams(propsMarker.uniqueId)
118
186
  });
119
187
  scheduleAutoFitBounds();
120
188
  };
@@ -124,7 +192,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
124
192
  }
125
193
  sendToWebView({
126
194
  function: 'addPolyline',
127
- params: propsPolyline
195
+ params: toWebPolylineParams(propsPolyline)
128
196
  });
129
197
  scheduleAutoFitBounds();
130
198
  };
@@ -132,7 +200,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
132
200
  delete coordsInMapRef.current[propsPolyline.uniqueId];
133
201
  sendToWebView({
134
202
  function: 'removePolyline',
135
- params: propsPolyline
203
+ params: toWebRemoveParams(propsPolyline.uniqueId)
136
204
  });
137
205
  scheduleAutoFitBounds();
138
206
  };
@@ -142,7 +210,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
142
210
  }
143
211
  sendToWebView({
144
212
  function: 'addPolygon',
145
- params: propsPolygon
213
+ params: toWebPolygonParams(propsPolygon)
146
214
  });
147
215
  scheduleAutoFitBounds();
148
216
  };
@@ -150,7 +218,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
150
218
  delete coordsInMapRef.current[propsPolygon.uniqueId];
151
219
  sendToWebView({
152
220
  function: 'removePolygon',
153
- params: propsPolygon
221
+ params: toWebRemoveParams(propsPolygon.uniqueId)
154
222
  });
155
223
  scheduleAutoFitBounds();
156
224
  };
@@ -224,6 +292,12 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
224
292
  params: {}
225
293
  });
226
294
  };
295
+ const recenterNavigatorCamera = () => {
296
+ sendToWebView({
297
+ function: 'recenterNavigatorCamera',
298
+ params: {}
299
+ });
300
+ };
227
301
  useImperativeHandle(ref, () => ({
228
302
  fitBounds,
229
303
  flyTo,
@@ -290,6 +364,9 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
290
364
  case 'idle':
291
365
  props.onIdle?.(msg.params);
292
366
  break;
367
+ case 'error':
368
+ props.onMapError?.(msg.params);
369
+ break;
293
370
  case 'navigatorRouteSet':
294
371
  props.onNavigatorRouteSet?.(msg.params);
295
372
  break;
@@ -299,6 +376,12 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
299
376
  case 'navigatorPositionSet':
300
377
  props.onNavigatorPositionSet?.(msg.params);
301
378
  break;
379
+ case 'navigatorHud':
380
+ setHudState(msg.params);
381
+ break;
382
+ case 'navigatorVoice':
383
+ handleNavigatorVoice(msg.params);
384
+ break;
302
385
  }
303
386
  return;
304
387
  }
@@ -393,11 +476,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
393
476
  backgroundColor: 'transparent'
394
477
  },
395
478
  originWhitelist: ['*'],
396
- source: !!props.developerLocalhostBundleUrl ? {
397
- uri: props.developerLocalhostBundleUrl
398
- } : {
399
- html: MAP_HTML
400
- },
479
+ source: webViewSource,
401
480
  onMessage: event => {
402
481
  onReceiveMessageFromWebView(event.nativeEvent.data);
403
482
  },
@@ -420,6 +499,29 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
420
499
  color: props.selectPointColor ?? '#000',
421
500
  backgroundColor: props.selectPointBackgroundColor ?? '#fff'
422
501
  })
502
+ }), inited && props.navigator && /*#__PURE__*/_jsxs(_Fragment, {
503
+ children: [/*#__PURE__*/_jsx(NavigatorHud, {
504
+ state: hudState,
505
+ theme: chromeTheme,
506
+ pickHint: navigatorStrings.pickHint
507
+ }), /*#__PURE__*/_jsx(NavigatorRecenterButton, {
508
+ theme: chromeTheme,
509
+ accessibilityLabel: navigatorStrings.recenterAria,
510
+ onPress: recenterNavigatorCamera
511
+ }), voiceSupported && /*#__PURE__*/_jsx(NavigatorVoiceControl, {
512
+ theme: chromeTheme,
513
+ strings: navigatorStrings,
514
+ catalog: voice.catalog,
515
+ selectedDir: voice.selectedDir,
516
+ voiceEnabled: voice.voiceEnabled,
517
+ volumeLevel: voice.volumeLevel,
518
+ onSelectVoice: voice.selectVoice,
519
+ onSelectVolume: voice.selectVolume,
520
+ onDisable: voice.disableVoice
521
+ }), voiceSupported && /*#__PURE__*/_jsx(NavigatorVoicePlayer, {
522
+ ref: voicePlayerRef,
523
+ initialVolume: volumeLevelToGain(voice.volumeLevel)
524
+ })]
423
525
  })]
424
526
  }), !inited && /*#__PURE__*/_jsx(MapPlaceholder, {
425
527
  theme: props.placeholderTheme ?? 'light'
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebView","Geolocation","KeepAwake","MapPlaceholder","MapSelectPoint","loadResources","MAP_HTML","jsx","_jsx","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","NAVIGATOR_GPS_FORWARD_MIN_MS","MapView","props","ref","webViewRef","inited","setInited","initedRef","current","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","fallbackPixelRatio","undefined","sendToWebView","message","__DEV__","console","log","postMessage","JSON","stringify","sendToWebViewRef","initMap","mapStyle","mapStyleText","parse","initParams","zoomEnabled","scrollEnabled","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","debugMode","navigator","graphhopperUrl","navigatorLang","navigatorProfile","navigatorChrome","function","params","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","setNavigatorPoint","advanceNavigatorInstruction","setNavigatorPosition","accuracy","Number","isFinite","pickNavigatorPosition","lastPropsRef","updateProps","then","keys","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onNavigatorRouteSet","onNavigatorInstruction","onNavigatorPositionSet","onMapLiteError","onReady","handler","e","warn","lastForwardedAt","watchId","watchPosition","position","now","Date","error","enableHighAccuracy","interval","fastestInterval","distanceFilter","maximumAge","clearWatch","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","developerLocalhostBundleUrl","uri","html","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","top","left","width","height","color","selectPointColor","selectPointBackgroundColor","theme","placeholderTheme"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useMemo","useRef","useState","Platform","View","WebView","Geolocation","KeepAwake","MapPlaceholder","MapSelectPoint","NavigatorHud","NavigatorRecenterButton","NavigatorVoiceControl","resolveNavigatorChromeTheme","keysToClipUrls","volumeLevelToGain","NavigatorVoicePlayer","navigatorUiStrings","useNavigatorVoice","loadResources","getNativeMapHtmlUri","MAP_HTML","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","toWebMarkerParams","props","uniqueId","latitude","longitude","color","iconUrl","iconWidth","iconHeight","html","toWebPolylineParams","coordinates","width","toWebPolygonParams","fillColor","fillOpacity","strokeColor","strokeOpacity","strokeWidth","toWebRemoveParams","NAVIGATOR_GPS_FORWARD_MIN_MS","MapView","ref","webViewRef","inited","setInited","initedRef","current","hudState","setHudState","voicePlayerRef","voiceSupported","navigator","navigatorLang","voice","navigatorVoiceUrl","undefined","chromeTheme","navigatorChrome","navigatorStrings","setVolume","volumeLevel","handleNavigatorVoice","params","player","action","stop","voiceEnabled","manifest","clipBaseUrl","urls","keys","playUrls","coordsInMapRef","markersClickHandlers","mapSelectPointRef","performanceMode","OS","webViewSource","developerLocalhostBundleUrl","uri","useNativeMapHtml","fallbackPixelRatio","sendToWebView","message","__DEV__","console","log","postMessage","JSON","stringify","sendToWebViewRef","initMap","mapStyle","mapStyleText","parse","initParams","zoomEnabled","scrollEnabled","center","zoom","minZoom","maxZoom","antialias","crossSourceCollisions","fadeDuration","pixelRatio","simplifyStyle","aggressiveSimplifyStyle","maxPitch","renderWorldCopies","turboWhileMoving","debugMode","graphhopperUrl","navigatorProfile","function","updateMarkerClickHandler","propsMarker","onPress","addMarker","ignoreFitBounds","scheduleAutoFitBounds","removeMarker","addPolyline","propsPolyline","removePolyline","addPolygon","propsPolygon","removePolygon","autoFitBoundsTimeoutRef","autoFitBounds","clearTimeout","setTimeout","fitBounds","fitBoundsPadding","Object","values","flat","bounds","padding","duration","fitBoundsDuration","flyTo","flyToDuration","setNavigatorPoint","advanceNavigatorInstruction","setNavigatorPosition","accuracy","Number","isFinite","pickNavigatorPosition","recenterNavigatorCamera","lastPropsRef","updateProps","then","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onMapError","onNavigatorRouteSet","onNavigatorInstruction","onNavigatorPositionSet","onMapLiteError","onReady","handler","e","warn","lastForwardedAt","watchId","watchPosition","position","now","Date","error","enableHighAccuracy","interval","fastestInterval","distanceFilter","maximumAge","clearWatch","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","onMessage","nativeEvent","javaScriptEnabled","domStorageEnabled","showSelectPoint","pointerEvents","justifyContent","alignItems","top","left","height","selectPointColor","selectPointBackgroundColor","state","theme","pickHint","accessibilityLabel","recenterAria","strings","catalog","selectedDir","onSelectVoice","selectVoice","onSelectVolume","selectVolume","onDisable","disableVoice","initialVolume","placeholderTheme"],"sourceRoot":"../../../src","sources":["components/MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ import { Text, View } from 'react-native';
4
+ import { NavigatorManeuverIcon } from "./navigatorManeuverIcon.js";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ /**
7
+ * Нативная панель навигатора (HUD): порт DOM-плашки из веб-навигатора.
8
+ * Получает уже отформатированную view-model (`navigatorHud`) и тему из
9
+ * `navigatorChrome`; вся локализация/форматирование остаются в вебе.
10
+ */
11
+ export function NavigatorHud({
12
+ state,
13
+ theme,
14
+ pickHint
15
+ }) {
16
+ if (!state || !state.visible) return null;
17
+ if (state.pick) {
18
+ return /*#__PURE__*/_jsx(View, {
19
+ pointerEvents: "none",
20
+ style: {
21
+ position: 'absolute',
22
+ top: 12,
23
+ left: 12,
24
+ right: 12,
25
+ padding: 14,
26
+ borderRadius: 14,
27
+ backgroundColor: 'rgba(120, 53, 15, 0.92)',
28
+ borderWidth: 2,
29
+ borderColor: '#facc15'
30
+ },
31
+ children: /*#__PURE__*/_jsx(Text, {
32
+ style: {
33
+ textAlign: 'center',
34
+ fontSize: 14,
35
+ fontWeight: '600',
36
+ color: '#fef3c7'
37
+ },
38
+ children: pickHint
39
+ })
40
+ });
41
+ }
42
+ const speedLimit = state.speedLimitKmh;
43
+ const showSpeed = typeof speedLimit === 'number' && Number.isFinite(speedLimit) && speedLimit > 0;
44
+ return /*#__PURE__*/_jsxs(View, {
45
+ pointerEvents: "none",
46
+ style: {
47
+ position: 'absolute',
48
+ top: 12,
49
+ left: 12,
50
+ right: 12,
51
+ flexDirection: 'row',
52
+ alignItems: 'center',
53
+ gap: 12,
54
+ padding: 14,
55
+ borderRadius: 14,
56
+ backgroundColor: theme.background,
57
+ shadowColor: '#0f172a',
58
+ shadowOpacity: 0.32,
59
+ shadowRadius: 24,
60
+ shadowOffset: {
61
+ width: 0,
62
+ height: 10
63
+ },
64
+ elevation: 6
65
+ },
66
+ children: [/*#__PURE__*/_jsx(View, {
67
+ style: {
68
+ width: 44,
69
+ height: 44,
70
+ borderRadius: 12,
71
+ backgroundColor: theme.iconBackground,
72
+ alignItems: 'center',
73
+ justifyContent: 'center'
74
+ },
75
+ children: typeof state.sign === 'number' ? /*#__PURE__*/_jsx(NavigatorManeuverIcon, {
76
+ sign: state.sign,
77
+ color: theme.iconForeground
78
+ }) : null
79
+ }), /*#__PURE__*/_jsxs(View, {
80
+ style: {
81
+ flex: 1,
82
+ minWidth: 0,
83
+ gap: 2
84
+ },
85
+ children: [state.distanceLabel ? /*#__PURE__*/_jsx(Text, {
86
+ numberOfLines: 1,
87
+ style: {
88
+ fontSize: 18,
89
+ fontWeight: '700',
90
+ lineHeight: 20,
91
+ color: theme.foreground
92
+ },
93
+ children: state.distanceLabel
94
+ }) : null, state.maneuverText ? /*#__PURE__*/_jsx(Text, {
95
+ numberOfLines: 1,
96
+ style: {
97
+ fontSize: 14,
98
+ fontWeight: '500',
99
+ color: theme.subtle
100
+ },
101
+ children: state.maneuverText
102
+ }) : null, state.streetName ? /*#__PURE__*/_jsx(Text, {
103
+ numberOfLines: 1,
104
+ style: {
105
+ fontSize: 12,
106
+ color: theme.muted
107
+ },
108
+ children: state.streetName
109
+ }) : null, state.summaryText ? /*#__PURE__*/_jsx(Text, {
110
+ style: {
111
+ marginTop: 4,
112
+ paddingTop: 6,
113
+ borderTopWidth: 1,
114
+ borderTopColor: theme.divider,
115
+ fontSize: 12,
116
+ fontWeight: '600',
117
+ color: theme.summary,
118
+ lineHeight: 16
119
+ },
120
+ children: state.summaryText
121
+ }) : null, state.extrasText ? /*#__PURE__*/_jsx(Text, {
122
+ style: {
123
+ marginTop: 2,
124
+ fontSize: 11,
125
+ fontWeight: '500',
126
+ color: theme.muted
127
+ },
128
+ children: state.extrasText
129
+ }) : null]
130
+ }), showSpeed ? /*#__PURE__*/_jsx(View, {
131
+ style: {
132
+ width: 52,
133
+ height: 52,
134
+ borderRadius: 26,
135
+ borderWidth: 3,
136
+ borderColor: '#dc2626',
137
+ backgroundColor: '#ffffff',
138
+ alignItems: 'center',
139
+ justifyContent: 'center'
140
+ },
141
+ children: /*#__PURE__*/_jsx(Text, {
142
+ style: {
143
+ fontSize: 14,
144
+ fontWeight: '800',
145
+ color: '#0f172a'
146
+ },
147
+ children: Math.round(speedLimit)
148
+ })
149
+ }) : null]
150
+ });
151
+ }
152
+ //# sourceMappingURL=NavigatorHud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Text","View","NavigatorManeuverIcon","jsx","_jsx","jsxs","_jsxs","NavigatorHud","state","theme","pickHint","visible","pick","pointerEvents","style","position","top","left","right","padding","borderRadius","backgroundColor","borderWidth","borderColor","children","textAlign","fontSize","fontWeight","color","speedLimit","speedLimitKmh","showSpeed","Number","isFinite","flexDirection","alignItems","gap","background","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","iconBackground","justifyContent","sign","iconForeground","flex","minWidth","distanceLabel","numberOfLines","lineHeight","foreground","maneuverText","subtle","streetName","muted","summaryText","marginTop","paddingTop","borderTopWidth","borderTopColor","divider","summary","extrasText","Math","round"],"sourceRoot":"../../../src","sources":["components/NavigatorHud.tsx"],"mappings":"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","ignoreList":[]}