react-native-maplibre-lite 0.1.3 → 0.1.4
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.
- package/README.md +133 -45
- package/lib/module/components/MapView.js +55 -20
- package/lib/module/components/MapView.js.map +1 -1
- package/lib/module/components/webMapBuild.js +4 -0
- package/lib/module/components/webMapBuild.js.map +1 -0
- package/lib/typescript/src/components/MapView.d.ts +28 -2
- package/lib/typescript/src/components/MapView.d.ts.map +1 -1
- package/lib/typescript/src/components/types.d.ts +30 -5
- package/lib/typescript/src/components/types.d.ts.map +1 -1
- package/lib/typescript/src/components/webMapBuild.d.ts +2 -0
- package/lib/typescript/src/components/webMapBuild.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/components/MapView.tsx +72 -33
- package/src/components/types.ts +37 -6
- package/src/components/webMapBuild.ts +4 -0
- package/src/index.tsx +13 -1
- package/lib/module/components/webContent.js +0 -159
- package/lib/module/components/webContent.js.map +0 -1
- package/lib/module/components/webFunctions/addMarkerWeb.js +0 -83
- package/lib/module/components/webFunctions/addMarkerWeb.js.map +0 -1
- package/lib/module/components/webFunctions/addPolygonWeb.js +0 -62
- package/lib/module/components/webFunctions/addPolygonWeb.js.map +0 -1
- package/lib/module/components/webFunctions/addPolylineWeb.js +0 -48
- package/lib/module/components/webFunctions/addPolylineWeb.js.map +0 -1
- package/lib/module/components/webFunctions/fitBoundsWeb.js +0 -15
- package/lib/module/components/webFunctions/fitBoundsWeb.js.map +0 -1
- package/lib/module/components/webFunctions/flyToWeb.js +0 -14
- package/lib/module/components/webFunctions/flyToWeb.js.map +0 -1
- package/lib/module/components/webFunctions/initWeb.js +0 -188
- package/lib/module/components/webFunctions/initWeb.js.map +0 -1
- package/lib/module/components/webFunctions/removeMarkerWeb.js +0 -12
- package/lib/module/components/webFunctions/removeMarkerWeb.js.map +0 -1
- package/lib/module/components/webFunctions/removePolygonWeb.js +0 -22
- package/lib/module/components/webFunctions/removePolygonWeb.js.map +0 -1
- package/lib/module/components/webFunctions/removePolylineWeb.js +0 -17
- package/lib/module/components/webFunctions/removePolylineWeb.js.map +0 -1
- package/lib/module/components/webFunctions/updateWeb.js +0 -78
- package/lib/module/components/webFunctions/updateWeb.js.map +0 -1
- package/lib/typescript/src/components/webContent.d.ts +0 -3
- package/lib/typescript/src/components/webContent.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/addMarkerWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/addMarkerWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/addPolygonWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/addPolygonWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/addPolylineWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/addPolylineWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/fitBoundsWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/fitBoundsWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/flyToWeb.d.ts +0 -2
- package/lib/typescript/src/components/webFunctions/flyToWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/initWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/initWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/removeMarkerWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/removeMarkerWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/removePolygonWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/removePolygonWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/removePolylineWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/removePolylineWeb.d.ts.map +0 -1
- package/lib/typescript/src/components/webFunctions/updateWeb.d.ts +0 -3
- package/lib/typescript/src/components/webFunctions/updateWeb.d.ts.map +0 -1
- package/src/components/webContent.ts +0 -163
- package/src/components/webFunctions/addMarkerWeb.ts +0 -80
- package/src/components/webFunctions/addPolygonWeb.ts +0 -59
- package/src/components/webFunctions/addPolylineWeb.ts +0 -45
- package/src/components/webFunctions/fitBoundsWeb.ts +0 -12
- package/src/components/webFunctions/flyToWeb.ts +0 -11
- package/src/components/webFunctions/initWeb.ts +0 -185
- package/src/components/webFunctions/removeMarkerWeb.ts +0 -9
- package/src/components/webFunctions/removePolygonWeb.ts +0 -19
- package/src/components/webFunctions/removePolylineWeb.ts +0 -14
- package/src/components/webFunctions/updateWeb.ts +0 -75
package/README.md
CHANGED
|
@@ -2,22 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Lightweight MapLibre for React Native powered by `WebView`.
|
|
4
4
|
|
|
5
|
-
`react-native-maplibre-lite` renders MapLibre GL JS inside a React Native app
|
|
5
|
+
`react-native-maplibre-lite` renders a bundled MapLibre GL JS runtime inside a React Native app and exposes a small React API:
|
|
6
6
|
|
|
7
7
|
- `MapView`
|
|
8
8
|
- `Marker`
|
|
9
9
|
- `Polyline`
|
|
10
10
|
- `Polygon`
|
|
11
11
|
|
|
12
|
-
It is designed for teams that want a
|
|
12
|
+
It is designed for teams that want a practical MapLibre integration without native SDK setup complexity.
|
|
13
13
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
16
|
- MapLibre GL JS in a React Native component
|
|
17
|
-
- Declarative overlays
|
|
18
|
-
-
|
|
19
|
-
- Built-in
|
|
20
|
-
-
|
|
17
|
+
- Declarative overlays: `Marker`, `Polyline`, `Polygon`
|
|
18
|
+
- Built-in PMTiles protocol support
|
|
19
|
+
- Built-in 3D building extrusion for compatible vector styles
|
|
20
|
+
- Imperative camera methods: `fitBounds()` and `flyTo()`
|
|
21
|
+
- Optional `autoFitBounds` for markers, polylines and polygons
|
|
22
|
+
- Custom marker icons or marker HTML
|
|
23
|
+
- Optional navigator mode with GraphHopper routes, HUD, route snapping and rerouting
|
|
24
|
+
- Map style caching through `AsyncStorage`
|
|
25
|
+
- Android performance controls: `performanceMode`, `turboWhileMoving`, `pixelRatio`
|
|
21
26
|
|
|
22
27
|
## Installation
|
|
23
28
|
|
|
@@ -35,7 +40,7 @@ yarn add react-native-maplibre-lite react-native-webview @react-native-async-sto
|
|
|
35
40
|
|
|
36
41
|
```tsx
|
|
37
42
|
import React, { useRef } from 'react';
|
|
38
|
-
import { View } from 'react-native';
|
|
43
|
+
import { Button, View } from 'react-native';
|
|
39
44
|
import MapView, {
|
|
40
45
|
Marker,
|
|
41
46
|
Polyline,
|
|
@@ -43,12 +48,6 @@ import MapView, {
|
|
|
43
48
|
type MapViewRef,
|
|
44
49
|
} from 'react-native-maplibre-lite';
|
|
45
50
|
|
|
46
|
-
const SOURCES = {
|
|
47
|
-
maplibreJS: 'https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.js',
|
|
48
|
-
maplibreCSS: 'https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.css',
|
|
49
|
-
pmtilesJS: 'https://unpkg.com/pmtiles@3.0.7/dist/pmtiles.js',
|
|
50
|
-
};
|
|
51
|
-
|
|
52
51
|
export function MapScreen() {
|
|
53
52
|
const mapRef = useRef<MapViewRef>(null);
|
|
54
53
|
|
|
@@ -57,19 +56,22 @@ export function MapScreen() {
|
|
|
57
56
|
<MapView
|
|
58
57
|
ref={mapRef}
|
|
59
58
|
style={{ flex: 1 }}
|
|
60
|
-
|
|
59
|
+
placeholderTheme="light"
|
|
61
60
|
center={[37.6173, 55.7558]}
|
|
62
61
|
zoom={11}
|
|
63
62
|
mapStyle="https://demotiles.maplibre.org/style.json"
|
|
64
63
|
zoomEnabled
|
|
65
64
|
scrollEnabled
|
|
66
|
-
|
|
65
|
+
autoFitBounds
|
|
66
|
+
fitBoundsPadding={48}
|
|
67
|
+
onReady={() => console.log('map ready')}
|
|
67
68
|
>
|
|
68
69
|
<Marker
|
|
69
70
|
uniqueId="m-1"
|
|
70
71
|
latitude={55.7558}
|
|
71
72
|
longitude={37.6173}
|
|
72
73
|
color="#1D4ED8"
|
|
74
|
+
onPress={() => console.log('marker pressed')}
|
|
73
75
|
/>
|
|
74
76
|
|
|
75
77
|
<Polyline
|
|
@@ -90,51 +92,121 @@ export function MapScreen() {
|
|
|
90
92
|
strokeColor="#2563EB"
|
|
91
93
|
strokeWidth={2}
|
|
92
94
|
coordinates={[
|
|
93
|
-
[37.
|
|
95
|
+
[37.6, 55.75],
|
|
94
96
|
[37.62, 55.77],
|
|
95
97
|
[37.66, 55.75],
|
|
96
|
-
[37.
|
|
98
|
+
[37.6, 55.75],
|
|
97
99
|
]}
|
|
98
100
|
/>
|
|
99
101
|
</MapView>
|
|
102
|
+
|
|
103
|
+
<Button
|
|
104
|
+
title="Fly to Moscow center"
|
|
105
|
+
onPress={() => mapRef.current?.flyTo([37.6173, 55.7558], 14)}
|
|
106
|
+
/>
|
|
100
107
|
</View>
|
|
101
108
|
);
|
|
102
109
|
}
|
|
103
110
|
```
|
|
104
111
|
|
|
112
|
+
Coordinates use `[longitude, latitude]`, the same order as GeoJSON and GraphHopper. Marker props still accept `latitude` and `longitude` separately.
|
|
113
|
+
|
|
114
|
+
## Navigator Mode
|
|
115
|
+
|
|
116
|
+
Navigator mode adds a route line, a current-position arrow, a driving HUD and GraphHopper-based route recalculation.
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
import React, { useRef } from 'react';
|
|
120
|
+
import { Button, View } from 'react-native';
|
|
121
|
+
import MapView, { type MapViewRef } from 'react-native-maplibre-lite';
|
|
122
|
+
|
|
123
|
+
export function NavigatorScreen() {
|
|
124
|
+
const mapRef = useRef<MapViewRef>(null);
|
|
125
|
+
|
|
126
|
+
return (
|
|
127
|
+
<View style={{ flex: 1 }}>
|
|
128
|
+
<MapView
|
|
129
|
+
ref={mapRef}
|
|
130
|
+
style={{ flex: 1 }}
|
|
131
|
+
center={[37.6173, 55.7558]}
|
|
132
|
+
zoom={17}
|
|
133
|
+
mapStyle="https://example.com/style.json"
|
|
134
|
+
navigator
|
|
135
|
+
graphhopperUrl="https://graphhopper.example.com"
|
|
136
|
+
navigatorLang="ru"
|
|
137
|
+
zoomEnabled
|
|
138
|
+
scrollEnabled
|
|
139
|
+
onNavigatorRouteSet={(route) => console.log('route', route)}
|
|
140
|
+
onNavigatorInstruction={(instruction) =>
|
|
141
|
+
console.log('next instruction', instruction)
|
|
142
|
+
}
|
|
143
|
+
onNavigatorPositionSet={(position) => console.log('position', position)}
|
|
144
|
+
onMapLiteError={(error) => console.warn(error)}
|
|
145
|
+
/>
|
|
146
|
+
|
|
147
|
+
<Button
|
|
148
|
+
title="Build route"
|
|
149
|
+
onPress={() => mapRef.current?.setNavigatorPoint(55.76, 37.64)}
|
|
150
|
+
/>
|
|
151
|
+
</View>
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`graphhopperUrl` is the base URL without the required `/route` suffix. The plugin sends `POST {graphhopperUrl}/route` with `points_encoded: false`, `instructions: true`, and `locale` from `navigatorLang`.
|
|
157
|
+
|
|
158
|
+
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.
|
|
159
|
+
|
|
105
160
|
## API
|
|
106
161
|
|
|
107
162
|
### `MapView` props
|
|
108
163
|
|
|
109
164
|
| Prop | Type | Required | Description |
|
|
110
165
|
| --- | --- | --- | --- |
|
|
111
|
-
| `theme` | `'light' \| 'dark'` | yes | Placeholder theme before map init |
|
|
112
166
|
| `center` | `[number, number]` | yes | Initial map center as `[lng, lat]` |
|
|
113
167
|
| `zoom` | `number` | yes | Initial zoom level |
|
|
114
|
-
| `mapStyle` | `string` | yes | MapLibre style URL |
|
|
168
|
+
| `mapStyle` | `string` | yes | MapLibre style URL. The style JSON is fetched and cached with `AsyncStorage` |
|
|
115
169
|
| `style` | `StyleProp<ViewStyle>` | yes | Container style |
|
|
116
|
-
| `
|
|
170
|
+
| `placeholderTheme` | `'light' \| 'dark'` | no | Placeholder theme before map init. Defaults to `light` |
|
|
117
171
|
| `minZoom` | `number` | no | Minimum zoom |
|
|
118
172
|
| `maxZoom` | `number` | no | Maximum zoom |
|
|
119
|
-
| `zoomEnabled` | `boolean` | no | Enable zoom
|
|
120
|
-
| `scrollEnabled` | `boolean` | no | Enable pan
|
|
173
|
+
| `zoomEnabled` | `boolean` | no | Enable double-tap zoom, pinch zoom and rotation |
|
|
174
|
+
| `scrollEnabled` | `boolean` | no | Enable pan and scroll gestures |
|
|
121
175
|
| `showSelectPoint` | `boolean` | no | Show animated center pointer |
|
|
122
176
|
| `selectPointColor` | `string` | no | Center pointer color |
|
|
123
177
|
| `selectPointBackgroundColor` | `string` | no | Center pointer background |
|
|
178
|
+
| `autoFitBounds` | `boolean` | no | Automatically fit camera to visible overlays after overlay changes |
|
|
179
|
+
| `fitBoundsPadding` | `number` | no | Padding for `fitBounds()` and `autoFitBounds`. Defaults to `40` |
|
|
180
|
+
| `fitBoundsDuration` | `number` | no | Animation duration for `fitBounds()`. Defaults to `500` |
|
|
181
|
+
| `flyToDuration` | `number` | no | Animation duration for `flyTo()`. Defaults to `500` |
|
|
182
|
+
| `performanceMode` | `'quality' \| 'balanced' \| 'performance'` | no | Rendering quality/performance profile |
|
|
183
|
+
| `pixelRatio` | `number` | no | Manual renderer pixel ratio override |
|
|
184
|
+
| `turboWhileMoving` | `boolean` | no | Hide polyline/polygon overlays while map moves |
|
|
185
|
+
| `debugMode` | `boolean` | no | Enables extra WebView-side debug alerts/logging |
|
|
186
|
+
| `navigator` | `boolean` | no | Enable navigator mode |
|
|
187
|
+
| `graphhopperUrl` | `string` | no | Base GraphHopper URL for navigator routes |
|
|
188
|
+
| `navigatorLang` | `'ru' \| 'en'` | no | Navigator HUD and instruction language. Defaults to `ru` |
|
|
189
|
+
| `onReady` | `() => void` | no | Called after the WebView map is initialized |
|
|
124
190
|
| `onMoveStart` | `(params) => void` | no | `movestart` event |
|
|
125
191
|
| `onMoveEnd` | `(params) => void` | no | `moveend` event |
|
|
126
192
|
| `onZoomStart` | `(params) => void` | no | `zoomstart` event |
|
|
127
193
|
| `onZoomEnd` | `(params) => void` | no | `zoomend` event |
|
|
128
194
|
| `onIdle` | `(params) => void` | no | `idle` event |
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
195
|
+
| `onNavigatorRouteSet` | `(params) => void` | no | Called after navigator route creation |
|
|
196
|
+
| `onNavigatorInstruction` | `(params) => void` | no | Called when a navigator instruction is advanced |
|
|
197
|
+
| `onNavigatorPositionSet` | `(params) => void` | no | Called after navigator position update/snap/reroute |
|
|
198
|
+
| `onMapLiteError` | `(error) => void` | no | WebView command error callback |
|
|
132
199
|
|
|
133
200
|
### `MapView` ref
|
|
134
201
|
|
|
135
202
|
| Method | Description |
|
|
136
203
|
| --- | --- |
|
|
137
|
-
| `fitBounds()` | Fits camera to
|
|
204
|
+
| `fitBounds()` | Fits camera to current markers, polylines and polygons |
|
|
205
|
+
| `flyTo(center, zoom)` | Animates camera to `[lng, lat]` and zoom |
|
|
206
|
+
| `setNavigatorPoint(latitude, longitude)` | Builds a navigator route to the destination. Requires `navigator` |
|
|
207
|
+
| `advanceNavigatorInstruction()` | Advances to the next navigator instruction |
|
|
208
|
+
| `setNavigatorPosition(latitude, longitude)` | Updates current navigator position from GPS or another source |
|
|
209
|
+
| `pickNavigatorPosition()` | Dev helper: next map tap sets current navigator position |
|
|
138
210
|
|
|
139
211
|
### `Marker` props
|
|
140
212
|
|
|
@@ -144,31 +216,35 @@ export function MapScreen() {
|
|
|
144
216
|
| `latitude` | `number` | yes | Marker latitude |
|
|
145
217
|
| `longitude` | `number` | yes | Marker longitude |
|
|
146
218
|
| `onPress` | `() => void` | no | Press callback |
|
|
147
|
-
| `
|
|
219
|
+
| `ignoreFitBounds` | `boolean` | no | Exclude marker from `fitBounds()` and `autoFitBounds` |
|
|
220
|
+
| `color` | `string` | no | Default MapLibre marker color |
|
|
148
221
|
| `iconUrl` | `string` | no | Custom marker image URL |
|
|
149
222
|
| `iconWidth` | `number` | no | Custom icon width |
|
|
150
223
|
| `iconHeight` | `number` | no | Custom icon height |
|
|
224
|
+
| `html` | `string` | no | Custom marker HTML. If provided, it takes priority over `iconUrl` and `color` |
|
|
151
225
|
|
|
152
226
|
### `Polyline` props
|
|
153
227
|
|
|
154
|
-
| Prop | Type | Required |
|
|
155
|
-
| --- | --- | --- |
|
|
156
|
-
| `uniqueId` | `string` | yes |
|
|
157
|
-
| `coordinates` | `[number, number][]` | yes |
|
|
158
|
-
| `
|
|
159
|
-
| `
|
|
228
|
+
| Prop | Type | Required | Description |
|
|
229
|
+
| --- | --- | --- | --- |
|
|
230
|
+
| `uniqueId` | `string` | yes | Unique overlay id |
|
|
231
|
+
| `coordinates` | `[number, number][]` | yes | Line coordinates as `[lng, lat]` |
|
|
232
|
+
| `ignoreFitBounds` | `boolean` | no | Exclude line from `fitBounds()` and `autoFitBounds` |
|
|
233
|
+
| `color` | `string` | no | Line color. Defaults to `#000000` |
|
|
234
|
+
| `width` | `number` | no | Line width. Defaults to `4` |
|
|
160
235
|
|
|
161
236
|
### `Polygon` props
|
|
162
237
|
|
|
163
|
-
| Prop | Type | Required |
|
|
164
|
-
| --- | --- | --- |
|
|
165
|
-
| `uniqueId` | `string` | yes |
|
|
166
|
-
| `coordinates` | `[number, number][]` | yes |
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
238
|
+
| Prop | Type | Required | Description |
|
|
239
|
+
| --- | --- | --- | --- |
|
|
240
|
+
| `uniqueId` | `string` | yes | Unique overlay id |
|
|
241
|
+
| `coordinates` | `[number, number][]` | yes | Polygon ring coordinates as `[lng, lat]` |
|
|
242
|
+
| `ignoreFitBounds` | `boolean` | no | Exclude polygon from `fitBounds()` and `autoFitBounds` |
|
|
243
|
+
| `fillColor` | `string` | no | Fill color |
|
|
244
|
+
| `fillOpacity` | `number` | no | Fill opacity |
|
|
245
|
+
| `strokeColor` | `string` | no | Stroke color |
|
|
246
|
+
| `strokeOpacity` | `number` | no | Stroke opacity |
|
|
247
|
+
| `strokeWidth` | `number` | no | Stroke width |
|
|
172
248
|
|
|
173
249
|
## Performance Tuning (Android)
|
|
174
250
|
|
|
@@ -186,13 +262,25 @@ Profiles:
|
|
|
186
262
|
|
|
187
263
|
- `quality`: best visual quality
|
|
188
264
|
- `balanced`: default on Android; better FPS with moderate quality reduction
|
|
189
|
-
- `performance`: aggressive optimizations
|
|
265
|
+
- `performance`: aggressive optimizations, lower renderer resolution, simplified style and reduced map effects
|
|
190
266
|
|
|
191
267
|
Tips:
|
|
192
268
|
|
|
193
|
-
- If you still see frame drops, pass a lower `pixelRatio
|
|
269
|
+
- If you still see frame drops, pass a lower `pixelRatio`, for example `0.75`
|
|
194
270
|
- Keep number of simultaneously visible overlays moderate
|
|
195
|
-
- Prefer simpler map styles
|
|
271
|
+
- Prefer simpler map styles with fewer labels and 3D layers
|
|
272
|
+
|
|
273
|
+
## Web Bundle Development
|
|
274
|
+
|
|
275
|
+
The WebView runtime is generated from `webProject` and committed as `src/components/webMapBuild.ts`.
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
cd webProject
|
|
279
|
+
npm install
|
|
280
|
+
npm run build
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
`npm run build` runs Vite and then `webProject/scripts/inlineHtml.mjs`, which writes the single-file HTML bundle back into `src/components/webMapBuild.ts`.
|
|
196
284
|
|
|
197
285
|
## Contributing
|
|
198
286
|
|
|
@@ -6,17 +6,7 @@ import { WebView } from 'react-native-webview';
|
|
|
6
6
|
import MapPlaceholder from "./MapPlaceholder.js";
|
|
7
7
|
import MapSelectPoint from "./MapSelectPoint.js";
|
|
8
8
|
import { loadResources } from "./utils.js";
|
|
9
|
-
import {
|
|
10
|
-
import addMarkerWeb from "./webFunctions/addMarkerWeb.js";
|
|
11
|
-
import addPolygonWeb from "./webFunctions/addPolygonWeb.js";
|
|
12
|
-
import addPolylineWeb from "./webFunctions/addPolylineWeb.js";
|
|
13
|
-
import fitBoundsWeb from "./webFunctions/fitBoundsWeb.js";
|
|
14
|
-
import { flyToWeb } from "./webFunctions/flyToWeb.js";
|
|
15
|
-
import initWeb from "./webFunctions/initWeb.js";
|
|
16
|
-
import removeMarkerWeb from "./webFunctions/removeMarkerWeb.js";
|
|
17
|
-
import removePolygonWeb from "./webFunctions/removePolygonWeb.js";
|
|
18
|
-
import removePolylineWeb from "./webFunctions/removePolylineWeb.js";
|
|
19
|
-
import updateWeb from "./webFunctions/updateWeb.js";
|
|
9
|
+
import { MAP_HTML } from "./webMapBuild.js";
|
|
20
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
11
|
const MapViewContext = /*#__PURE__*/createContext(null);
|
|
22
12
|
export const useMapViewContext = () => {
|
|
@@ -24,7 +14,6 @@ export const useMapViewContext = () => {
|
|
|
24
14
|
if (!ctx) throw new Error('useMapViewContext must be used within <MapView>');
|
|
25
15
|
return ctx;
|
|
26
16
|
};
|
|
27
|
-
const webFunctionsString = [initWeb, addMarkerWeb, removeMarkerWeb, addPolylineWeb, removePolylineWeb, addPolygonWeb, removePolygonWeb, fitBoundsWeb, flyToWeb, updateWeb].join('\n');
|
|
28
17
|
const getBoundsFromCoords = coords => {
|
|
29
18
|
if (!coords.length) {
|
|
30
19
|
throw new Error('Empty coordinates array');
|
|
@@ -44,7 +33,6 @@ const getBoundsFromCoords = coords => {
|
|
|
44
33
|
export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
45
34
|
const webViewRef = useRef(null);
|
|
46
35
|
const [inited, setInited] = useState(false);
|
|
47
|
-
const [html, setHtml] = useState('');
|
|
48
36
|
const coordsInMapRef = useRef({});
|
|
49
37
|
const markersClickHandlers = useRef({});
|
|
50
38
|
const mapSelectPointRef = useRef(null);
|
|
@@ -81,7 +69,11 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
81
69
|
aggressiveSimplifyStyle: performanceMode === 'performance',
|
|
82
70
|
maxPitch: performanceMode === 'performance' ? 0 : 45,
|
|
83
71
|
renderWorldCopies: performanceMode === 'quality',
|
|
84
|
-
turboWhileMoving: props.turboWhileMoving ?? performanceMode === 'performance'
|
|
72
|
+
turboWhileMoving: props.turboWhileMoving ?? performanceMode === 'performance',
|
|
73
|
+
debugMode: props.debugMode ?? false,
|
|
74
|
+
navigator: props.navigator === true,
|
|
75
|
+
graphhopperUrl: props.graphhopperUrl,
|
|
76
|
+
navigatorLang: props.navigatorLang
|
|
85
77
|
}
|
|
86
78
|
});
|
|
87
79
|
};
|
|
@@ -184,9 +176,43 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
184
176
|
}
|
|
185
177
|
});
|
|
186
178
|
};
|
|
179
|
+
const setNavigatorPoint = (latitude, longitude) => {
|
|
180
|
+
sendToWebView({
|
|
181
|
+
function: 'setNavigatorPoint',
|
|
182
|
+
params: {
|
|
183
|
+
latitude,
|
|
184
|
+
longitude
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
const advanceNavigatorInstruction = () => {
|
|
189
|
+
sendToWebView({
|
|
190
|
+
function: 'advanceNavigatorInstruction',
|
|
191
|
+
params: {}
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
const setNavigatorPosition = (latitude, longitude) => {
|
|
195
|
+
sendToWebView({
|
|
196
|
+
function: 'setNavigatorPosition',
|
|
197
|
+
params: {
|
|
198
|
+
latitude,
|
|
199
|
+
longitude
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
const pickNavigatorPosition = () => {
|
|
204
|
+
sendToWebView({
|
|
205
|
+
function: 'pickNavigatorPosition',
|
|
206
|
+
params: {}
|
|
207
|
+
});
|
|
208
|
+
};
|
|
187
209
|
useImperativeHandle(ref, () => ({
|
|
188
210
|
fitBounds,
|
|
189
|
-
flyTo
|
|
211
|
+
flyTo,
|
|
212
|
+
setNavigatorPoint,
|
|
213
|
+
advanceNavigatorInstruction,
|
|
214
|
+
setNavigatorPosition,
|
|
215
|
+
pickNavigatorPosition
|
|
190
216
|
}), [fitBounds]);
|
|
191
217
|
const lastPropsRef = useRef(props);
|
|
192
218
|
useEffect(() => {
|
|
@@ -214,10 +240,6 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
214
240
|
});
|
|
215
241
|
}
|
|
216
242
|
}, [props.minZoom, props.maxZoom, props.zoomEnabled, props.scrollEnabled, props.mapStyle]);
|
|
217
|
-
useEffect(() => {
|
|
218
|
-
if (html) return;
|
|
219
|
-
maplibreHtmlMap(webFunctionsString, props.sources, props.debugMode ?? false).then(setHtml);
|
|
220
|
-
}, []);
|
|
221
243
|
const onReceiveMessageFromWebView = data => {
|
|
222
244
|
try {
|
|
223
245
|
const msg = JSON.parse(data);
|
|
@@ -243,9 +265,22 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
243
265
|
case 'idle':
|
|
244
266
|
props.onIdle?.(msg.params);
|
|
245
267
|
break;
|
|
268
|
+
case 'navigatorRouteSet':
|
|
269
|
+
props.onNavigatorRouteSet?.(msg.params);
|
|
270
|
+
break;
|
|
271
|
+
case 'navigatorInstruction':
|
|
272
|
+
props.onNavigatorInstruction?.(msg.params);
|
|
273
|
+
break;
|
|
274
|
+
case 'navigatorPositionSet':
|
|
275
|
+
props.onNavigatorPositionSet?.(msg.params);
|
|
276
|
+
break;
|
|
246
277
|
}
|
|
247
278
|
return;
|
|
248
279
|
}
|
|
280
|
+
if (msg.type === 'error' && msg.data) {
|
|
281
|
+
props.onMapLiteError?.(msg.data);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
249
284
|
if (msg.type === 'inited') {
|
|
250
285
|
props.onReady?.();
|
|
251
286
|
setInited(true);
|
|
@@ -287,7 +322,7 @@ export const MapView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
287
322
|
},
|
|
288
323
|
originWhitelist: ['*'],
|
|
289
324
|
source: {
|
|
290
|
-
html
|
|
325
|
+
html: MAP_HTML
|
|
291
326
|
},
|
|
292
327
|
onMessage: event => {
|
|
293
328
|
onReceiveMessageFromWebView(event.nativeEvent.data);
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useRef","useState","Platform","View","WebView","MapPlaceholder","MapSelectPoint","loadResources","MAP_HTML","jsx","_jsx","jsxs","_jsxs","MapViewContext","useMapViewContext","ctx","Error","getBoundsFromCoords","coords","length","minLng","maxLng","minLat","maxLat","lng","lat","MapView","props","ref","webViewRef","inited","setInited","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","debugMode","navigator","graphhopperUrl","navigatorLang","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","pickNavigatorPosition","lastPropsRef","updateProps","keys","onReceiveMessageFromWebView","data","msg","type","event","up","onMoveStart","onMoveEnd","down","onZoomStart","onZoomEnd","onIdle","onNavigatorRouteSet","onNavigatorInstruction","onNavigatorPositionSet","onMapLiteError","onReady","handler","e","warn","style","children","Provider","value","flex","backgroundColor","originWhitelist","source","html","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":[]}
|