This page provides some details on how to switch from using Google Maps to OpenStreetMap. The OpenStreetMap is a mature open source project that provides comparable APIs to those provided by Google. The coverage of these maps is usually quite good. The usage of these APIs is free and is expected to remain free for the foreseeable future.

OpenStreetMap is the default since UniTime 4.4. If you have migrated from an earlier version of UniTime, you may just need to reset all the following properties to their default values.

Static Maps

The static maps can be created using the staticmaplite project (see for more details). It is possible to host service at your server, use the server



Use UniTime to construct static maps and cache the map tiles (new in UniTime 4.4, using unitime.coordinates.leafletmap.tilesUrl to download the map tiles)


Please note that the maps are no longer hosted by UniTime (the above properties can no longer contain…).

For other options, see

Dynamic Maps

For the dynamic maps, UniTime is using the Leaflet JS library, which is very lightweight but allows to use another base map if needed (including MapQuest, MapBox, and many others). To switch from Google Maps to Leaflet maps, change the following properties (e.g., using the Application Configuration page)



You can change the map tiles using the following two properties (the table shows their defaults):

# Laflet maps tiles url template
# Laflet maps tiles attribution
unitime.coordinates.leafletmap.tilesAttribution=&copy; <a href="">OpenStreetMap</a> contributors

For more details about Leaflet JS, see Different map tiles can be explored at


Nominatim is used for geocoding. This is used to allow for the address of the room or building to be entered on the map (geocoding) and to show the address of the selected coordinates on the map (reverse geocoding). The service can be configured using the following properties:

# OpenSearchMap geocoding service URL (search, see
# OpenSearchMap geocoding service URL (reverse geocoding, see

For more details, see

The Nominatim service is using the Let’s Encrypt certificate. When you are using an older version of Java, you may need to import the certificate in order to avoid certificate issues during geocoding.

curl >lets-encrypt-x3-cross-signed.pem
keytool -import -noprompt -trustcacerts -alias lets-encrypt-x3-cross-signed -file lets-encrypt-x3-cross-signed.pem \
  -keystore cacerts -storepass changeit
keytool -list -v -keystore cacerts -storepass changeit -alias lets-encrypt-x3-cross-signed

See for more details.