| sidebar_position | 4 |
|---|
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
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.
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 |
:::warning
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.
:::
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.
:::note
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.
:::
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.