InfoWindow do GMap Primefaces não funciona [RESOLVIDO]

Boa noite!

Estou testando os componentes do Primefaces e encontrei um problema: Não consigo criar uma InfoWindow em um Marker no componente GMap do primefaces conforme a documentação. De acordo com o showcase do site, existe uma invocação de um método getMarker() que não existe.

public void onMarkerSelect(OverlaySelectEvent event) { marker = (Marker) event.getMarker(); }

Já na documentação em PDF, no lugar de event.getMarker() é chamado o event.getOverlay(), mas este retorna o objeto overlay sempre nulo.
Já pesquisei e as duvidas semelhantes as minhas não foram respondidas, duvidas de 2 ou 3 anos atras.
Alguém aí pode me ajudar?
Segue meu codigo:

[code]<?xml version='1.0' encoding='UTF-8' ?>

    <title>teste</title>
</h:head>
<h:body>
    <h:form>  
        <p:gmap center="-23.543845,-46.643829" zoom="10" type="hybrid" 
                style="width:600px;height:400px" model="#{homeController.model}" 
                overlaySelectListener="#{mapBean.onMarkerSelect}">  
            <p:gmapInfoWindow>  
                <p:outputPanel style="text-align:center;display:block;margin:auto:">  
                    <p:graphicImage value="/images/#{homeController.marker.data}"/>  
                    <br />  
                    <h:outputText value="#{homeController.marker.title}" />  
                </p:outputPanel>  
            </p:gmapInfoWindow> 
        </p:gmap> 
        
        <br/> 
        <h:commandButton value="Salvar" action="#{homeController.salvar}"/>

    </h:form>  
</h:body>
[/code]

bean

[code]package br.com.teste.beans;

import br.com.teste.dao.UsuarioDAO;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import org.primefaces.event.map.OverlaySelectEvent;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;

@ManagedBean
public class HomeController implements Serializable {

private MapModel model = new DefaultMapModel();
private Marker marker;

public MapModel getModel() {
    model.addOverlay(new Marker(new LatLng(-23.800000, -46.800000), "Teste Marca 2", "balao.jpg"));
    model.addOverlay(new Marker(new LatLng(-23.543845, -46.643829), "Icone customizado", "gene.jpg", "icones/icone.gif"));
    return model;
}

public void onMarkerSelect(OverlaySelectEvent event) {
    this.marker = (Marker) event.getOverlay();
}

public Marker getMarker() {
    return marker;
}

public void setMarker(Marker marker) {
    this.marker = marker;
}

}[/code]

Problema resolvido!

Durante meus testes eu havia trocado o local de inicialização dos Overlays do meu mapModel, colocando eles no get do modelo. Na documentação isso é feito no contrutor do Bean.
Coloquei as coisas nos locais corretos e o Overlay não veio mais nulo após o ajax. Acredito que exista diferença entre os dois devido ao ciclo JSF.

Para que as coisas ficassem 100% ainda tive que anotar o Bean com @SessionEscoped, pois com request o infowindow não vinha com dados preenchidos.

Espero que isso seja util p alguem \o/

[code]import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.event.map.OverlaySelectEvent;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;

@ManagedBean
@SessionScoped
public class HomeController implements Serializable {

private MapModel model;
private Marker marker;

public HomeController() {
    model = new DefaultMapModel();
    model.addOverlay(new Marker(new LatLng(-23.800000, -46.800000), "Teste Marca 2", "balao.jpg", "http://maps.google.com/mapfiles/ms/micons/yellow-dot.png"));
    model.addOverlay(new Marker(new LatLng(-23.543845, -46.643829), "Icone customizado", "gene.jpg", "icones/icone.gif"));
}

public MapModel getModel() {
    return model;
}

public void onMarkerSelect(OverlaySelectEvent event) {
    this.marker = (Marker) event.getOverlay();
}

public Marker getMarker() {
    return marker;
}

public void setMarker(Marker marker) {
    this.marker = marker;
}

}[/code]

Cara, preciso de sua ajuda.
Qual o diretório você colocou sua imagem “icones/icone.gif” ?