我在p:对话框中有一个p:gmap
<p:dialog widgetVar="vehicleTrackingDlg" rendered="#{sessionBean.vehicleTracking}"
width="630" height="405" modal="true" appendTo="@(body)" resizable="false" header="Map">
<p:gmap id="map" center="30, 20" zoom="13" type="ROADMAP" fitBounds="true"
style="width:600px;height:400px" widgetVar="gmap" rendered="#{sessionBean.vehicleTracking}" />
</p:dialog>
我试图获得&#39; gmap&#39; javascript文件中的变量&quot; initialize()&#39;功能
function initialize()
{
map = PF('gmap').getMap();
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
markerMe = new google.maps.Marker({title: "Ben"});
markerSelectedVehicle = new google.maps.Marker();
var image = '../resources/images/favicon_red.ico';
markerSelectedVehicle.setIcon(image);
}
&#13;
javascript文件中的
映射变量未以这种方式初始化。 如果我从p:对话框中取出p:gmap它可以正常工作。 如何在p:对话框中找到p:gmap。 它是关于p:gmap未初始化,因为在javascript initialize()阶段没有调用p:dialog吗?
提前致谢。
答案 0 :(得分:0)
花一两个时间做好准备 - 这意味着当$(function(){});文档就绪调用发生时,小部件可能还没有准备好。
中将您的代码包围在$(function() { } );
中
<script type="text/javascript">
$(function() {
var map = PF('gmap').getMap();
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
markerMe = new google.maps.Marker({title: "Ben"});
markerSelectedVehicle = new google.maps.Marker();
var image = '../resources/images/favicon_red.ico';
markerSelectedVehicle.setIcon(image);
} );
</script>