diff --git a/src/components/src/kepler-gl.tsx b/src/components/src/kepler-gl.tsx index b2dce916c1..86e89d27c3 100644 --- a/src/components/src/kepler-gl.tsx +++ b/src/components/src/kepler-gl.tsx @@ -174,6 +174,7 @@ export const mapFieldsSelector = (props: KeplerGLProps, index: number = 0) => ({ mapStyle: props.mapStyle, onDeckInitialized: props.onDeckInitialized, onViewStateChange: props.onViewStateChange, + onMouseMove: props.onMouseMove, deckGlProps: props.deckGlProps, uiStateActions: props.uiStateActions, visStateActions: props.visStateActions, @@ -335,6 +336,7 @@ type KeplerGLBasicProps = { deckGlProps?: object; onLoadCloudMapSuccess?: OnSuccessCallBack; onLoadCloudMapError?: OnErrorCallBack; + onMouseMove?: (event: React.MouseEvent & {lngLat?: [number, number]}) => void; onExportToCloudSuccess?: OnSuccessCallBack; onExportToCloudError?: OnErrorCallBack; readOnly?: boolean; diff --git a/src/components/src/map-container.tsx b/src/components/src/map-container.tsx index 6c7949e9df..00c862e114 100644 --- a/src/components/src/map-container.tsx +++ b/src/components/src/map-container.tsx @@ -308,6 +308,8 @@ export interface MapContainerProps { generateMapboxLayers?: typeof generateMapboxLayers; generateDeckGLLayers?: typeof computeDeckLayers; + + onMouseMove?: (event: React.MouseEvent & {lngLat?: [number, number]}) => void; } export default function MapContainerFactory( @@ -670,7 +672,8 @@ export default function MapContainerFactory( index, mapControls, theme, - generateDeckGLLayers + generateDeckGLLayers, + onMouseMove } = this.props; const {hoverInfo, editor} = visState; @@ -755,8 +758,11 @@ export default function MapContainerFactory(
this.props.visStateActions.onMouseMove(normalizeEvent(event, viewport)) + ? event => { + onMouseMove?.(event); + // @ts-expect-error should be deck viewport + this.props.visStateActions.onMouseMove(normalizeEvent(event, viewport)); + } : undefined } >