我无法将我的JavaScript组件发布到我拥有的primefaces属性。解决这个问题应该不是问题。
<h:header>
<script>
function initialize() {
var mapx = goomap.getMap();
var map = new google.maps.Map(document
.getElementById('form:layout:center:DataTablePanel:car2go'), mapx);
var pointArray = new google.maps.MVCArray(taxiData);
//i previously created taxi data and filled it
heatmap = new google.maps.visualization.HeatmapLayer({
data : pointArray
});
heatmap.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
以及我从以下地址获取属性地址的正文:
<h:body>
<h:form id="form">
<p:layout id="layout">
<p:layoutUnit id="center" position="center" size="70%">
<p:outputPanel id="DataTablePanel">
<p:gmap id="car2go" center="37.782551, -122.445368" zoom="13"
type="HYBRID" style="width:600px;height:400px" widgetVar="goomap"
fitBounds="true" />
</p:outputPanel>
</p:layoutUnit>
</p:layout>
</h:form>
</h:body>
答案 0 :(得分:0)
当您从javascript / jQuery引用您的元素并且您不确定客户端ID是什么时,请始终尝试inspect the element并查看最终ID。
在您的情况下,唯一的UINamingContainer
是表单,因此您的gmap ID为form:car2go
.getElementById('form:car2go'), mapx);
一个注意事项:因为我看到你的脚本在标题中运行,你可能还没有机会访问该元素,因此最好放在{{ 1}}或$(document).ready