Support

Account

Home Forums Front-end Issues Google Map infoWindow.close() Reply To: Google Map infoWindow.close()

  • Thanks to @jpvanmuijen for pointing out the issue with the solved answer. Here is the portion the code that you need to use.

    var infoWindows = [];
    
    function initMarker( $marker, map ) {
    
        // Get position from marker.
        var lat = $marker.data('lat');
        var lng = $marker.data('lng');
        var latLng = {
            lat: parseFloat( lat ),
            lng: parseFloat( lng )
        };
    
        // Create marker instance.
        var marker = new google.maps.Marker({
            position : latLng,
            map: map
        });
    
        // Append to reference for later use.
        map.markers.push( marker );
    
        // If marker contains HTML, add it to an infoWindow.
        if( $marker.html() ){
    
            // Create info window.
            var infoWindow = new google.maps.InfoWindow({
                content: $marker.html()
            });
    
            infoWindows.push(infoWindow);
    
            // Show info window when marker is clicked.
            google.maps.event.addListener(marker, 'click', function() {
    
                //close all
                for (var i = 0; i < infoWindows.length; i++) {
                    infoWindows[i].close();
                }
                infoWindow.open( map, marker );
    
            });
    
            google.maps.event.addListener(map, 'click', function() {
                infoWindow.close();
            });
        }
    }