Skip to content

Commit 2c369d0

Browse files
authored
fix: change transformation setters call order (#2391)
1 parent b47bb12 commit 2c369d0

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/utils/transform.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ export function applyViewStateToTransform(tr: Transform, props: MapboxProps): bo
5757
const v: Partial<ViewState> = props.viewState || props;
5858
let changed = false;
5959

60-
if ('longitude' in v && 'latitude' in v) {
61-
const center = tr.center;
62-
// @ts-ignore
63-
tr.center = new center.constructor(v.longitude, v.latitude);
64-
changed = changed || center !== tr.center;
65-
}
6660
if ('zoom' in v) {
6761
const zoom = tr.zoom;
6862
tr.zoom = v.zoom;
@@ -82,5 +76,11 @@ export function applyViewStateToTransform(tr: Transform, props: MapboxProps): bo
8276
changed = true;
8377
tr.padding = v.padding;
8478
}
79+
if ('longitude' in v && 'latitude' in v) {
80+
const center = tr.center;
81+
// @ts-ignore
82+
tr.center = new center.constructor(v.longitude, v.latitude);
83+
changed = changed || center !== tr.center;
84+
}
8585
return changed;
8686
}

test/src/utils/transform.spec.js

+6
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,11 @@ test('applyViewStateToTransform', t => {
9090
changed = applyViewStateToTransform(tr, {viewState: {pitch: 30}});
9191
t.notOk(changed, 'nothing changed');
9292

93+
applyViewStateToTransform(tr, {longitude: 0, latitude: 0, zoom: 0});
94+
changed = applyViewStateToTransform(tr, {longitude: 12, latitude: 34, zoom: 15});
95+
t.ok(changed, 'center and zoom changed');
96+
t.equal(tr.zoom, 15, 'zoom is correct');
97+
t.equal(tr.center.lat, 34, 'center latitude is correct');
98+
9399
t.end();
94100
});

0 commit comments

Comments
 (0)