@maplibre/maplibre-react-native 10.0.0-beta.13 → 10.0.0-beta.14
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 +9 -11
- package/android/src/main/java/org/maplibre/reactnative/components/camera/MLRNCamera.java +37 -48
- package/android/src/main/java/org/maplibre/reactnative/components/location/LocationComponentManager.java +16 -9
- package/app.plugin.js +1 -1
- package/ios/MLRN/MLRNCamera.m +6 -7
- package/lib/commonjs/components/Camera.js +109 -60
- package/lib/commonjs/components/Camera.js.map +1 -1
- package/lib/commonjs/components/MapView.js +6 -6
- package/lib/commonjs/modules/offline/OfflineManager.js +8 -8
- package/lib/commonjs/plugin/withMapLibre.js +149 -0
- package/lib/commonjs/plugin/withMapLibre.js.map +1 -0
- package/lib/module/components/Camera.js +111 -62
- package/lib/module/components/Camera.js.map +1 -1
- package/lib/module/components/MapView.js +6 -6
- package/lib/module/modules/offline/OfflineManager.js +8 -8
- package/lib/module/plugin/withMapLibre.js +140 -0
- package/lib/module/plugin/withMapLibre.js.map +1 -0
- package/lib/typescript/commonjs/src/components/Camera.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts +8 -8
- package/{plugin/build → lib/typescript/commonjs/src/plugin}/withMapLibre.d.ts +1 -0
- package/lib/typescript/commonjs/src/plugin/withMapLibre.d.ts.map +1 -0
- package/lib/typescript/module/src/components/Camera.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts +8 -8
- package/lib/typescript/module/src/plugin/withMapLibre.d.ts +13 -0
- package/lib/typescript/module/src/plugin/withMapLibre.d.ts.map +1 -0
- package/package.json +8 -10
- package/src/components/Camera.tsx +151 -73
- package/src/components/MapView.tsx +6 -6
- package/src/modules/offline/OfflineManager.ts +8 -8
- package/src/plugin/withMapLibre.ts +181 -0
- package/lib/typescript/commonjs/jest.config.d.ts +0 -2
- package/lib/typescript/commonjs/jest.config.d.ts.map +0 -1
- package/lib/typescript/module/jest.config.d.ts +0 -2
- package/lib/typescript/module/jest.config.d.ts.map +0 -1
- package/plugin/build/withMapLibre.js +0 -148
|
@@ -68,7 +68,7 @@ class OfflineManager {
|
|
|
68
68
|
* @example
|
|
69
69
|
* await OfflineManager.invalidatePack('packName')
|
|
70
70
|
*
|
|
71
|
-
* @param {
|
|
71
|
+
* @param {string} name Name of the offline pack.
|
|
72
72
|
* @return {void}
|
|
73
73
|
*/
|
|
74
74
|
async invalidatePack(name) {
|
|
@@ -88,7 +88,7 @@ class OfflineManager {
|
|
|
88
88
|
* @example
|
|
89
89
|
* await OfflineManager.deletePack('packName')
|
|
90
90
|
*
|
|
91
|
-
* @param {
|
|
91
|
+
* @param {string} name Name of the offline pack.
|
|
92
92
|
* @return {void}
|
|
93
93
|
*/
|
|
94
94
|
async deletePack(name) {
|
|
@@ -140,7 +140,7 @@ class OfflineManager {
|
|
|
140
140
|
* @example
|
|
141
141
|
* await OfflineManager.setMaximumAmbientCacheSize(5000000);
|
|
142
142
|
*
|
|
143
|
-
* @param {
|
|
143
|
+
* @param {number} size Size of ambient cache.
|
|
144
144
|
* @return {void}
|
|
145
145
|
*/
|
|
146
146
|
async setMaximumAmbientCacheSize(size) {
|
|
@@ -180,7 +180,7 @@ class OfflineManager {
|
|
|
180
180
|
* @example
|
|
181
181
|
* const offlinePack = await OfflineManager.getPack();
|
|
182
182
|
*
|
|
183
|
-
* @param {
|
|
183
|
+
* @param {string} name Name of the offline pack.
|
|
184
184
|
* @return {OfflinePack}
|
|
185
185
|
*/
|
|
186
186
|
async getPack(name) {
|
|
@@ -194,7 +194,7 @@ class OfflineManager {
|
|
|
194
194
|
* @example
|
|
195
195
|
* await OfflineManager.mergeOfflineRegions(path);
|
|
196
196
|
*
|
|
197
|
-
* @param {
|
|
197
|
+
* @param {string} path Path to offline tile db on file system.
|
|
198
198
|
* @return {void}
|
|
199
199
|
*/
|
|
200
200
|
async mergeOfflineRegions(path) {
|
|
@@ -209,7 +209,7 @@ class OfflineManager {
|
|
|
209
209
|
* @example
|
|
210
210
|
* OfflineManager.setTileCountLimit(1000);
|
|
211
211
|
*
|
|
212
|
-
* @param {
|
|
212
|
+
* @param {number} limit Map tile limit count.
|
|
213
213
|
* @return {void}
|
|
214
214
|
*/
|
|
215
215
|
setTileCountLimit(limit) {
|
|
@@ -223,7 +223,7 @@ class OfflineManager {
|
|
|
223
223
|
* @example
|
|
224
224
|
* OfflineManager.setProgressEventThrottle(500);
|
|
225
225
|
*
|
|
226
|
-
* @param {
|
|
226
|
+
* @param {number} throttleValue event throttle value in ms.
|
|
227
227
|
* @return {void}
|
|
228
228
|
*/
|
|
229
229
|
setProgressEventThrottle(throttleValue) {
|
|
@@ -279,7 +279,7 @@ class OfflineManager {
|
|
|
279
279
|
* @example
|
|
280
280
|
* OfflineManager.unsubscribe('packName')
|
|
281
281
|
*
|
|
282
|
-
* @param {
|
|
282
|
+
* @param {string} packName Name of the offline pack.
|
|
283
283
|
* @return {void}
|
|
284
284
|
*/
|
|
285
285
|
unsubscribe(packName) {
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addInstallerBlock = addInstallerBlock;
|
|
7
|
+
exports.addMapLibreInstallerBlock = addMapLibreInstallerBlock;
|
|
8
|
+
exports.applyCocoaPodsModifications = applyCocoaPodsModifications;
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
exports.setExcludedArchitectures = setExcludedArchitectures;
|
|
11
|
+
var _configPlugins = require("@expo/config-plugins");
|
|
12
|
+
var _generateCode = require("@expo/config-plugins/build/utils/generateCode");
|
|
13
|
+
var _nodeFs = require("node:fs");
|
|
14
|
+
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
let pkg = {
|
|
17
|
+
name: "@maplibre/maplibre-react-native"
|
|
18
|
+
};
|
|
19
|
+
try {
|
|
20
|
+
pkg = require("@maplibre/maplibre-react-native/package.json");
|
|
21
|
+
} catch {
|
|
22
|
+
// empty catch block
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Dangerously adds the custom installer hooks to the Podfile.
|
|
26
|
+
* In the future this should be removed in favor of some custom hooks provided by Expo autolinking.
|
|
27
|
+
*
|
|
28
|
+
* https://github.com/maplibre/maplibre-react-native/blob/main/docs/guides/setup/iOS.md
|
|
29
|
+
*/
|
|
30
|
+
const withCocoaPodsInstallerBlocks = c => {
|
|
31
|
+
return (0, _configPlugins.withDangerousMod)(c, ["ios",
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
33
|
+
async config => {
|
|
34
|
+
const file = _nodePath.default.join(config.modRequest.platformProjectRoot, "Podfile");
|
|
35
|
+
const contents = await _nodeFs.promises.readFile(file, "utf8");
|
|
36
|
+
await _nodeFs.promises.writeFile(file, applyCocoaPodsModifications(contents), "utf-8");
|
|
37
|
+
return config;
|
|
38
|
+
}]);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Only the post-install block is required, the post installer block is
|
|
42
|
+
// used for spm (swift package manager) which Expo doesn't currently support.
|
|
43
|
+
function applyCocoaPodsModifications(contents) {
|
|
44
|
+
// Ensure installer blocks exist
|
|
45
|
+
let src = addInstallerBlock(contents, "post");
|
|
46
|
+
src = addMapLibreInstallerBlock(src, "post");
|
|
47
|
+
return src;
|
|
48
|
+
}
|
|
49
|
+
function addInstallerBlock(src, blockName) {
|
|
50
|
+
const matchBlock = new RegExp(`${blockName}_install do \\|installer\\|`);
|
|
51
|
+
const tag = `${blockName}_installer`;
|
|
52
|
+
for (const line of src.split("\n")) {
|
|
53
|
+
const contents = line.trim();
|
|
54
|
+
// Ignore comments
|
|
55
|
+
if (!contents.startsWith("#")) {
|
|
56
|
+
// Prevent adding the block if it exists outside of comments.
|
|
57
|
+
if (contents.match(matchBlock)) {
|
|
58
|
+
// This helps to still allow revisions, since we enabled the block previously.
|
|
59
|
+
// Only continue if the generated block exists...
|
|
60
|
+
const modified = (0, _generateCode.removeGeneratedContents)(src, tag);
|
|
61
|
+
if (!modified) {
|
|
62
|
+
return src;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return (0, _generateCode.mergeContents)({
|
|
68
|
+
tag,
|
|
69
|
+
src,
|
|
70
|
+
newSrc: [` ${blockName}_install do |installer|`, " end"].join("\n"),
|
|
71
|
+
anchor: /use_react_native/,
|
|
72
|
+
// We can't go after the use_react_native block because it might have parameters, causing it to be multi-line (see react-native template).
|
|
73
|
+
offset: 0,
|
|
74
|
+
comment: "#"
|
|
75
|
+
}).contents;
|
|
76
|
+
}
|
|
77
|
+
function addMapLibreInstallerBlock(src, blockName) {
|
|
78
|
+
return (0, _generateCode.mergeContents)({
|
|
79
|
+
tag: `@maplibre/maplibre-react-native-${blockName}_installer`,
|
|
80
|
+
src,
|
|
81
|
+
newSrc: ` $MLRN.${blockName}_install(installer)`,
|
|
82
|
+
anchor: new RegExp(`${blockName}_install do \\|installer\\|`),
|
|
83
|
+
offset: 1,
|
|
84
|
+
comment: "#"
|
|
85
|
+
}).contents;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Exclude building for arm64 on simulator devices in the pbxproj project.
|
|
90
|
+
* Without this, production builds targeting simulators will fail.
|
|
91
|
+
*/
|
|
92
|
+
function setExcludedArchitectures(project) {
|
|
93
|
+
const configurations = project.pbxXCBuildConfigurationSection();
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
for (const {
|
|
97
|
+
name,
|
|
98
|
+
buildSettings
|
|
99
|
+
} of Object.values(configurations || {})) {
|
|
100
|
+
// Guessing that this is the best way to emulate Xcode.
|
|
101
|
+
// Using `project.addToBuildSettings` modifies too many targets.
|
|
102
|
+
if (name === "Release" && typeof buildSettings?.PRODUCT_NAME !== "undefined") {
|
|
103
|
+
buildSettings['"EXCLUDED_ARCHS[sdk=iphonesimulator*]"'] = '"arm64"';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return project;
|
|
107
|
+
}
|
|
108
|
+
const withoutSignatures = config => {
|
|
109
|
+
const shellScript = `
|
|
110
|
+
echo "Remove signature files (Xcode workaround)";
|
|
111
|
+
rm -rf "$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature";
|
|
112
|
+
`;
|
|
113
|
+
return (0, _configPlugins.withXcodeProject)(config, async config => {
|
|
114
|
+
const xcodeProject = config.modResults;
|
|
115
|
+
xcodeProject.addBuildPhase([], "PBXShellScriptBuildPhase", "Remove signature files (Xcode workaround)", null, {
|
|
116
|
+
shellPath: "/bin/sh",
|
|
117
|
+
shellScript
|
|
118
|
+
});
|
|
119
|
+
return config;
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Set the Debug Information Format to DWARF with dSYM File during EAS Build for Managed App
|
|
125
|
+
* https://github.com/expo/eas-cli/issues/968
|
|
126
|
+
* // Set artifactPath in eas.json
|
|
127
|
+
* "ios": {
|
|
128
|
+
* "artifactPath": "ios/build/*"
|
|
129
|
+
* }
|
|
130
|
+
*/
|
|
131
|
+
const withDwarfDsym = config => {
|
|
132
|
+
return (0, _configPlugins.withXcodeProject)(config, async config => {
|
|
133
|
+
const xcodeProject = config.modResults;
|
|
134
|
+
xcodeProject.debugInformationFormat = "dwarf-with-dsym";
|
|
135
|
+
return config;
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
const withExcludedSimulatorArchitectures = c => {
|
|
139
|
+
return (0, _configPlugins.withXcodeProject)(c, config => {
|
|
140
|
+
config.modResults = setExcludedArchitectures(config.modResults);
|
|
141
|
+
return config;
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
const withMapLibre = config => {
|
|
145
|
+
config = withoutSignatures(withDwarfDsym(withExcludedSimulatorArchitectures(config)));
|
|
146
|
+
return withCocoaPodsInstallerBlocks(config);
|
|
147
|
+
};
|
|
148
|
+
var _default = exports.default = (0, _configPlugins.createRunOncePlugin)(withMapLibre, pkg.name, pkg.version);
|
|
149
|
+
//# sourceMappingURL=withMapLibre.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","_generateCode","_nodeFs","_nodePath","_interopRequireDefault","e","__esModule","default","pkg","name","withCocoaPodsInstallerBlocks","c","withDangerousMod","config","file","path","join","modRequest","platformProjectRoot","contents","promises","readFile","writeFile","applyCocoaPodsModifications","src","addInstallerBlock","addMapLibreInstallerBlock","blockName","matchBlock","RegExp","tag","line","split","trim","startsWith","match","modified","removeGeneratedContents","mergeContents","newSrc","anchor","offset","comment","setExcludedArchitectures","project","configurations","pbxXCBuildConfigurationSection","buildSettings","Object","values","PRODUCT_NAME","withoutSignatures","shellScript","withXcodeProject","xcodeProject","modResults","addBuildPhase","shellPath","withDwarfDsym","debugInformationFormat","withExcludedSimulatorArchitectures","withMapLibre","_default","exports","createRunOncePlugin","version"],"sourceRoot":"../../../src","sources":["plugin/withMapLibre.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { point } from "@turf/helpers";
|
|
4
|
-
import { forwardRef, memo, useImperativeHandle, useMemo } from "react";
|
|
5
|
-
import { requireNativeComponent } from "react-native";
|
|
4
|
+
import { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useState } from "react";
|
|
5
|
+
import { Platform, requireNativeComponent } from "react-native";
|
|
6
6
|
import { CameraModes } from "../MLRNModule.js";
|
|
7
7
|
import { useNativeRef } from "../hooks/useNativeRef.js";
|
|
8
8
|
import { makeNativeBounds } from "../utils/makeNativeBounds.js";
|
|
@@ -32,49 +32,52 @@ function makeNativeCameraStop(stop) {
|
|
|
32
32
|
if (!stop) {
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const newNativeStop = {};
|
|
36
36
|
if (stop.animationDuration !== undefined) {
|
|
37
|
-
|
|
37
|
+
newNativeStop.duration = stop.animationDuration;
|
|
38
38
|
}
|
|
39
39
|
if (stop.animationMode !== undefined) {
|
|
40
|
-
|
|
40
|
+
newNativeStop.mode = getNativeCameraMode(stop.animationMode);
|
|
41
41
|
}
|
|
42
42
|
if (stop.centerCoordinate) {
|
|
43
|
-
|
|
43
|
+
newNativeStop.centerCoordinate = JSON.stringify(point(stop.centerCoordinate));
|
|
44
44
|
}
|
|
45
45
|
if (stop.heading !== undefined) {
|
|
46
|
-
|
|
46
|
+
newNativeStop.heading = stop.heading;
|
|
47
47
|
}
|
|
48
48
|
if (stop.pitch !== undefined) {
|
|
49
|
-
|
|
49
|
+
newNativeStop.pitch = stop.pitch;
|
|
50
50
|
}
|
|
51
51
|
if (stop.zoomLevel !== undefined) {
|
|
52
|
-
|
|
52
|
+
newNativeStop.zoom = stop.zoomLevel;
|
|
53
53
|
}
|
|
54
54
|
if (stop.bounds && stop.bounds.ne && stop.bounds.sw) {
|
|
55
55
|
const {
|
|
56
56
|
ne,
|
|
57
57
|
sw
|
|
58
58
|
} = stop.bounds;
|
|
59
|
-
|
|
59
|
+
newNativeStop.bounds = makeNativeBounds(ne, sw);
|
|
60
60
|
}
|
|
61
61
|
const paddingTop = stop.padding?.paddingTop ?? stop.bounds?.paddingTop;
|
|
62
62
|
if (paddingTop !== undefined) {
|
|
63
|
-
|
|
63
|
+
newNativeStop.paddingTop = paddingTop;
|
|
64
64
|
}
|
|
65
65
|
const paddingRight = stop.padding?.paddingRight ?? stop.bounds?.paddingRight;
|
|
66
66
|
if (paddingRight !== undefined) {
|
|
67
|
-
|
|
67
|
+
newNativeStop.paddingRight = paddingRight;
|
|
68
68
|
}
|
|
69
69
|
const paddingBottom = stop.padding?.paddingBottom ?? stop.bounds?.paddingBottom;
|
|
70
70
|
if (paddingBottom !== undefined) {
|
|
71
|
-
|
|
71
|
+
newNativeStop.paddingBottom = paddingBottom;
|
|
72
72
|
}
|
|
73
73
|
const paddingLeft = stop.padding?.paddingLeft ?? stop.bounds?.paddingLeft;
|
|
74
74
|
if (paddingLeft !== undefined) {
|
|
75
|
-
|
|
75
|
+
newNativeStop.paddingLeft = paddingLeft;
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
if (newNativeStop.centerCoordinate && newNativeStop.bounds) {
|
|
78
|
+
throw new Error("Create a camera stop with bounds and centerCoordinate – this is not possible.");
|
|
79
|
+
}
|
|
80
|
+
return newNativeStop;
|
|
78
81
|
}
|
|
79
82
|
export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
80
83
|
animationMode,
|
|
@@ -96,40 +99,19 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
96
99
|
pitch,
|
|
97
100
|
zoomLevel
|
|
98
101
|
}, ref) => {
|
|
99
|
-
const
|
|
100
|
-
const nativeStop = useMemo(() => {
|
|
101
|
-
return makeNativeCameraStop({
|
|
102
|
-
animationDuration,
|
|
103
|
-
animationMode,
|
|
104
|
-
bounds,
|
|
105
|
-
centerCoordinate,
|
|
106
|
-
heading,
|
|
107
|
-
padding,
|
|
108
|
-
pitch,
|
|
109
|
-
zoomLevel
|
|
110
|
-
});
|
|
111
|
-
}, [animationDuration, animationMode, bounds, centerCoordinate, heading, padding, pitch, zoomLevel]);
|
|
112
|
-
const nativeDefaultStop = useMemo(() => {
|
|
113
|
-
return makeNativeCameraStop(defaultSettings);
|
|
114
|
-
}, [defaultSettings]);
|
|
115
|
-
const nativeMaxBounds = useMemo(() => {
|
|
116
|
-
if (!maxBounds?.ne || !maxBounds?.sw) {
|
|
117
|
-
return undefined;
|
|
118
|
-
}
|
|
119
|
-
return makeNativeBounds(maxBounds.ne, maxBounds.sw);
|
|
120
|
-
}, [maxBounds]);
|
|
102
|
+
const nativeCameraRef = useNativeRef();
|
|
121
103
|
const setCamera = (config = {}) => {
|
|
122
104
|
if ("stops" in config) {
|
|
123
|
-
|
|
105
|
+
nativeCameraRef.current?.setNativeProps({
|
|
124
106
|
stop: {
|
|
125
107
|
stops: config.stops.map(stopItem => makeNativeCameraStop(stopItem)).filter(stopItem => !!stopItem)
|
|
126
108
|
}
|
|
127
109
|
});
|
|
128
110
|
} else {
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
stop
|
|
111
|
+
const stop = makeNativeCameraStop(config);
|
|
112
|
+
if (stop) {
|
|
113
|
+
nativeCameraRef.current?.setNativeProps({
|
|
114
|
+
stop
|
|
133
115
|
});
|
|
134
116
|
}
|
|
135
117
|
}
|
|
@@ -195,10 +177,10 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
195
177
|
* cameraRef.current?.fitBounds([lng, lat], [lng, lat], [verticalPadding, horizontalPadding], 1000)
|
|
196
178
|
* cameraRef.current?.fitBounds([lng, lat], [lng, lat], [top, right, bottom, left], 1000)
|
|
197
179
|
*
|
|
198
|
-
* @param {Array<
|
|
199
|
-
* @param {Array<
|
|
200
|
-
* @param {
|
|
201
|
-
* @param {
|
|
180
|
+
* @param {Array<number>} ne - North east coordinate of bound
|
|
181
|
+
* @param {Array<number>} sw - South west coordinate of bound
|
|
182
|
+
* @param {number|Array<number>|undefined} padding - Padding for the bounds
|
|
183
|
+
* @param {number=} animationDuration - Duration of camera animation
|
|
202
184
|
* @return {void}
|
|
203
185
|
*/
|
|
204
186
|
fitBounds,
|
|
@@ -209,8 +191,8 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
209
191
|
* cameraRef.current?.flyTo([lng, lat])
|
|
210
192
|
* cameraRef.current?.flyTo([lng, lat], 12000)
|
|
211
193
|
*
|
|
212
|
-
* @param {Array<
|
|
213
|
-
* @param {
|
|
194
|
+
* @param {Array<number>} coordinates - Coordinates that map camera will jump to
|
|
195
|
+
* @param {number=} animationDuration - Duration of camera animation
|
|
214
196
|
* @return {void}
|
|
215
197
|
*/
|
|
216
198
|
flyTo,
|
|
@@ -221,8 +203,8 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
221
203
|
* cameraRef.current?.moveTo([lng, lat], 200) // eases camera to new location based on duration
|
|
222
204
|
* cameraRef.current?.moveTo([lng, lat]) // snaps camera to new location without any easing
|
|
223
205
|
*
|
|
224
|
-
* @param {Array<
|
|
225
|
-
* @param {
|
|
206
|
+
* @param {Array<number>} coordinates - Coordinates that map camera will move too
|
|
207
|
+
* @param {number=} animationDuration - Duration of camera animation
|
|
226
208
|
* @return {void}
|
|
227
209
|
*/
|
|
228
210
|
moveTo,
|
|
@@ -233,8 +215,8 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
233
215
|
* cameraRef.current?.zoomTo(16)
|
|
234
216
|
* cameraRef.current?.zoomTo(16, 100)
|
|
235
217
|
*
|
|
236
|
-
* @param {
|
|
237
|
-
* @param {
|
|
218
|
+
* @param {number} zoomLevel - Zoom level that the map camera will animate too
|
|
219
|
+
* @param {number=} animationDuration - Duration of camera animation
|
|
238
220
|
* @return {void}
|
|
239
221
|
*/
|
|
240
222
|
zoomTo,
|
|
@@ -259,19 +241,86 @@ export const Camera = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
259
241
|
*/
|
|
260
242
|
setCamera
|
|
261
243
|
}));
|
|
244
|
+
const followProps = useMemo(() => {
|
|
245
|
+
return {
|
|
246
|
+
followUserMode,
|
|
247
|
+
followPitch: followPitch ?? pitch,
|
|
248
|
+
followHeading: followHeading ?? heading,
|
|
249
|
+
followZoomLevel: followZoomLevel ?? zoomLevel
|
|
250
|
+
};
|
|
251
|
+
}, [followUserMode, followPitch, pitch, followHeading, heading, followZoomLevel, zoomLevel]);
|
|
252
|
+
useEffect(() => {
|
|
253
|
+
if (followUserLocation) {
|
|
254
|
+
if (Platform.OS === "android") {
|
|
255
|
+
nativeCameraRef.current?.setNativeProps({
|
|
256
|
+
...followProps,
|
|
257
|
+
followUserLocation
|
|
258
|
+
});
|
|
259
|
+
} else {
|
|
260
|
+
nativeCameraRef.current?.setNativeProps({
|
|
261
|
+
...followProps
|
|
262
|
+
});
|
|
263
|
+
nativeCameraRef.current?.setNativeProps({
|
|
264
|
+
followUserLocation
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
} else {
|
|
268
|
+
nativeCameraRef.current?.setNativeProps({
|
|
269
|
+
followUserLocation
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
}, [followUserLocation, followProps]);
|
|
273
|
+
const nativeMaxBounds = useMemo(() => {
|
|
274
|
+
if (!maxBounds?.ne || !maxBounds?.sw) {
|
|
275
|
+
return undefined;
|
|
276
|
+
}
|
|
277
|
+
return makeNativeBounds(maxBounds.ne, maxBounds.sw);
|
|
278
|
+
}, [maxBounds]);
|
|
279
|
+
useEffect(() => {
|
|
280
|
+
if (!followUserLocation) {
|
|
281
|
+
nativeCameraRef.current?.setNativeProps({
|
|
282
|
+
maxBounds: nativeMaxBounds
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
}, [followUserLocation, nativeMaxBounds]);
|
|
286
|
+
useEffect(() => {
|
|
287
|
+
if (!followUserLocation) {
|
|
288
|
+
nativeCameraRef.current?.setNativeProps({
|
|
289
|
+
minZoomLevel
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}, [followUserLocation, minZoomLevel]);
|
|
293
|
+
useEffect(() => {
|
|
294
|
+
if (!followUserLocation) {
|
|
295
|
+
nativeCameraRef.current?.setNativeProps({
|
|
296
|
+
maxZoomLevel
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}, [followUserLocation, maxZoomLevel]);
|
|
300
|
+
const nativeStop = useMemo(() => {
|
|
301
|
+
return makeNativeCameraStop({
|
|
302
|
+
animationDuration,
|
|
303
|
+
animationMode,
|
|
304
|
+
bounds,
|
|
305
|
+
centerCoordinate,
|
|
306
|
+
heading,
|
|
307
|
+
padding,
|
|
308
|
+
pitch,
|
|
309
|
+
zoomLevel
|
|
310
|
+
});
|
|
311
|
+
}, [animationDuration, animationMode, bounds, centerCoordinate, heading, padding, pitch, zoomLevel]);
|
|
312
|
+
useEffect(() => {
|
|
313
|
+
if (!followUserLocation) {
|
|
314
|
+
nativeCameraRef.current?.setNativeProps({
|
|
315
|
+
stop: nativeStop
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}, [followUserLocation, nativeStop]);
|
|
319
|
+
const [nativeDefaultStop] = useState(makeNativeCameraStop(defaultSettings));
|
|
262
320
|
return /*#__PURE__*/_jsx(MLRNCamera, {
|
|
263
321
|
testID: "Camera",
|
|
264
|
-
ref:
|
|
265
|
-
stop: nativeStop,
|
|
322
|
+
ref: nativeCameraRef,
|
|
266
323
|
defaultStop: nativeDefaultStop,
|
|
267
|
-
maxBounds: nativeMaxBounds,
|
|
268
|
-
followUserLocation: followUserLocation,
|
|
269
|
-
followHeading: followHeading,
|
|
270
|
-
followPitch: followPitch,
|
|
271
|
-
followUserMode: followUserMode,
|
|
272
|
-
followZoomLevel: followZoomLevel,
|
|
273
|
-
maxZoomLevel: maxZoomLevel,
|
|
274
|
-
minZoomLevel: minZoomLevel,
|
|
275
324
|
onUserTrackingModeChange: onUserTrackingModeChange
|
|
276
325
|
});
|
|
277
326
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["point","forwardRef","memo","useImperativeHandle","useMemo","requireNativeComponent","CameraModes","useNativeRef","makeNativeBounds","jsx","_jsx","NATIVE_MODULE_NAME","UserTrackingMode","getNativeCameraMode","mode","Flight","None","Linear","Ease","makeNativeCameraStop","stop","undefined","
|
|
1
|
+
{"version":3,"names":["point","forwardRef","memo","useEffect","useImperativeHandle","useMemo","useState","Platform","requireNativeComponent","CameraModes","useNativeRef","makeNativeBounds","jsx","_jsx","NATIVE_MODULE_NAME","UserTrackingMode","getNativeCameraMode","mode","Flight","None","Linear","Ease","makeNativeCameraStop","stop","undefined","newNativeStop","animationDuration","duration","animationMode","centerCoordinate","JSON","stringify","heading","pitch","zoomLevel","zoom","bounds","ne","sw","paddingTop","padding","paddingRight","paddingBottom","paddingLeft","Error","Camera","defaultSettings","followUserLocation","followHeading","followPitch","followUserMode","followZoomLevel","maxBounds","maxZoomLevel","minZoomLevel","onUserTrackingModeChange","ref","nativeCameraRef","setCamera","config","current","setNativeProps","stops","map","stopItem","filter","fitBounds","_padding","Array","isArray","length","flyTo","coordinates","moveTo","zoomTo","followProps","OS","nativeMaxBounds","nativeStop","nativeDefaultStop","MLRNCamera","testID","defaultStop"],"sourceRoot":"../../../src","sources":["components/Camera.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,SACEC,UAAU,EACVC,IAAI,EACJC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,QAAQ,QACH,OAAO;AACd,SAASC,QAAQ,EAAEC,sBAAsB,QAAwB,cAAc;AAE/E,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,YAAY,QAAQ,0BAAuB;AAIpD,SAASC,gBAAgB,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7D,OAAO,MAAMC,kBAAkB,GAAG,YAAY;AAE9C,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAgB5B,OAAO,SAASC,mBAAmBA,CAACC,IAA0B,EAAc;EAC1E,QAAQA,IAAI;IACV,KAAK,OAAO;MACV,OAAOR,WAAW,CAACS,MAAM;IAC3B,KAAK,QAAQ;MACX,OAAOT,WAAW,CAACU,IAAI;IACzB,KAAK,UAAU;MACb,OAAOV,WAAW,CAACW,MAAM;IAC3B,KAAK,QAAQ;MACX,OAAOX,WAAW,CAACY,IAAI;IACzB;MACE,OAAOZ,WAAW,CAACU,IAAI;EAC3B;AACF;AAEA,SAASG,oBAAoBA,CAACC,IAAiB,EAAgC;EAC7E,IAAI,CAACA,IAAI,EAAE;IACT,OAAOC,SAAS;EAClB;EAEA,MAAMC,aAA+B,GAAG,CAAC,CAAC;EAE1C,IAAIF,IAAI,CAACG,iBAAiB,KAAKF,SAAS,EAAE;IACxCC,aAAa,CAACE,QAAQ,GAAGJ,IAAI,CAACG,iBAAiB;EACjD;EACA,IAAIH,IAAI,CAACK,aAAa,KAAKJ,SAAS,EAAE;IACpCC,aAAa,CAACR,IAAI,GAAGD,mBAAmB,CAACO,IAAI,CAACK,aAAa,CAAC;EAC9D;EACA,IAAIL,IAAI,CAACM,gBAAgB,EAAE;IACzBJ,aAAa,CAACI,gBAAgB,GAAGC,IAAI,CAACC,SAAS,CAC7C/B,KAAK,CAACuB,IAAI,CAACM,gBAAgB,CAC7B,CAAC;EACH;EACA,IAAIN,IAAI,CAACS,OAAO,KAAKR,SAAS,EAAE;IAC9BC,aAAa,CAACO,OAAO,GAAGT,IAAI,CAACS,OAAO;EACtC;EACA,IAAIT,IAAI,CAACU,KAAK,KAAKT,SAAS,EAAE;IAC5BC,aAAa,CAACQ,KAAK,GAAGV,IAAI,CAACU,KAAK;EAClC;EACA,IAAIV,IAAI,CAACW,SAAS,KAAKV,SAAS,EAAE;IAChCC,aAAa,CAACU,IAAI,GAAGZ,IAAI,CAACW,SAAS;EACrC;EAEA,IAAIX,IAAI,CAACa,MAAM,IAAIb,IAAI,CAACa,MAAM,CAACC,EAAE,IAAId,IAAI,CAACa,MAAM,CAACE,EAAE,EAAE;IACnD,MAAM;MAAED,EAAE;MAAEC;IAAG,CAAC,GAAGf,IAAI,CAACa,MAAM;IAC9BX,aAAa,CAACW,MAAM,GAAGzB,gBAAgB,CAAC0B,EAAE,EAAEC,EAAE,CAAC;EACjD;EAEA,MAAMC,UAAU,GAAGhB,IAAI,CAACiB,OAAO,EAAED,UAAU,IAAIhB,IAAI,CAACa,MAAM,EAAEG,UAAU;EACtE,IAAIA,UAAU,KAAKf,SAAS,EAAE;IAC5BC,aAAa,CAACc,UAAU,GAAGA,UAAU;EACvC;EAEA,MAAME,YAAY,GAAGlB,IAAI,CAACiB,OAAO,EAAEC,YAAY,IAAIlB,IAAI,CAACa,MAAM,EAAEK,YAAY;EAC5E,IAAIA,YAAY,KAAKjB,SAAS,EAAE;IAC9BC,aAAa,CAACgB,YAAY,GAAGA,YAAY;EAC3C;EAEA,MAAMC,aAAa,GACjBnB,IAAI,CAACiB,OAAO,EAAEE,aAAa,IAAInB,IAAI,CAACa,MAAM,EAAEM,aAAa;EAC3D,IAAIA,aAAa,KAAKlB,SAAS,EAAE;IAC/BC,aAAa,CAACiB,aAAa,GAAGA,aAAa;EAC7C;EAEA,MAAMC,WAAW,GAAGpB,IAAI,CAACiB,OAAO,EAAEG,WAAW,IAAIpB,IAAI,CAACa,MAAM,EAAEO,WAAW;EACzE,IAAIA,WAAW,KAAKnB,SAAS,EAAE;IAC7BC,aAAa,CAACkB,WAAW,GAAGA,WAAW;EACzC;EAEA,IAAIlB,aAAa,CAACI,gBAAgB,IAAIJ,aAAa,CAACW,MAAM,EAAE;IAC1D,MAAM,IAAIQ,KAAK,CACb,+EACF,CAAC;EACH;EAEA,OAAOnB,aAAa;AACtB;AAqJA,OAAO,MAAMoB,MAAM,gBAAG3C,IAAI,cACxBD,UAAU,CACR,CACE;EACE2B,aAAa;EACbF,iBAAiB;EACjBU,MAAM;EACNP,gBAAgB;EAChBiB,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,WAAW;EACXC,cAAc;EACdC,eAAe;EACfnB,OAAO;EACPoB,SAAS;EACTC,YAAY;EACZC,YAAY;EACZC,wBAAwB;EACxBf,OAAO;EACPP,KAAK;EACLC;AACW,CAAC,EACdsB,GAAG,KACA;EACH,MAAMC,eAAe,GAAG/C,YAAY,CAAoB,CAAC;EAEzD,MAAMgD,SAAS,GAAGA,CAACC,MAAgC,GAAG,CAAC,CAAC,KAAW;IACjE,IAAI,OAAO,IAAIA,MAAM,EAAE;MACrBF,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCtC,IAAI,EAAE;UACJuC,KAAK,EAAEH,MAAM,CAACG,KAAK,CAChBC,GAAG,CAAEC,QAAQ,IAAK1C,oBAAoB,CAAC0C,QAAQ,CAAC,CAAC,CACjDC,MAAM,CAAED,QAAQ,IAAK,CAAC,CAACA,QAAQ;QACpC;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMzC,IAAI,GAAGD,oBAAoB,CAACqC,MAAM,CAAC;MAEzC,IAAIpC,IAAI,EAAE;QACRkC,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;UAAEtC;QAAK,CAAC,CAAC;MACnD;IACF;EACF,CAAC;EAED,MAAM2C,SAAS,GAAGA,CAChB7B,EAAoB,EACpBC,EAAoB,EACpBE,OAA2B,EAC3Bd,iBAA0B,KACjB;IACT,MAAMyC,QAAuB,GAAG,CAAC,CAAC;IAElC,IAAIC,KAAK,CAACC,OAAO,CAAC7B,OAAO,CAAC,EAAE;MAC1B,IAAIA,OAAO,CAAC8B,MAAM,KAAK,CAAC,EAAE;QACxBH,QAAQ,CAAC5B,UAAU,GAAGC,OAAO,CAAC,CAAC,CAAC;QAChC2B,QAAQ,CAACzB,aAAa,GAAGF,OAAO,CAAC,CAAC,CAAC;QACnC2B,QAAQ,CAACxB,WAAW,GAAGH,OAAO,CAAC,CAAC,CAAC;QACjC2B,QAAQ,CAAC1B,YAAY,GAAGD,OAAO,CAAC,CAAC,CAAC;MACpC,CAAC,MAAM,IAAIA,OAAO,CAAC8B,MAAM,KAAK,CAAC,EAAE;QAC/BH,QAAQ,CAAC5B,UAAU,GAAGC,OAAO,CAAC,CAAC,CAAC;QAChC2B,QAAQ,CAAC1B,YAAY,GAAGD,OAAO,CAAC,CAAC,CAAC;QAClC2B,QAAQ,CAACzB,aAAa,GAAGF,OAAO,CAAC,CAAC,CAAC;QACnC2B,QAAQ,CAACxB,WAAW,GAAGH,OAAO,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,MAAM,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MACtC2B,QAAQ,CAACxB,WAAW,GAAGH,OAAO;MAC9B2B,QAAQ,CAAC1B,YAAY,GAAGD,OAAO;MAC/B2B,QAAQ,CAAC5B,UAAU,GAAGC,OAAO;MAC7B2B,QAAQ,CAACzB,aAAa,GAAGF,OAAO;IAClC;IAEAkB,SAAS,CAAC;MACRtB,MAAM,EAAE;QAAEC,EAAE;QAAEC;MAAG,CAAC;MAClBE,OAAO,EAAE2B,QAAQ;MACjBzC,iBAAiB;MACjBE,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM2C,KAAK,GAAGA,CACZC,WAA6B,EAC7B9C,iBAAiB,GAAG,IAAI,KACf;IACTgC,SAAS,CAAC;MACR7B,gBAAgB,EAAE2C,WAAW;MAC7B9C,iBAAiB;MACjBE,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM6C,MAAM,GAAGA,CACbD,WAA6B,EAC7B9C,iBAAiB,GAAG,CAAC,KACZ;IACTgC,SAAS,CAAC;MACR7B,gBAAgB,EAAE2C,WAAW;MAC7B9C,iBAAiB;MACjBE,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM8C,MAAM,GAAGA,CAACxC,SAAiB,EAAER,iBAAiB,GAAG,IAAI,KAAW;IACpEgC,SAAS,CAAC;MACRxB,SAAS;MACTR,iBAAiB;MACjBE,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ,CAAC;EAEDxB,mBAAmB,CACjBoD,GAAG,EACH,OAAkB;IAChB;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUU,SAAS;IACT;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUK,KAAK;IACL;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUE,MAAM;IACN;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUC,MAAM;IACN;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACUhB;EACF,CAAC,CACH,CAAC;EAED,MAAMiB,WAAW,GAAGtE,OAAO,CAAC,MAAM;IAChC,OAAO;MACL6C,cAAc;MACdD,WAAW,EAAEA,WAAW,IAAIhB,KAAK;MACjCe,aAAa,EAAEA,aAAa,IAAIhB,OAAO;MACvCmB,eAAe,EAAEA,eAAe,IAAIjB;IACtC,CAAC;EACH,CAAC,EAAE,CACDgB,cAAc,EACdD,WAAW,EACXhB,KAAK,EACLe,aAAa,EACbhB,OAAO,EACPmB,eAAe,EACfjB,SAAS,CACV,CAAC;EAEF/B,SAAS,CAAC,MAAM;IACd,IAAI4C,kBAAkB,EAAE;MACtB,IAAIxC,QAAQ,CAACqE,EAAE,KAAK,SAAS,EAAE;QAC7BnB,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;UACtC,GAAGc,WAAW;UACd5B;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACLU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;UACtC,GAAGc;QACL,CAAC,CAAC;QACFlB,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;UACtCd;QACF,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACLU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCd;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,kBAAkB,EAAE4B,WAAW,CAAC,CAAC;EAErC,MAAME,eAAe,GAAGxE,OAAO,CAAC,MAAM;IACpC,IAAI,CAAC+C,SAAS,EAAEf,EAAE,IAAI,CAACe,SAAS,EAAEd,EAAE,EAAE;MACpC,OAAOd,SAAS;IAClB;IAEA,OAAOb,gBAAgB,CAACyC,SAAS,CAACf,EAAE,EAAEe,SAAS,CAACd,EAAE,CAAC;EACrD,CAAC,EAAE,CAACc,SAAS,CAAC,CAAC;EAEfjD,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4C,kBAAkB,EAAE;MACvBU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCT,SAAS,EAAEyB;MACb,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAAC9B,kBAAkB,EAAE8B,eAAe,CAAC,CAAC;EAEzC1E,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4C,kBAAkB,EAAE;MACvBU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCP;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACP,kBAAkB,EAAEO,YAAY,CAAC,CAAC;EAEtCnD,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4C,kBAAkB,EAAE;MACvBU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCR;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,kBAAkB,EAAEM,YAAY,CAAC,CAAC;EAEtC,MAAMyB,UAAU,GAAGzE,OAAO,CAAC,MAAM;IAC/B,OAAOiB,oBAAoB,CAAC;MAC1BI,iBAAiB;MACjBE,aAAa;MACbQ,MAAM;MACNP,gBAAgB;MAChBG,OAAO;MACPQ,OAAO;MACPP,KAAK;MACLC;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CACDR,iBAAiB,EACjBE,aAAa,EACbQ,MAAM,EACNP,gBAAgB,EAChBG,OAAO,EACPQ,OAAO,EACPP,KAAK,EACLC,SAAS,CACV,CAAC;EAEF/B,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4C,kBAAkB,EAAE;MACvBU,eAAe,CAACG,OAAO,EAAEC,cAAc,CAAC;QACtCtC,IAAI,EAAEuD;MACR,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAAC/B,kBAAkB,EAAE+B,UAAU,CAAC,CAAC;EAEpC,MAAM,CAACC,iBAAiB,CAAC,GAAGzE,QAAQ,CAClCgB,oBAAoB,CAACwB,eAAe,CACtC,CAAC;EAED,oBACEjC,IAAA,CAACmE,UAAU;IACTC,MAAM,EAAC,QAAQ;IACfzB,GAAG,EAAEC,eAAgB;IACrByB,WAAW,EAAEH,iBAAkB;IAC/BxB,wBAAwB,EAAEA;EAAyB,CACpD,CAAC;AAEN,CACF,CACF,CAAC;AAED,MAAMyB,UAAU,GACdxE,sBAAsB,CAAoBM,kBAAkB,CAAC","ignoreList":[]}
|
|
@@ -93,8 +93,8 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
93
93
|
queryRenderedFeaturesInRect,
|
|
94
94
|
/**
|
|
95
95
|
* Takes snapshot of map with current tiles and returns a URI to the image
|
|
96
|
-
* @param {
|
|
97
|
-
* @return {
|
|
96
|
+
* @param {boolean} writeToDisk If true will create a temp file, otherwise it is in base64
|
|
97
|
+
* @return {string}
|
|
98
98
|
*/
|
|
99
99
|
takeSnap,
|
|
100
100
|
/**
|
|
@@ -103,7 +103,7 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
103
103
|
* @example
|
|
104
104
|
* const zoom = await this._map.getZoom();
|
|
105
105
|
*
|
|
106
|
-
* @return {
|
|
106
|
+
* @return {number}
|
|
107
107
|
*/
|
|
108
108
|
getZoom,
|
|
109
109
|
/**
|
|
@@ -112,7 +112,7 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
112
112
|
* @example
|
|
113
113
|
* const center = await this._map.getCenter();
|
|
114
114
|
*
|
|
115
|
-
* @return {Array<
|
|
115
|
+
* @return {Array<number>} Coordinates
|
|
116
116
|
*/
|
|
117
117
|
getCenter,
|
|
118
118
|
/**
|
|
@@ -122,8 +122,8 @@ export const MapView = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
|
122
122
|
* await this._map.setSourceVisibility(false, 'composite', 'building')
|
|
123
123
|
*
|
|
124
124
|
* @param {boolean} visible - Visibility of the layers
|
|
125
|
-
* @param {
|
|
126
|
-
* @param {
|
|
125
|
+
* @param {string} sourceId - Identifier of the target source (e.g. 'composite')
|
|
126
|
+
* @param {string=} sourceLayerId - Identifier of the target source-layer (e.g. 'building')
|
|
127
127
|
*/
|
|
128
128
|
setSourceVisibility,
|
|
129
129
|
/**
|
|
@@ -64,7 +64,7 @@ class OfflineManager {
|
|
|
64
64
|
* @example
|
|
65
65
|
* await OfflineManager.invalidatePack('packName')
|
|
66
66
|
*
|
|
67
|
-
* @param {
|
|
67
|
+
* @param {string} name Name of the offline pack.
|
|
68
68
|
* @return {void}
|
|
69
69
|
*/
|
|
70
70
|
async invalidatePack(name) {
|
|
@@ -84,7 +84,7 @@ class OfflineManager {
|
|
|
84
84
|
* @example
|
|
85
85
|
* await OfflineManager.deletePack('packName')
|
|
86
86
|
*
|
|
87
|
-
* @param {
|
|
87
|
+
* @param {string} name Name of the offline pack.
|
|
88
88
|
* @return {void}
|
|
89
89
|
*/
|
|
90
90
|
async deletePack(name) {
|
|
@@ -136,7 +136,7 @@ class OfflineManager {
|
|
|
136
136
|
* @example
|
|
137
137
|
* await OfflineManager.setMaximumAmbientCacheSize(5000000);
|
|
138
138
|
*
|
|
139
|
-
* @param {
|
|
139
|
+
* @param {number} size Size of ambient cache.
|
|
140
140
|
* @return {void}
|
|
141
141
|
*/
|
|
142
142
|
async setMaximumAmbientCacheSize(size) {
|
|
@@ -176,7 +176,7 @@ class OfflineManager {
|
|
|
176
176
|
* @example
|
|
177
177
|
* const offlinePack = await OfflineManager.getPack();
|
|
178
178
|
*
|
|
179
|
-
* @param {
|
|
179
|
+
* @param {string} name Name of the offline pack.
|
|
180
180
|
* @return {OfflinePack}
|
|
181
181
|
*/
|
|
182
182
|
async getPack(name) {
|
|
@@ -190,7 +190,7 @@ class OfflineManager {
|
|
|
190
190
|
* @example
|
|
191
191
|
* await OfflineManager.mergeOfflineRegions(path);
|
|
192
192
|
*
|
|
193
|
-
* @param {
|
|
193
|
+
* @param {string} path Path to offline tile db on file system.
|
|
194
194
|
* @return {void}
|
|
195
195
|
*/
|
|
196
196
|
async mergeOfflineRegions(path) {
|
|
@@ -205,7 +205,7 @@ class OfflineManager {
|
|
|
205
205
|
* @example
|
|
206
206
|
* OfflineManager.setTileCountLimit(1000);
|
|
207
207
|
*
|
|
208
|
-
* @param {
|
|
208
|
+
* @param {number} limit Map tile limit count.
|
|
209
209
|
* @return {void}
|
|
210
210
|
*/
|
|
211
211
|
setTileCountLimit(limit) {
|
|
@@ -219,7 +219,7 @@ class OfflineManager {
|
|
|
219
219
|
* @example
|
|
220
220
|
* OfflineManager.setProgressEventThrottle(500);
|
|
221
221
|
*
|
|
222
|
-
* @param {
|
|
222
|
+
* @param {number} throttleValue event throttle value in ms.
|
|
223
223
|
* @return {void}
|
|
224
224
|
*/
|
|
225
225
|
setProgressEventThrottle(throttleValue) {
|
|
@@ -275,7 +275,7 @@ class OfflineManager {
|
|
|
275
275
|
* @example
|
|
276
276
|
* OfflineManager.unsubscribe('packName')
|
|
277
277
|
*
|
|
278
|
-
* @param {
|
|
278
|
+
* @param {string} packName Name of the offline pack.
|
|
279
279
|
* @return {void}
|
|
280
280
|
*/
|
|
281
281
|
unsubscribe(packName) {
|