无法使用PrimeFaces用Google Map坐标填充表格

普维奇

我对使用PrimeFaces的bean和JSF视图有问题。我需要使用与标记关联的Google Maps坐标填充表格。差不多完成了,途中只有一些小事情。有人可以指示吗?

这是豆子:

import java.io.Serializable;  
import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;   
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;  
import javax.faces.event.ActionEvent;  

import org.primefaces.model.map.DefaultMapModel;  
import org.primefaces.model.map.LatLng;  
import org.primefaces.model.map.MapModel;  
import org.primefaces.model.map.Marker;
@SuppressWarnings("serial")
@ManagedBean
public class MapBean implements Serializable {  

    private MapModel emptyModel;  

    private String title;  

    private double lat;  

    private double lng;

    private List<LatLng> coordenadas;

    public List<LatLng> getCoordenadas() {
        return coordenadas;
    }

    public void setCoordenadas(List<LatLng> coordenadas) {
        this.coordenadas = coordenadas;
    }

    public MapBean() {  
        emptyModel = new DefaultMapModel();  
    }  

    public MapModel getEmptyModel() {  
        return emptyModel;  
    }  

    public void addMessage(FacesMessage message) {  
        FacesContext.getCurrentInstance().addMessage(null, message);  
    }  

    public String getTitle() {  
        return title;  
    }  

    public void setTitle(String title) {  
        this.title = title;  
    }  

    public double getLat() {  
        return lat;  
    }  

    public void setLat(double lat) {  
        this.lat = lat;  
    }  

    public double getLng() {  
        return lng;  
    }  

    public void setLng(double lng) {  
        this.lng = lng;  
    }

    public void populateTable(List<LatLng> lista){
        lista.add(new LatLng(getLat(), getLng()));
    }

    public void addMarker(ActionEvent actionEvent) {  
        Marker marker = new Marker(new LatLng(lat, lng), title);  
        coordenadas = new ArrayList<LatLng>();
        emptyModel.addOverlay(marker);  

        addMessage(new FacesMessage(FacesMessage.SEVERITY_INFO, "Marker Added", "Lat:" + lat + ", Lng:" + lng));

        populateTable(coordenadas);

    }

}

这是带有“ primary faces”标签的视图。发生的事情是:添加了标记,其他所有东西都起作用了,但是坐标没有出现在表格中,我找不到原因。仍然在这里尝试:

<!DOCTYPE html>  

  <html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:a4j="http://richfaces.org/a4j"
  xmlns:rich="http://richfaces.org/rich"
  xmlns:p="http://primefaces.org/ui"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets">   

  <h:head>  
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">    </script>   
  </h:head>   
  <h:body>  
  <h:form prependId="false">  
 <p:growl id="messages" showDetail="true" />  
<p:gmap id="gmap" center="-3.12808313259846,-59.9729442607909" zoom="13" type="ROADMAP"   
style="width:1200px;height:600px"  
model="#{mapBean.emptyModel}"   
onPointClick="handlePointClick(event);"   
widgetVar="map" />  

     <p:dialog widgetVar="dlg" effect="FADE" effectDuration="0.5" fixedCenter="true"            closable="false" >  

    <h:panelGrid columns="2">  
        <h:outputLabel for="title" value="Title:" />  
        <p:inputText id="title" value="#{mapBean.title}" />  

        <f:facet name="footer">  
            <p:commandButton value="Add"   
                    actionListener="#{mapBean.addMarker}"   
                    update="messages"   
                    oncomplete="markerAddComplete()"/>  
            <p:commandButton value="Cancel" onclick="return cancel()"/>  
        </f:facet>  
    </h:panelGrid>  

    <h:inputHidden id="lat" value="#{mapBean.lat}" />  
    <h:inputHidden id="lng" value="#{mapBean.lng}" />  

</p:dialog>
<p:dataTable  value="#{mapBean.coordenadas}" var="latLng">
        <p:column headerText="Latitude">  
            <h:outputText value="#{mapBean.lat}" />  
        </p:column>  

        <p:column headerText="Longitude">  
          <h:outputText value="#{mapBean.lng}" />  
       </p:column>           
</p:dataTable>  

非常感谢。

普维奇

通过视图中的这些更改解决的问题:

<p:commandButton value="Add"   
                        actionListener="#{mapBean.addMarker}"   
                        update="messages,tabela"   
                        oncomplete="markerAddComplete()"/>  
                <p:commandButton value="Cancel" onclick="return cancel()"/>

必须更新“ tabela”,这是另一个primefaces元素的ID:

<p:dataTable id="tabela" value="#{mapBean.coordenadas}" var="LatLng">
        <p:column headerText="Latitude">  
            <h:outputText value="#{LatLng.lat}" />  
        </p:column>  

        <p:column headerText="Longitude">  
          <h:outputText value="#{LatLng.lng}" />  
       </p:column>           
</p:dataTable>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用Google表格填充Google表单

来自分类Dev

用PHP填充表格

来自分类Dev

用Faker填充表格

来自分类Dev

用mysql数据填充表格

来自分类Dev

R:用坐标对填充矩形网格

来自分类Dev

UITableViewCell无法填充表格的宽度

来自分类Dev

使用公式自动填充Google表格行

来自分类Dev

从Google表格填充HTML表单

来自分类Dev

如何使用jQuery填充表格

来自分类Dev

如何使用jQuery填充表格

来自分类Dev

Google Map检查坐标坐标是否在2点之间

来自分类Dev

使用def函数用列表的每个元素填充表格列

来自分类Dev

Rails用Model动态填充表格

来自分类Dev

表格f.select用参数填充

来自分类Dev

用PHP中的txt文件填充表格

来自分类Dev

用map()解释坐标的计算

来自分类Dev

Firefox无法填充表格布局的高度

来自分类Dev

自动填充Google表格中的条件格式

来自分类Dev

自动填充Google表格中的条件格式

来自分类Dev

需要帮助从嵌套的 JSON 填充 Google 表格

来自分类Dev

如何获取Google Map中点的坐标?

来自分类Dev

用表中坐标的 QVector 填充 QScatterDataArray

来自分类Dev

底部表格内的Google Map

来自分类Dev

在Google表格中使用数据验证自动填充条件格式

来自分类Dev

如何使用JS自动为Google表格填充随机答案

来自分类Dev

Google表格:使用单元格引用填充系列

来自分类Dev

使用间接功能自动填充(Google表格2016)

来自分类Dev

使用Alamofire数据填充表格单元

来自分类Dev

使用Laravel在生产中填充表格