dimagi / commcare-android

Offline First Android software client for CommCare, the world's largest platform for designing, managing, and deploying robust mobile applications to frontline workers worldwide
https://www.dimagi.com/open-source/
Apache License 2.0
37 stars 25 forks source link

Improve user location feedback in case list maps #2776

Open ctsims opened 2 months ago

ctsims commented 2 months ago

Feature Request

The Case List Map feature currently supports a single roaming indicator of the user's current position based on the device's location reading. While helpful, this feature is limited in assisting users with 'homing' tasks where precise GPS navigation is required.

Current Behavior

The map displays a single geopoint representing the user's current location. However, this does not adequately assist users in navigating to a precise GPS point, especially when the location accuracy is poor.

Expected Enhancements

To improve the utility of the map for navigation tasks, the following enhancements are proposed:

  1. Accuracy Circle: Include an accuracy circle which can communicate the uncertainty in the user's current location
  2. Remove Dot with Poor Accuracy: When accuracy is sufficiently poor (above some threshold), remove the 'dot' indicating the user's current location, to prevent them from misinterpreting it as an accurate depiction
  3. Inaccuracy Notification: Provide a pop-over banner on the screen when a user's location is sufficiently inaccurate, to inform them as to why they can't see their precise location
  4. Compass Functionality: Support for the "compass" functionality otherwise available in Google Maps, in which a cone is thrown based on the direction the device is facing, allowing users to disambiguate between equally close points

Additional Information/Context

No response

Environment details (OS name and version, etc.)

No response

shubham1g5 commented 2 months ago

Nice proposed additions and also looks like a good set of work for someone onboarding :)