@rnmapbox/maps 10.1.28 → 10.1.29-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +23 -22
- package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/layers/RNMBXLayer.kt +3 -1
- package/lib/commonjs/web/components/Camera.js +53 -0
- package/lib/commonjs/web/components/Camera.js.map +1 -1
- package/lib/module/web/components/Camera.js +53 -0
- package/lib/module/web/components/Camera.js.map +1 -1
- package/lib/typescript/src/web/components/Camera.d.ts +2 -1
- package/lib/typescript/src/web/components/Camera.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/web/components/Camera.tsx +61 -1
package/README.md
CHANGED
|
@@ -252,4 +252,4 @@ Help drive this repo forward - be a sponsor. Add a comment [here](https://github
|
|
|
252
252
|
---
|
|
253
253
|
## Developer Group
|
|
254
254
|
|
|
255
|
-
Have a question or need some help?
|
|
255
|
+
Have a question or need some help? Use [Github discussions](https://github.com/rnmapbox/maps/discussions) or the [react-native channel](https://discord.com/channels/1004826913229000704/1092426983696248893) in the mapbox discord.
|
|
@@ -99,9 +99,11 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
|
|
|
99
99
|
override fun addToMap(mapView: RNMBXMapView) {
|
|
100
100
|
super.addToMap(mapView)
|
|
101
101
|
mapView.callIfAttachedToWindow {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
withMapView { mapView ->
|
|
103
|
+
setInitialCamera(mapView)
|
|
104
|
+
updateMaxBounds(mapView)
|
|
105
|
+
mCameraStop?.let { updateCamera(it, mapView) }
|
|
106
|
+
}
|
|
105
107
|
}
|
|
106
108
|
_observeViewportState(mapView.mapView)
|
|
107
109
|
_updateViewportState()
|
|
@@ -117,8 +119,8 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
|
|
|
117
119
|
fun setStop(stop: CameraStop) {
|
|
118
120
|
mCameraStop = stop
|
|
119
121
|
stop.setCallback(mCameraCallback)
|
|
120
|
-
|
|
121
|
-
stop.let { updateCamera(it) }
|
|
122
|
+
withMapView { mapView ->
|
|
123
|
+
stop.let { updateCamera(it, mapView) }
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
126
|
|
|
@@ -172,25 +174,24 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
|
|
|
172
174
|
|
|
173
175
|
fun setMaxBounds(bounds: LatLngBounds?) {
|
|
174
176
|
mMaxBounds = bounds
|
|
175
|
-
|
|
177
|
+
withMapView { mapView ->
|
|
178
|
+
updateMaxBounds(mapView)
|
|
179
|
+
}
|
|
176
180
|
}
|
|
177
181
|
|
|
178
182
|
|
|
179
|
-
private fun updateMaxBounds() {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
mCameraStop?.let { updateCamera(it) }
|
|
188
|
-
}
|
|
183
|
+
private fun updateMaxBounds(mapView: RNMBXMapView) {
|
|
184
|
+
val map = mapView.getMapboxMap()
|
|
185
|
+
val builder = CameraBoundsOptions.Builder()
|
|
186
|
+
builder.bounds(mMaxBounds?.toBounds())
|
|
187
|
+
builder.minZoom(mMinZoomLevel ?: 0.0) // Passing null does not reset this value.
|
|
188
|
+
builder.maxZoom(mMaxZoomLevel ?: 25.0) // Passing null does not reset this value.
|
|
189
|
+
map.setBounds(builder.build())
|
|
190
|
+
mCameraStop?.let { updateCamera(it, mapView) }
|
|
189
191
|
}
|
|
190
192
|
|
|
191
|
-
private fun setInitialCamera() {
|
|
193
|
+
private fun setInitialCamera(mapView: RNMBXMapView) {
|
|
192
194
|
mDefaultStop?.let {
|
|
193
|
-
val mapView = mMapView!!
|
|
194
195
|
val map = mapView.getMapboxMap()
|
|
195
196
|
|
|
196
197
|
it.setDuration(0)
|
|
@@ -200,9 +201,9 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
|
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
203
|
|
|
203
|
-
private fun updateCamera(cameraStop: CameraStop) {
|
|
204
|
+
private fun updateCamera(cameraStop: CameraStop, mapView: RNMBXMapView) {
|
|
204
205
|
mCameraUpdateQueue.offer(cameraStop)
|
|
205
|
-
mCameraUpdateQueue.execute(
|
|
206
|
+
mCameraUpdateQueue.execute(mapView)
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
private fun updateUserLocation(isAnimated: Boolean) {
|
|
@@ -243,12 +244,12 @@ class RNMBXCamera(private val mContext: Context, private val mManager: RNMBXCame
|
|
|
243
244
|
|
|
244
245
|
fun setMinZoomLevel(zoomLevel: Double?) {
|
|
245
246
|
mMinZoomLevel = zoomLevel
|
|
246
|
-
updateMaxBounds()
|
|
247
|
+
withMapView { updateMaxBounds(it) }
|
|
247
248
|
}
|
|
248
249
|
|
|
249
250
|
fun setMaxZoomLevel(zoomLevel: Double?) {
|
|
250
251
|
mMaxZoomLevel = zoomLevel
|
|
251
|
-
updateMaxBounds()
|
|
252
|
+
withMapView { updateMaxBounds(it) }
|
|
252
253
|
}
|
|
253
254
|
|
|
254
255
|
fun setZoomLevel(zoomLevel: Double) {
|
|
@@ -309,7 +309,9 @@ abstract class RNMBXLayer<T : Layer?>(protected var mContext: Context) : Abstrac
|
|
|
309
309
|
val layer = mLayer
|
|
310
310
|
if (layer != null) {
|
|
311
311
|
it.removeStyleLayer(layer.layerId)
|
|
312
|
-
|
|
312
|
+
if (reason != RemovalReason.REORDER) {
|
|
313
|
+
mLayer = null // see https://github.com/rnmapbox/maps/pull/3392
|
|
314
|
+
}
|
|
313
315
|
} else {
|
|
314
316
|
Logger.e("RNMBXLayer","mLayer is null on removal layer from map")
|
|
315
317
|
}
|
|
@@ -122,6 +122,59 @@ class Camera extends _react.Component {
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
+
setCamera(props) {
|
|
126
|
+
const {
|
|
127
|
+
map
|
|
128
|
+
} = this.context;
|
|
129
|
+
if (!map) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const {
|
|
133
|
+
centerCoordinate,
|
|
134
|
+
bounds,
|
|
135
|
+
zoomLevel,
|
|
136
|
+
heading,
|
|
137
|
+
pitch,
|
|
138
|
+
padding,
|
|
139
|
+
animationDuration = 2000
|
|
140
|
+
} = props;
|
|
141
|
+
let options = {
|
|
142
|
+
center: centerCoordinate?.slice(0, 2),
|
|
143
|
+
zoom: zoomLevel ?? map.getZoom(),
|
|
144
|
+
bearing: heading ?? map.getBearing(),
|
|
145
|
+
pitch: pitch ?? map.getPitch()
|
|
146
|
+
};
|
|
147
|
+
if (padding?.paddingTop && padding?.paddingRight && padding?.paddingBottom && padding?.paddingLeft) {
|
|
148
|
+
options.padding = buildMapboxGlPadding([padding.paddingTop, padding.paddingRight, padding.paddingBottom, padding.paddingLeft]);
|
|
149
|
+
}
|
|
150
|
+
if (bounds?.ne && bounds?.sw) {
|
|
151
|
+
const newCameraTransform = map.cameraForBounds([bounds.ne, bounds.sw], options);
|
|
152
|
+
options = {
|
|
153
|
+
...options,
|
|
154
|
+
...newCameraTransform
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
switch (props.animationMode) {
|
|
158
|
+
default:
|
|
159
|
+
case 'easeTo':
|
|
160
|
+
case 'linearTo':
|
|
161
|
+
map.easeTo({
|
|
162
|
+
...options,
|
|
163
|
+
duration: animationDuration
|
|
164
|
+
});
|
|
165
|
+
break;
|
|
166
|
+
case 'flyTo':
|
|
167
|
+
map.flyTo({
|
|
168
|
+
...options,
|
|
169
|
+
duration: animationDuration
|
|
170
|
+
});
|
|
171
|
+
break;
|
|
172
|
+
case 'moveTo':
|
|
173
|
+
case 'none':
|
|
174
|
+
map.jumpTo(options);
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
125
178
|
render() {
|
|
126
179
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
127
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_MapContext","_interopRequireDefault","e","__esModule","default","isArray","value","length","undefined","buildMapboxGlPadding","padding","left","right","top","bottom","Camera","Component","contextType","MapContext","UserTrackingModes","componentDidMount","map","context","props","minZoomLevel","setMinZoom","maxZoomLevel","setMaxZoom","zoomLevel","setZoom","centerCoordinate","flyTo","center","slice","duration","fitBounds","northEastCoordinates","southWestCoordinates","animationDuration","moveTo","easeTo","zoomTo","zoom","render","React","createElement","Fragment","exports","_default"],"sourceRoot":"../../../../src","sources":["web/components/Camera.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","require","_MapContext","_interopRequireDefault","e","__esModule","default","isArray","value","length","undefined","buildMapboxGlPadding","padding","left","right","top","bottom","Camera","Component","contextType","MapContext","UserTrackingModes","componentDidMount","map","context","props","minZoomLevel","setMinZoom","maxZoomLevel","setMaxZoom","zoomLevel","setZoom","centerCoordinate","flyTo","center","slice","duration","fitBounds","northEastCoordinates","southWestCoordinates","animationDuration","moveTo","easeTo","zoomTo","zoom","setCamera","bounds","heading","pitch","options","getZoom","bearing","getBearing","getPitch","paddingTop","paddingRight","paddingBottom","paddingLeft","ne","sw","newCameraTransform","cameraForBounds","animationMode","jumpTo","render","React","createElement","Fragment","exports","_default"],"sourceRoot":"../../../../src","sources":["web/components/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -115,6 +115,59 @@ class Camera extends Component {
|
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
+
setCamera(props) {
|
|
119
|
+
const {
|
|
120
|
+
map
|
|
121
|
+
} = this.context;
|
|
122
|
+
if (!map) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const {
|
|
126
|
+
centerCoordinate,
|
|
127
|
+
bounds,
|
|
128
|
+
zoomLevel,
|
|
129
|
+
heading,
|
|
130
|
+
pitch,
|
|
131
|
+
padding,
|
|
132
|
+
animationDuration = 2000
|
|
133
|
+
} = props;
|
|
134
|
+
let options = {
|
|
135
|
+
center: centerCoordinate?.slice(0, 2),
|
|
136
|
+
zoom: zoomLevel ?? map.getZoom(),
|
|
137
|
+
bearing: heading ?? map.getBearing(),
|
|
138
|
+
pitch: pitch ?? map.getPitch()
|
|
139
|
+
};
|
|
140
|
+
if (padding?.paddingTop && padding?.paddingRight && padding?.paddingBottom && padding?.paddingLeft) {
|
|
141
|
+
options.padding = buildMapboxGlPadding([padding.paddingTop, padding.paddingRight, padding.paddingBottom, padding.paddingLeft]);
|
|
142
|
+
}
|
|
143
|
+
if (bounds?.ne && bounds?.sw) {
|
|
144
|
+
const newCameraTransform = map.cameraForBounds([bounds.ne, bounds.sw], options);
|
|
145
|
+
options = {
|
|
146
|
+
...options,
|
|
147
|
+
...newCameraTransform
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
switch (props.animationMode) {
|
|
151
|
+
default:
|
|
152
|
+
case 'easeTo':
|
|
153
|
+
case 'linearTo':
|
|
154
|
+
map.easeTo({
|
|
155
|
+
...options,
|
|
156
|
+
duration: animationDuration
|
|
157
|
+
});
|
|
158
|
+
break;
|
|
159
|
+
case 'flyTo':
|
|
160
|
+
map.flyTo({
|
|
161
|
+
...options,
|
|
162
|
+
duration: animationDuration
|
|
163
|
+
});
|
|
164
|
+
break;
|
|
165
|
+
case 'moveTo':
|
|
166
|
+
case 'none':
|
|
167
|
+
map.jumpTo(options);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
118
171
|
render() {
|
|
119
172
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
120
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Component","MapContext","isArray","value","length","undefined","buildMapboxGlPadding","padding","left","right","top","bottom","Camera","contextType","UserTrackingModes","componentDidMount","map","context","props","minZoomLevel","setMinZoom","maxZoomLevel","setMaxZoom","zoomLevel","setZoom","centerCoordinate","flyTo","center","slice","duration","fitBounds","northEastCoordinates","southWestCoordinates","animationDuration","moveTo","easeTo","zoomTo","zoom","render","React","createElement","Fragment"],"sourceRoot":"../../../../src","sources":["web/components/Camera.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["Component","MapContext","isArray","value","length","undefined","buildMapboxGlPadding","padding","left","right","top","bottom","Camera","contextType","UserTrackingModes","componentDidMount","map","context","props","minZoomLevel","setMinZoom","maxZoomLevel","setMaxZoom","zoomLevel","setZoom","centerCoordinate","flyTo","center","slice","duration","fitBounds","northEastCoordinates","southWestCoordinates","animationDuration","moveTo","easeTo","zoomTo","zoom","setCamera","bounds","heading","pitch","options","getZoom","bearing","getBearing","getPitch","paddingTop","paddingRight","paddingBottom","paddingLeft","ne","sw","newCameraTransform","cameraForBounds","animationMode","jumpTo","render","React","createElement","Fragment"],"sourceRoot":"../../../../src","sources":["web/components/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="mapbox-gl" />
|
|
2
2
|
import { Component, ContextType } from 'react';
|
|
3
|
-
import { CameraProps, CameraRef } from '../../components/Camera';
|
|
3
|
+
import { CameraProps, CameraStop, CameraRef } from '../../components/Camera';
|
|
4
4
|
import { Position } from '../../types/Position';
|
|
5
5
|
import MapContext from '../MapContext';
|
|
6
6
|
declare class Camera extends Component<Pick<CameraProps, 'centerCoordinate' | 'zoomLevel' | 'minZoomLevel' | 'maxZoomLevel'>> implements Omit<CameraRef, 'setCamera'> {
|
|
@@ -14,6 +14,7 @@ declare class Camera extends Component<Pick<CameraProps, 'centerCoordinate' | 'z
|
|
|
14
14
|
flyTo(centerCoordinate: Position, animationDuration?: number): void;
|
|
15
15
|
moveTo(centerCoordinate: Position, animationDuration?: number): void;
|
|
16
16
|
zoomTo(zoomLevel: number, animationDuration?: number): void;
|
|
17
|
+
setCamera(props: CameraStop): void;
|
|
17
18
|
render(): import("react").JSX.Element;
|
|
18
19
|
}
|
|
19
20
|
export { Camera };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../src/web/components/Camera.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../src/web/components/Camera.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,UAAU,MAAM,eAAe,CAAC;AA2CvC,cAAM,MACJ,SAAQ,SAAS,CACf,IAAI,CACF,WAAW,EACX,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CACnE,CAEH,YAAW,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;IAEvC,OAAO,EAAG,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;IAEzC,MAAM,CAAC,WAAW;;OAAc;IAChC,MAAM,CAAC,iBAAiB,UAAM;IAE9B,iBAAiB;IA8BjB,SAAS,CACP,oBAAoB,EAAE,QAAQ,EAC9B,oBAAoB,EAAE,QAAQ,EAC9B,OAAO,GAAE,MAAM,GAAG,MAAM,EAAM,EAC9B,iBAAiB,SAAI;IAiBvB,KAAK,CAAC,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,SAAO;IAU1D,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,SAAI;IAUxD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,SAAO;IAUlD,SAAS,CAAC,KAAK,EAAE,UAAU;IA4D3B,MAAM;CAGP;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rnmapbox/maps",
|
|
3
3
|
"description": "A Mapbox react native module for creating custom maps",
|
|
4
|
-
"version": "10.1.
|
|
4
|
+
"version": "10.1.29-rc.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -86,6 +86,9 @@
|
|
|
86
86
|
"@babel/core": "7.19.1",
|
|
87
87
|
"@babel/eslint-parser": "^7.19.1",
|
|
88
88
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
89
|
+
"@babel/helper-split-export-declaration": "7.24.7",
|
|
90
|
+
"@babel/helper-hoist-variables": "7.24.7",
|
|
91
|
+
"@babel/helper-function-name": "7.24.7",
|
|
89
92
|
"@babel/runtime": "7.19.0",
|
|
90
93
|
"@react-native/eslint-config": "^0.72.2",
|
|
91
94
|
"@sinonjs/fake-timers": "^8.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ContextType } from 'react';
|
|
2
2
|
|
|
3
|
-
import { CameraProps, CameraRef } from '../../components/Camera';
|
|
3
|
+
import { CameraProps, CameraStop, CameraRef } from '../../components/Camera';
|
|
4
4
|
import { Position } from '../../types/Position';
|
|
5
5
|
import MapContext from '../MapContext';
|
|
6
6
|
|
|
@@ -140,6 +140,66 @@ class Camera
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
setCamera(props: CameraStop) {
|
|
144
|
+
const { map } = this.context;
|
|
145
|
+
if (!map) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const {
|
|
149
|
+
centerCoordinate,
|
|
150
|
+
bounds,
|
|
151
|
+
zoomLevel,
|
|
152
|
+
heading,
|
|
153
|
+
pitch,
|
|
154
|
+
padding,
|
|
155
|
+
animationDuration = 2000,
|
|
156
|
+
} = props;
|
|
157
|
+
|
|
158
|
+
let options: mapboxgl.CameraOptions = {
|
|
159
|
+
center: centerCoordinate?.slice(0, 2) as [number, number],
|
|
160
|
+
zoom: zoomLevel ?? map.getZoom(),
|
|
161
|
+
bearing: heading ?? map.getBearing(),
|
|
162
|
+
pitch: pitch ?? map.getPitch(),
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
if (
|
|
166
|
+
padding?.paddingTop &&
|
|
167
|
+
padding?.paddingRight &&
|
|
168
|
+
padding?.paddingBottom &&
|
|
169
|
+
padding?.paddingLeft
|
|
170
|
+
) {
|
|
171
|
+
options.padding = buildMapboxGlPadding([
|
|
172
|
+
padding.paddingTop,
|
|
173
|
+
padding.paddingRight,
|
|
174
|
+
padding.paddingBottom,
|
|
175
|
+
padding.paddingLeft,
|
|
176
|
+
]);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (bounds?.ne && bounds?.sw) {
|
|
180
|
+
const newCameraTransform = map.cameraForBounds(
|
|
181
|
+
[bounds.ne as mapboxgl.LngLatLike, bounds.sw as mapboxgl.LngLatLike],
|
|
182
|
+
options,
|
|
183
|
+
);
|
|
184
|
+
options = { ...options, ...newCameraTransform };
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
switch (props.animationMode) {
|
|
188
|
+
default:
|
|
189
|
+
case 'easeTo':
|
|
190
|
+
case 'linearTo':
|
|
191
|
+
map.easeTo({ ...options, duration: animationDuration });
|
|
192
|
+
break;
|
|
193
|
+
case 'flyTo':
|
|
194
|
+
map.flyTo({ ...options, duration: animationDuration });
|
|
195
|
+
break;
|
|
196
|
+
case 'moveTo':
|
|
197
|
+
case 'none':
|
|
198
|
+
map.jumpTo(options);
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
143
203
|
render() {
|
|
144
204
|
return <></>;
|
|
145
205
|
}
|