The map is displayed using https://leafletjs.com/
To enable Open Street Map go to the Admin -> Configuration -> Content section and click 'Open Street Map Enabled'.
The 'Open Street Map Provider Name' setting can be used to configure different tile providers thanks to the Leaflet-providers extension (https://github.com/leaflet-extras/leaflet-providers)
Some tile providers require an API key, this can provided in JSON format e.g. '{ apiKey: 123 }' in the 'Open Street Map Provider Options' setting.
Each tile provider has their own usage policy so this should be checked before enabling Open Street Map.
The search field for the Open Street Map works differently than searching on Google Maps. It matches producers by their name or address because it was easier to implement instead of matching place names all over the world.
Fixes an issue where if the js library from maps.googleapis.com failed to load in the <head>, all of our subsequent Angular would completely break.
See: https://github.com/angular-ui/angular-google-maps
Note: `bluebird.js` is a new dependency of `angular-google-maps.js`.
The AdaptiveMenu was design for a menu filling the screen width. Our
menu is in a skeleton structure. The new file overwrites the spree
version and takes the container width as reference.