Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/GoogleMapCameraPosition.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { computeOffset, type GeoPoint, type MapCameraPosition } from '@mapconductor/js-sdk-core';
import { computeOffset, type GeoPoint, type MapCameraPosition, toNativeHeading, } from '@mapconductor/js-sdk-core';
import { ZoomAltitudeConverter } from './zoom/ZoomAltitudeConverter';

const converter = new ZoomAltitudeConverter(ZoomAltitudeConverter.DEFAULT_ZOOM0_ALTITUDE);
Expand All @@ -25,7 +25,7 @@ export function toGoogleMapsCameraPosition(position: MapCameraPosition): GoogleM
return {
center: position.center,
zoom: position.zoom,
bearing: position.bearing,
bearing: toNativeHeading(position.bearing),
tilt,
};
}
Expand All @@ -39,13 +39,13 @@ export function toGoogleMapsCameraPosition(position: MapCameraPosition): GoogleM
const center = computeOffset({
origin: position.position,
distance: altitude * Math.tan((tiltAbs * Math.PI) / 180),
heading: position.bearing,
heading: toNativeHeading(position.bearing),
});

return {
center,
zoom: position.zoom,
bearing: position.bearing,
bearing: toNativeHeading(position.bearing),
tilt: tiltAbs,
};
}
5 changes: 2 additions & 3 deletions src/GoogleMapViewController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ import {
MapUISettingsDiagnostics,
type MapUISettings,
type CameraRestriction,
isEmptyCameraRestriction,
} from '@mapconductor/js-sdk-core';
isEmptyCameraRestriction, bearingFromNativeHeading, } from '@mapconductor/js-sdk-core';
import { GoogleMapMarkerController } from './marker/GoogleMapMarkerController';
import { GoogleMapCircleController } from './circle/GoogleMapCircleController';
import { GoogleMapPolylineController } from './polyline/GoogleMapPolylineController';
Expand Down Expand Up @@ -195,7 +194,7 @@ export class GoogleMapViewController
return createMapCameraPosition({
position: latLngAltToGeoPoint(center),
zoom,
bearing: this.holder.map.heading ?? 0,
bearing: bearingFromNativeHeading(this.holder.map.heading ?? 0),
tilt: this.holder.map.tilt ?? 0,
// Matches Android: the visible region rides on cameraPosition so that
// mapViewState.cameraPosition.visibleRegion works without the controller.
Expand Down
5 changes: 2 additions & 3 deletions src/GoogleMapViewController2D.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ import {
type MapUISettings,
type CameraRestriction,
isEmptyCameraRestriction,
type GeoPoint,
} from '@mapconductor/js-sdk-core';
type GeoPoint, bearingFromNativeHeading, } from '@mapconductor/js-sdk-core';
import { latLngToGeoPoint, geoPointToLatLng } from './helpers';
import { GoogleMapCircleController } from './circle/GoogleMapCircleController';
import { GoogleMapPolylineController } from './polyline/GoogleMapPolylineController';
Expand Down Expand Up @@ -213,7 +212,7 @@ export class GoogleMapViewController2D
return createMapCameraPosition({
position: latLngToGeoPoint(center),
zoom,
bearing: this.holder.map.getHeading() ?? 0,
bearing: bearingFromNativeHeading(this.holder.map.getHeading() ?? 0),
tilt: this.holder.map.getTilt() ?? 0,
// Matches Android: the visible region rides on cameraPosition so that
// mapViewState.cameraPosition.visibleRegion works without the controller.
Expand Down
8 changes: 4 additions & 4 deletions src/zoom/ZoomAltitudeConverter.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AbstractZoomAltitudeConverter, computeOffset, MapCameraPosition } from '@mapconductor/js-sdk-core';
import { AbstractZoomAltitudeConverter, computeOffset, MapCameraPosition, toNativeHeading, } from '@mapconductor/js-sdk-core';

// Map3DElement allows tilt in [0, 90]. Keep a hair below the horizon so the
// orbit camera never degenerates (range → ∞ at exactly 90°).
Expand Down Expand Up @@ -138,7 +138,7 @@ export class ZoomAltitudeConverter extends AbstractZoomAltitudeConverter {
},
range: this.zoomLevelToDistance({ zoomLevel: snapZoomToGoogle(zoom), latitude: position.latitude }),
tilt: Math.min(tilt, MAX_MAP3D_TILT),
heading: bearing,
heading: toNativeHeading(bearing),
};
}

Expand All @@ -153,7 +153,7 @@ export class ZoomAltitudeConverter extends AbstractZoomAltitudeConverter {
const target = computeOffset({
origin: position,
distance: altitude * Math.tan(tiltAbsRad),
heading: bearing,
heading: toNativeHeading(bearing),
});

return {
Expand All @@ -164,7 +164,7 @@ export class ZoomAltitudeConverter extends AbstractZoomAltitudeConverter {
},
range: altitude / Math.cos(tiltAbsRad),
tilt: tiltAbs,
heading: bearing,
heading: toNativeHeading(bearing),
};
}
}