# How to (easily) embed a custom, free and openly licensed map into a web page ## OpenStreetMap The code you find here makes use of services provided by **OpenStreetMap**. **OpenStreetMap** is built by a community of mappers who contribute and maintain data. See . ## Use OpenLayers to build the map Take a look at the [OpenLayers](https://git.lattuga.net/netico/code-library/src/master/OSM/OpenLayers) folder. Inside you will find a custom map built in HTML and Javascript. ![Map example](example.png) It uses the **OpenLayers** library, which makes it easy to put a dynamic map on any web page. It is a completely free library, released under the 2-clause BSD license. In the example found here, the address data (latitude and longitude) is read from a [CSV file](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/input.csv). A CSV (comma-separated values) file is a delimited text file that uses a comma to separate values. Each line in the file is a data record. Each record consists of one or more fields, separated by commas. ## Get geolocated addresses If you want to geolocate addresses, you can use the script [locator.sh](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/locator.sh), contained in the [Locator](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator) folder. The [script](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/locator.sh) reads a [text file](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/input.txt) with one address per line and returns a [CSV file](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/input.csv) with latitude and longitude. Also shows how to use PHP code in a bash script. ### Usage ./locator.sh input.txt cat input.csv "Example #1", 45.51117645, 9.223721560610135 "Example #2", 45.4865452, 9.1899719 ... ### Web interface If you prefer, there is a [web interface](https://git.lattuga.net/netico/code-library/src/master/OSM/Locator/web/locator.php) to [OpenStreetMap](https://www.openstreetmap.org)'s Nominatim service. ![Locator](locator.png) ## So, how to embed the map in a web page? The **iframe** tag is a good starting point. See .