Search code examples
geoxml3

GeoXML3 - Open an info window automatically


I have created a polygon and would like the info window to open automatically on load. How do I do this?

This is what I have so far:

var geoxml = null;

function initialize() {

  infoWindow = new google.maps.InfoWindow();
  var myLatlng = new google.maps.LatLng(100.9530044, 110.8574693);
  var myOptions = {
    maxZoom: 13, 
    center: myLatlng,
    streetViewControl: false,
    zoomControlOptions: {
      style: google.maps.ZoomControlStyle.SMALL
      },    
      mapTypeId: google.maps.MapTypeId.ROADMAP,
    };

    map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
    geoXml = new geoXML3.parser({
      map: map,
      singleInfoWindow: true,
      infoWindowOptions: {maxWidth:350,cornerRadius: 12},
    });

    geoXml.parse('file.xml');

};

Solution

  • You can trigger a click on the placemark (polygon), when the KML is done rendering (the map idle event fires). This will open the infowindow on the first placemark:

    google.maps.event.addListenerOnce(map, 'idle', function() {
      google.maps.event.trigger(geoXml.docs[0].placemarks[0].polygon,'click')
    });
    

    working example