Hi, for all those who use the geospatial functions in ODK, we are considering a reorganization of the map-related preferences in the General Settings. Here's what we have in mind.
Currently, there are two preference settings for maps, Mapping SDK and Basemap, and they are in a Mapping section at the bottom of the User interface screen in General Settings.
So to switch from Google to OSM, for example, you tap General Settings > User interface, then scroll down to Mapping, and tap Mapping SDK. This preference lets you choose which mapping software to use
The second preference, Basemap, lets you choose the base map to show. If the Mapping SDK is "Google Maps SDK", this gives a list of the map types provided by Google (Streets, Terrain, Satellite, etc.). If it's "OpenStreetMap SDK", it gives a list including base maps provided by OSM, USGS, Stamen, and CartoDB.
If your phone has offline base map files installed, these files will also appear in the Basemap list, regardless of whether "Google Maps SDK" or "OpenStreetMap SDK" is selected for the SDK.
This design has a few shortcomings we'd like to address:
- Most users don't know or care what an SDK is.
- If you are looking for, say, USGS maps, it isn't obvious that you have to first choose "OpenStreetMap SDK" before you can see the USGS options.
- These settings are a little awkward to get to at the bottom of the User interface screen.
We're considering moving these preferences to their own Maps screen, so the General Settings screen will now have 5 items (Server; User interface; Maps; Form management; User and device identity).
On the Maps screen, the first preference will offer 6 choices:
Base layer: [ Mapbox ] [ Google Maps ] [ OpenStreetMap ] [ USGS ] [ CartoDB ] [ Local file ]
(We have been discussing whether to present this option as "Base layer source" or simply "Base layer".)
Based on which one you pick, further options will appear below.
If you choose Mapbox, you'll have a choice of various Mapbox map styles (Light, Dark, and so on). If you choose Google Maps, you'll have a choice among the Google map styles (Terrain, Satellite, and so on); and similarly for USGS and CartoDB. If you choose OpenStreetMap, there won't be any further options (you'll get the standard OSM raster basemap).
If you choose Local file, you'll get a selection of the
.mbtiles files available on the phone.
This paves the way for additional options on the Maps screen, following the three-layer model discussed in this other topic: Geo: Using the Mapbox SDK for Android.
- If we decide to support arbitrary tile URLs, we'll add another choice to the Base layer list (probably called "WMS" or "URL template").
- If we decide to support offline vector or raster overlays, we'll add a new Reference layer preference to this screen that lets you choose a layer to overlay on top of the base layer.
- If we decide to support selectable geometry, there will be a new Content layer preference on this screen that lets you choose a GeoJSON file.
- Once we've added a way to add other layers, we might add a "None" option to the Base layer list so you have the option to turn it off.
Let us know what you think of these changes; we're open to your feedback and ideas!