Custom Icon

This example uses OpenLayers v4.0.1. The latest is v.

#### Custom Icon

Example using a custom attribution icon object

This example creates a custom element for the attribution icon

Related API documentation:

- ol.Map
,
- ol.View
,
- ol.layer.Tile
,
- ol.source.OSM

Copy Edit
Custom Icon Example using a custom attribution icon object var logoElement = document.createElement('a'); logoElement.href = 'https://www.osgeo.org/'; logoElement.target = '_blank'; var logoImage = document.createElement('img'); logoImage.src = 'https://www.osgeo.org/sites/all/themes/osgeo/logo.png'; logoElement.appendChild(logoImage); var map = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], target: 'map', view: new ol.View({ center: [0, 0], zoom: 2 }), logo: logoElement }); <div id="map" class="map"><div id="popup"></div></div>

    <!DOCTYPE html>
    <html>
      <head>
        <title>Custom Icon</title>
        <link rel="stylesheet" href="https://openlayers.org/en/v4.0.1/css/ol.css" type="text/css">
        <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
        <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
        <script src="https://openlayers.org/en/v4.0.1/build/ol.js"></script>
      </head>
      <body>
        <div id="map" class="map"><div id="popup"></div></div>
        <script>
          var logoElement = document.createElement('a');
          logoElement.href = 'https://www.osgeo.org/';
          logoElement.target = '_blank';

          var logoImage = document.createElement('img');
          logoImage.src = 'https://www.osgeo.org/sites/all/themes/osgeo/logo.png';

          logoElement.appendChild(logoImage);

          var map = new ol.Map({
            layers: [
              new ol.layer.Tile({
                source: new ol.source.OSM()
              })
            ],
            target: 'map',
            view: new ol.View({
              center: [0, 0],
              zoom: 2
            }),
            logo: logoElement
          });
        </script>
      </body>
    </html>