在无法渲染的对话框中使用GMmap

时间:2013-05-03 23:13:26

标签: google-maps jsf jsf-2 primefaces

我想在我的jsf页面中打开一个Gmap,我尝试了这些示例,但它不起作用:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<script src="http://maps.google.com/maps/api/js?sensor=false"
    type="text/javascript"></script>
</h:head>
<body>
<ui:composition template="/WEB-INF/template/template.xhtml">
    <ui:define name="content">
        <p:commandButton type="button" icon="ui-icon-pin-s" value="Show Map"
            onclick="dlg.show()" />

        <p:dialog widgetVar="dlg" width="625" height="400" modal="true">
            <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID"
                style="width:600px;height:400px" widgetVar="mymap" />
        </p:dialog>
    </ui:define>
</ui:composition>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

你的错误是:在编写时,你必须包含<h:head></h:head>来应用css,但是没有加载任何代码。您需要将脚本添加到/WEB-INF/template/template.xhtml

<强>的template.xhtml

<h:head>
    // other here
    <script src="http://maps.google.com/maps/api/js?sensor=false"
    type="text/javascript"></script>
</h:head>

另见understand the purpose of jsf ui:composition