我想在字符串列中加载数据库中的坐标,并在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。
如何从List获取值并将它们分开/设置为LatLng(double,double)需要?
答案 0 :(得分:0)
经过深入研究,我对以下内容感到满意:
Bean方法:
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>