0
對於項目需求,我需要使用primefaces 6.1 p:gmap標記渲染多段線,但只渲染地圖。這裏是我的XHTML文件:JSF PrimeFaces 6.1 p:gmap不使用Google地圖渲染多段線
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui" xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
<script src="https://maps.google.com/maps/api/js?key=SOME_KEY" defer="defer"
type="text/javascript"></script>
<h:outputScript library="primefaces" name="gmap/gmap.js" />
</h:head>
<h:body>
<f:view contentType="text/html">
<h:form id="form1">
<p:gmap center="36.883707, 30.689216" zoom="15" type="MAP" style="width:900px;height:800px;"
model="#{mapBean.model}" id="myMap"/>
</h:form>
</f:view>
</h:body>
</html>
,這裏是我的豆
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Polyline;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import java.io.Serializable;
@RequestScoped
@ManagedBean(name = "mapBean")
public class MapBean implements Serializable {
private MapModel model;
@PostConstruct
public void MapBean() {
model = new DefaultMapModel();
Polyline polyline = new Polyline();
polyline.getPaths().add(new LatLng(36.879466, 30.667648));
polyline.getPaths().add(new LatLng(36.883707, 30.689216));
polyline.getPaths().add(new LatLng(36.879703, 30.706707));
polyline.getPaths().add(new LatLng(36.885233, 30.702323));
polyline.setStrokeWeight(8);
polyline.setStrokeColor("#FF9900");
polyline.setStrokeOpacity(0.9);
model.addOverlay(polyline);
}
public MapModel getModel() {
return this.model;
}
}
添加到MapBean模型折線沒有得到由P顯示:GMAP屬性。只顯示地圖。我使用Spring Boot 1.2.3運行了Mojarra 2.2.11的primefaces 6.1。任何我可能會遺漏的想法/指針,或者它是p:gmap和折線渲染的真正問題?我還查看了Chrome Javascript控制檯,並且沒有顯示錯誤。
偉大的作品在這裏:HTTPS://www.primefaces .org/showcase/ui/data/gmap/polylines.xhtml找到差異 – Kukeltje
哦,你錯過了你的bean的範圍聲明。並且' '在錯誤的地方(它在'h:head之外) –
Kukeltje
@Kukeltje我已經完成了更改代碼後編輯與更改)但它仍不呈現多段線。我正在關注您發佈的primefaces鏈接中的示例。你是否能夠嘗試你的結局,讓我們知道它是否有效,或者其他指針會受到讚賞。 –