PrimeFaces地图中的标记

时间:2014-02-21 15:46:32

标签: java markers

我将使用primeface gmap创建一个地图。 我在我的jsf页面中有这个代码,如PM展示案例网站所示:

<h:head>
    <title>Facelet Title</title>
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script>
</h:head>
<h:body>
  <h:body>
<f:view contentType="text/html">
    <h1>Google Map</h1>
    <p:gmap center="36.890257,30.707417" zoom="13" type="HYBRID" model="#{mapBean.simpleModel}"  style="width:600px;height:400px">  
     </p:gmap>    
</f:view>

    

我的mapBean是:

package mesbeans;

import java.io.Serializable;  
import org.primefaces.model.map.DefaultMapModel;  
import org.primefaces.model.map.LatLng;  
import org.primefaces.model.map.MapModel;  
import org.primefaces.model.map.Marker;  

public class MapBean implements Serializable {  

    private MapModel simpleModel;  

    public MapBean() {  
        simpleModel = new DefaultMapModel();  

        //Shared coordinates  
        LatLng coord1 = new LatLng(36.879466, 30.667648);  
        LatLng coord2 = new LatLng(36.883707, 30.689216);  
        LatLng coord3 = new LatLng(36.879703, 30.706707);  
        LatLng coord4 = new LatLng(36.885233, 30.702323);  

        //Basic marker  
        simpleModel.addOverlay(new Marker(coord1, "Konyaalti"));  
        simpleModel.addOverlay(new Marker(coord2, "Ataturk Parki"));  
        simpleModel.addOverlay(new Marker(coord3, "Karaalioglu Parki"));  
        simpleModel.addOverlay(new Marker(coord4, "Kaleici"));  
    }  

    public MapModel getSimpleModel() {  
        return simpleModel;  
    }  
}

当我运行应用程序时,只显示没有标记的地图?

2 个答案:

答案 0 :(得分:0)

您的MapBean在jsf页面中无法识别。要识别它,请使用@Named。所以你的bean应该如下所示。

import org.primefaces.model.map.DefaultMapModel;  
import org.primefaces.model.map.LatLng;  
import org.primefaces.model.map.MapModel;  
import org.primefaces.model.map.Marker;  

import javax.inject.Named

@Named
public class MapBean implements Serializable {  
    private MapModel simpleModel;     
    ......

答案 1 :(得分:0)

你需要创建rinit方法并在其中分配坐标,因为首先执行此方法并加载jsf中的所有数据