Info Window

Used to display content in an overlay that looks like a popup window and is often linked to a marker.

  1. Create an Info Window
  2. Open an Info Window
  3. Close an InfoWindow

An InfoWindow displays content in a bubble above the map, at a given latlng position and usually opened upon map events, such as user clicks.

Typically you will connect an info window to a marker, but you can also attach it to a specific latitude/longitude.

Create an Info Window

To add an Info Window, you’ll need to create a new instance of woosmap.map.InfoWindow and optionally passing it an InfoWindowOptions object to specify the initial properties for displaying the info window. The content of the InfoWindow could be set when creating the instance or using the setContent() method. It may contain only text, a string HTML, or a DOM element.

let infoWindow;
infoWindow = new woosmap.map.InfoWindow({content:"<div>Some Content</div>"});
let infoWindow;
infoWindow = new woosmap.map.InfoWindow({});
infoWindow.setContent("<div>Some Content</div>");

You don’t need to create multiple instances of InfoWindow for different markers. Indeed, you can update the content - using setContent() - and position - using setPosition() - as user clicks on the markers.

Open an Info Window

To display an InfoWindow above the Map, call the InfoWindow.open() method passing it the map and a marker (or a latitude/longitude location).

The following example displays a marker at the center of London. When the user clicks the marker, an info window opens.

let map, marker, infoWindow;
const londonInfoWindowHTML = "<div class='info-content'>" +
  "<h2>London</h2>" +
  "<div class='london-img'></div>" +
  "<p>London is the capital and largest city of England and the United Kingdom. <a href='https://en.wikipedia.org/wiki/London'>Wikipedia →</a></p>" +
  "</div>";

function initMap() {
  map = new woosmap.map.Map(document.getElementById('map'), {
    center: {
      lat: 51.57,
      lng: -0.13
    },
    zoom: 10
  });
  marker = new woosmap.map.Marker({
    position: {
      lat: 51.515,
      lng: -0.13
    },
    icon: {
      url: 'https://images.woosmap.com/dot-marker.png'
    }
  });
  marker.setMap(map);
  infoWindow = new woosmap.map.InfoWindow({})
  infoWindow.setContent(londonInfoWindowHTML);
  marker.addListener('click', () => {
    infoWindow.open(map, marker);
  })
}

Close an InfoWindow

Once opened, an InfoWindow can be closed either when the user clicks the close button at top right or by explicitly calling the close() method. For example, you can close the InfoWindow when the user clicks outside it on the map.

marker.addListener('click', () => {
  infoWindow.open(map, marker);
})
map.addListener('click', () => {
  infoWindow.close();
})
Was this article helpful?
Have more questions? Submit a request