Search code examples
google-mapsjsf-2primefacesprimefaces-gmap

Primefaces Gmap markers issue


i have problem on na project with Gmap component of Primefaces 3.5 i using JSF2.0 and Jboss 1.7. So the problem is on page x.xhtml i have component gmap but gmap doesnt show model map from bean. The data is in the bean is correct. i include google api for gmaps, but markers doesnt work its only map.

I using this example->PrimeFaces Gmap

From this example i view a source from page and find a markers but on my page doesnt find.Managed bean its a Session scope.

Thanks for help

x.xhtml:

    <p:ajax event="overlaySelect" listener="#{mapIskanjeBean.onMarkerSelect}" />  

    <p:gmapInfoWindow>  
        <p:outputPanel style="text-align:center;display:block;margin:auto:">  

                <p:graphicImage value="/img/#{mapBean.marker.data}" height="150"/>  
                <br />  
                <h:outputText value="#{mapIskanjeBean.marker.title}" />  

        </p:outputPanel>  

    </p:gmapInfoWindow>  
</p:gmap>  

mapIskanjeBean managed bean:

public class MapIskanjeBean  implements Serializable { 

private static final long serialVersionUID = 1L;

private MapModel advancedModel;  

private Marker marker;  

public MapIskanjeBean() {  
    advancedModel = new DefaultMapModel();  

    //Shared coordinates  
    LatLng coord1 = new LatLng(46.377291, 15.885323);  
    LatLng coord2 = new LatLng(36.883707, 30.689216);  
    LatLng coord3 = new LatLng(36.879703, 30.706707);  
    LatLng coord4 = new LatLng(36.885233, 30.702323);  
    LatLng coord5 = new LatLng(36.883333, 30.799323);

    //Icons and Data  

    advancedModel.addOverlay(new Marker(coord1, "Konyaalti", "zelenjava.png", "http://maps.google.com/mapfiles/ms/micons/blue-dot.png"));
    advancedModel.addOverlay(new Marker(coord2, "Ataturk Parki", "http://maps.google.com/mapfiles/ms/micons/pink-dot.png"));  
    advancedModel.addOverlay(new Marker(coord4, "Kaleici", "kaleici.png", "http://maps.google.com/mapfiles/ms/micons/pink-dot.png"));  
    advancedModel.addOverlay(new Marker(coord3, "Karaalioglu Parki", "karaalioglu.png", "http://maps.google.com/mapfiles/ms/micons/yellow-dot.png")); 
    advancedModel.addOverlay(new Marker(coord5,"hepan","http://maps.google.com/mapfiles/ms/micons/pink-dot.png","http://maps.google.com/mapfiles/ms/micons/pink-dot.png"));


}  

public MapModel getAdvancedModel() {  
    return advancedModel;  
}  

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

public Marker getMarker() { 
       System.out.println("vzame marker");
    return marker;  
}

public void setAdvancedModel(MapModel advancedModel) {
       System.out.println("nastavi model");
    this.advancedModel = advancedModel;
}

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

}


Solution

  • Well, your code seems okay. But if those images are with the wrong path, the markers will not show up. So you can check out if the icons path are right!

    good lucky!