1

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

我使用这个例子-> PrimeFaces Gmap

在此示例中,我从页面查看源并找到标记,但在我的页面上没有找到。托管 bean 它的会话范围。

感谢帮助

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

}

4

1 回答 1

1

好吧,您的代码似乎还可以。但如果这些图像的路径错误,标记将不会显示。所以你可以检查图标路径是否正确!

好幸运!

于 2013-07-16T14:07:11.063 回答