Skip to content

[Feature request] Missing MapView camera change event listeners in the Navigation SDK for React Native #449

Open

Description

@goodluck3301

Is there an existing issue for this?

  • I have searched the existing issues

Description of the bug

I'm trying to detect camera movement events (e.g. onCameraIdle, onCameraMove) using the Navigation SDK for React Native, but these listeners don't appear to be exposed in the current version. I’ve checked the documentation and tried using mapViewCallbacks, but no camera-related events are triggered.

Would it be possible to expose these listeners or provide an alternative way to track camera changes?

React Native version

0.73.6

React version

18.2.0

Package version

0.9.3

Native SDK versions

  • I haven't changed the version of the native SDKs

React Native Doctor Output

$ npx react-native doctor
⠴ Running diagnostics...'"adb"' is not recognized as an internal or external command,
operable program or batch file.
Common
✓ Node.js - Required to execute JavaScript code
✓ npm - Required to install NPM dependencies
● Metro - Metro Bundler is not running

Android
✖ Adb - No devices and/or emulators connected. Please create emulator with Android Studio or connect Android device.
✖ JDK - Required to compile Java code

  • Version found: 11.0.16.1
  • Version supported: >= 17 <= 20
    ✖ Android Studio - Required for building and installing your app on Android
    ✖ ANDROID_HOME - Environment variable that points to your Android SDK installation
    ✓ Gradlew - Build tool required for Android builds
    ✖ Android SDK - Required for building and installing your app on Android
  • Versions found: N/A
  • Version supported: .b34.0.0

Errors: 5
Warnings: 1

Steps to reproduce

Add a component to your screen.

  1. Pass the following mapViewCallbacks:
<MapView
  mapViewCallbacks={{
    onCameraMoveStarted: (reason) => {
      console.log('Camera move started:', reason);
    },
    onCameraMove: () => {
      console.log('Camera is moving');
    },
    onCameraIdle: () => {
      console.log('Camera is idle');
    },
  }}
  onMapViewControllerCreated={setMapViewController}
/>
  1. Interact with the map by dragging or zooming.

  2. Observe the console

Expected vs Actual Behavior

<MapView
  mapViewCallbacks={{
    onCameraMoveStarted: (reason) => {
      console.log('Camera move started:', reason);
    },
    onCameraMove: () => {
      console.log('Camera is moving');
    },
    onCameraIdle: () => {
      console.log('Camera is idle');
    },
  }}
  onMapViewControllerCreated={setMapViewController}
/>

The following logs should be printed during user interaction:

  • Camera move started: [reason]
  • Camera is moving
  • Camera is idle

Code Sample

<MapView
  mapViewCallbacks={{
    onCameraMoveStarted: (reason) => {
      console.log('Camera move started:', reason);
    },
    onCameraMove: () => {
      console.log('Camera is moving');
    },
    onCameraIdle: () => {
      console.log('Camera is idle');
    },
  }}
  onMapViewControllerCreated={setMapViewController}
/>

Additional Context

No response

Activity

  1. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    triage meI really want to be triaged.
    on Jul 16, 2025
  2. changed the title [-][Bug] Missing MapView camera change event listeners in the Navigation SDK for React Native[/-] [+][Feature request] Missing MapView camera change event listeners in the Navigation SDK for React Native[/+] on Jul 17, 2025
  3. illuminati1911 commented on Jul 17, 2025

    @illuminati1911
    Contributor

    @goodluck3301 These are not currently implemented on the React Native SDK. I'll change the title and tag from bug to feature request. Thanks for reporting this. I'll let you know once we have some updates regarding this.

  4. added
    type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.
    and removed
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    on Jul 17, 2025
  5. goodluck3301 commented on Aug 1, 2025

    @goodluck3301
    Author

    @illuminati1911 Thank you for the update.

  6. added
    priority: p3Desirable enhancement or fix. May not be included in next release.
    and removed
    triage meI really want to be triaged.
    on Aug 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

priority: p3Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions