Skip to content

Commit bc7af99

Browse files
committed
fix(ios): missing camera events
1 parent 25367bc commit bc7af99

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

src/mapbox.android.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1966,7 +1966,7 @@ export class Mapbox extends MapboxCommon implements MapboxApi {
19661966
});
19671967
}
19681968

1969-
setOnCameraMoveListener(listener: () => void, nativeMap?): Promise<void> {
1969+
setOnCameraMoveListener(listener: (reason, animated?) => void, nativeMap?): Promise<void> {
19701970
return new Promise((resolve, reject) => {
19711971
try {
19721972
if (!this._mapboxMapInstance) {
@@ -1975,7 +1975,7 @@ export class Mapbox extends MapboxCommon implements MapboxApi {
19751975
}
19761976

19771977
this.onCameraMoveListener = new com.mapbox.mapboxsdk.maps.MapboxMap.OnCameraMoveListener({
1978-
onCameraMove: () => listener()
1978+
onCameraMove: () => listener(0, false)
19791979
});
19801980

19811981
this._mapboxMapInstance.addOnCameraMoveListener(this.onCameraMoveListener);

src/mapbox.common.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ export interface MapboxApi {
650650

651651
setOnFlingListener(listener: () => void, nativeMap?: any): Promise<any>;
652652

653-
setOnCameraMoveListener(listener: () => void, nativeMap?: any): Promise<any>;
653+
setOnCameraMoveListener(listener: (reason, animated?:boolean) => void, nativeMap?: any): Promise<any>;
654654

655655
setOnCameraMoveCancelListener(listener: () => void, nativeMap?: any): Promise<any>;
656656

@@ -769,7 +769,7 @@ export interface MapboxViewApi {
769769

770770
setOnFlingListener(listener: () => void): Promise<any>;
771771

772-
setOnCameraMoveListener(listener: () => void): Promise<any>;
772+
setOnCameraMoveListener(listener: (reason, animated?:boolean) => void): Promise<any>;
773773

774774
setOnCameraMoveCancelListener(listener: () => void): Promise<any>;
775775

@@ -904,7 +904,7 @@ export abstract class MapboxViewCommonBase extends ContentView implements Mapbox
904904
setOnFlingListener(listener: () => void, nativeMap?: any): Promise<any> {
905905
return this.mapbox.setOnFlingListener(listener, this.getNativeMapView());
906906
}
907-
setOnCameraMoveListener(listener: () => void, nativeMap?: any): Promise<any> {
907+
setOnCameraMoveListener(listener: (reason, animated?:boolean) => void, nativeMap?: any): Promise<any> {
908908
return this.mapbox.setOnCameraMoveListener(listener, this.getNativeMapView());
909909
}
910910
setOnCameraMoveCancelListener(listener: () => void, nativeMap?: any): Promise<any> {

src/mapbox.ios.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -1844,7 +1844,7 @@ export class Mapbox extends MapboxCommon implements MapboxApi {
18441844
return Promise.reject("'setOnFlingListener' is not supported on iOS");
18451845
}
18461846

1847-
async setOnCameraMoveListener(listener: () => void, nativeMap?: any): Promise<void> {
1847+
async setOnCameraMoveListener(listener: (reason, animated?) => void, nativeMap?: any): Promise<void> {
18481848
const theMap: MGLMapView = nativeMap || this._mapboxViewInstance;
18491849
if (theMap) {
18501850
(theMap.delegate as MGLMapViewDelegateImpl).setCameraChangedListener(listener);
@@ -2659,7 +2659,7 @@ class MGLMapViewDelegateImpl extends NSObject implements MGLMapViewDelegate {
26592659

26602660
private userLocationClickListener: (annotation: MGLAnnotation) => void;
26612661
private userLocationChangedListener: (location: UserLocation) => void;
2662-
private cameraChangedListener: () => void;
2662+
private cameraChangedListener: (reason,animated?:boolean) => void;
26632663
private cameraIdledListener: () => void;
26642664
private userLocationRenderMode: any;
26652665
private userLocationAnnotationView: CustomUserLocationAnnotationView;
@@ -2933,18 +2933,21 @@ class MGLMapViewDelegateImpl extends NSObject implements MGLMapViewDelegate {
29332933
return null;
29342934
}
29352935

2936-
mapViewRegionIsChanging() {
2936+
mapViewRegionIsChangingWithReason(mapView: MGLMapView, reason: MGLCameraChangeReason) {
29372937
if (Trace.isEnabled()) {
29382938
CLog(CLogTypes.info, 'MGLMapViewDelegateImpl::mapViewRegionIsChanging()');
29392939
}
29402940
if (this.cameraChangedListener) {
2941-
this.cameraChangedListener();
2941+
this.cameraChangedListener(reason);
29422942
}
29432943
}
2944-
mapViewRegionDidChangeAnimated(animated) {
2944+
mapViewRegionDidChangeWithReasonAnimated?(mapView: MGLMapView, reason: MGLCameraChangeReason, animated: boolean) {
29452945
if (Trace.isEnabled()) {
29462946
CLog(CLogTypes.info, 'MGLMapViewDelegateImpl::mapViewRegionDidChangeAnimated()');
29472947
}
2948+
if (this.cameraChangedListener) {
2949+
this.cameraChangedListener(reason, animated);
2950+
}
29482951
if (this.cameraIdledListener) {
29492952
this.cameraIdledListener();
29502953
}

0 commit comments

Comments
 (0)