Store browser-based lat/long in geopoint field

What high-level problem are you trying to solve?

For surveys using Enketo that are filled in on devices that don't have a GPS sensor, users can enter completely incorrect locations which can compromise data quality. For example, a survey might require respondents to be in a particular location (e.g., has to be within France) to be eligible for a program. If a user knows this they can manually select a wrong location to be considered eligible.

Secondarily, even if users put the correct location (searching with the geocoding field, selecting on map, entering lat/long manually) this is not as user friendly as simply hitting a 'save location' button.

Any ideas on how ODK could help you solve it?

  1. Enketo should be extended to include a new appearance for the geopoint question. This could be called no-map. If enabled, it would hide the map and the input search box. Only the geodetect button would remain.

  2. The latitude and longitude provided by the browser (if privacy settings allow this) should be stored as a response to the geopoint question. Currently, this is not the case - the geodetect button gets the lat/long and only sends it on to Google Maps for showing a more precise map (but still requires the user to pick a point on the map).

For item 2, I suggest this could be the default behavior for all geopoint questions that include the geocoding search bar, but this is a bigger feature change. If not, this could simply be the behavior for when the no-map appearance is selected.


When value is entered:

Have you tried using start-geopoint? In that case, there's no user intervention at all. You can then do things like ask for a user manual confirmation in a follow-up question or simply display the received lat/lon/accuracy if you want.

We do intend to align web form geo widgets with Collect at some point but it sounds like start-geopoint might be what you need in the short term.


I thought we had a way to do this already. Thanks @LN :smile:

1 Like