Geocoding
OpenRemote includes geocoding support that allows you to search for addresses and locations directly on the map. When enabled, a search box appears in the top-left corner of the Map page. As you type, results are fetched from the configured Nominatim service (OpenStreetMap's geocoding service) and displayed as suggestions. Selecting a result pans the map to that location.
Geocoding provides two capabilities:
- Forward geocoding — search by address or place name to find coordinates
- Reverse geocoding — look up an address from coordinates
Configuring the geocode URL
The geocoding service URL is configured per realm in mapsettings.json. You can set the geocodeUrl property in the options section for each realm:
{
"options": {
"default": {
"center": [4.483118, 51.915767],
"bounds": [4.24, 51.89, 4.51, 51.99],
"zoom": 15,
"minZoom": 0,
"maxZoom": 19,
"boxZoom": false,
"geocodeUrl": "https://nominatim.openstreetmap.org"
}
}
}
The mapsettings.json file is loaded by the manager from the first available location in this order:
- Persisted storage:
{storage_dir}/manager/mapsettings.json - Environment variable:
OR_MAP_SETTINGS_PATH - Docker volume:
/opt/map/mapsettings.json - Default:
manager/src/map/mapsettings.json
For more details on map configuration, see Working on maps.
Choosing a geocoding service
The geocodeUrl must point to a Nominatim-compatible API. You can use one of the following:
| Service | Description |
|---|---|
| Public Nominatim | https://nominatim.openstreetmap.org — free, but subject to the Nominatim Usage Policy (max 1 request/second, no heavy usage) |
| Self-hosted Nominatim | Run your own instance for higher throughput and no rate limits. See setting up a self-hosted instance below |
| Other compatible services | Any service that implements the Nominatim /search and /reverse endpoints with GeoJSON output support |
The public Nominatim service has strict rate limits. For production deployments with multiple users, you should run a self-hosted instance or use another compatible service.
Disabling geocoding
To disable geocoding for a realm, either remove the geocodeUrl property from that realm's configuration in mapsettings.json, or set it to an empty string.
The geocoding search box only appears when both the showGeoCodingControl property on the map component is true and a valid geocodeUrl is present in the realm's map settings. In the Manager app, showGeoCodingControl is enabled by default. If you are building custom components, see Working on maps — Geocoding for how to enable it.
Using a self-hosted Nominatim instance
OpenRemote also supports using a self-hosted Nominatim instance. To use one, update mapsettings.json to include the correct URL for request resolution:
{
"options": {
"default": {
"geocodeUrl": "http://your-nominatim-host:8080"
}
}
}
For more information on setting up Nominatim, see the Nominatim installation guide.