Primefaces Gmap标记问题

时间:2013-05-31 18:39:19

标签: google-maps jsf-2 primefaces primefaces-gmap

我在使用JSF2.0和Jboss 1.7的Primefaces 3.5 i的Gmap组件的na项目上遇到了问题。所以问题是在页面x.xhtml上我有组件gmap但是gmap没有显示来自bean的模型映射。 bean中的数据是正确的。我包含google api for gmaps,但是标记不能用于唯一的地图。

我使用此示例 - > PrimeFaces Gmap

从这个例子中我查看来自页面的源并找到一个标记,但在我的页面上找不到.Managed bean是一个Session范围。

感谢您的帮助

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托管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;
}  

}

1 个答案:

答案 0 :(得分:1)

嗯,你的代码似乎没问题。 但如果这些图像的路径错误,则标记将不会显示。 所以你可以查看图标路径是否正确!

祝你好运!