0

我想将数据库中的坐标加载到字符串列中,并将它们设置在 LatLng 对象中,如下所示:

public void loadAtlas() {
    advancedModel = new DefaultMapModel();
    List<String> list = new ArrayList<>();

    //get the map coordinates stored in ONE database string column
    for (TbDepUpb codUOR : getItems()) {    
        list.add(codUOR.getCoordenadas());
    }

    //set the coordinates in the list
    for (int i=0; i<list.size();i++) {
        advancedModel.addOverlay(new Marker(new LatLng(valueOf(list.get(i))), "Private Bank"));
    }

问题是 LatLng 需要 (double, double) 值。我使用了上面的 valueOf,但它是一个 Double。

如何从列表中获取值并将它们分隔/设置为 LatLng(double, double) 需要?

参考: http: //www.primefaces.org/showcase/ui/gmapHome.jsf

4

1 回答 1

0

经过深入研究,我对以下内容感到满意:

豆方法:

public void loadAtlas() {
    advancedModel = new DefaultMapModel();

    for (TbDepUpb codUOR : getItems()) {
        advancedModel.addOverlay(new Marker(new LatLng(codUOR.getLatitude(), codUOR.getLongitude()), codUOR.getNome()));

    }
}

JSF(主要代码):

<p:growl id="messages" showDetail="true" life="6000"/>
    <p:gmap center="-40,-50" zoom="4" type="HYBRID" model="#{tbDepUpbController.advancedModel}" style="width:1100px;height:1200px">
        <p:ajax event="overlaySelect" listener="#{tbDepUpbController.onMarkerSelect}" update="messages"/>
        </p:outputPanel>  
    </p:gmapInfoWindow>  
</p:gmap>
于 2013-11-18T20:04:25.463 回答