2011-01-21 148 views
10

在JSF 2.0項目中使用PrimeFaces 2.2.RC2。PrimeFaces gmap not rendering

我想要獲得一個基本的Google Map來使用gmap組件進行渲染。沒有錯誤只顯示地圖應該在的空白頁面。

我.xhtml文件

<?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://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:p="http://primefaces.prime.com.tr/ui"> 

    <h:head> 
     <script src="http://maps.google.com/maps/api/js?sensor=false" 
       type="text/javascript"></script> 
    </h:head> 
    <h:body> 
     <f:view contentType="text/html"> 
      <h1>Google Map</h1> 
      <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBIRD" 
        style="width:600px;height:400px" /> 
     </f:view> 
    </h:body> 
</html> 

沒有讓其他PrimeFaces組件在這個項目呈現任何問題上PrimeFaces網站呈現在我的瀏覽器就好了example

任何想法?

更新:

我改變了看法標籤<f:view contentType="text/html">,現在我得到一個灰色的框,地圖應該是,當我將鼠標懸停在框中光標變成白色手抓住並移動地圖周圍,​​但仍然沒有地圖顯示。

alt text

回答

5

<f:view contentType="text/html">需要爲它在Safari /鉻工作

我的另一個問題是HYBRID被拼寫錯了,下面的工作:

<h1>Google Map 1</h1> 
<p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" 
    style="width:600px;height:400px" /> 

拼寫從來不是我的強項。

0

試試這個:

<h:form> 
<p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID"  
style="width:600px;height:400px" streetView="true"/> 
</h:form> 
26

您需要將這個腳本添加到您網頁:

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript" ></script> 
+0

你救了我的一天! – Sarz 2014-12-12 12:09:30

+0

就像一個筆記。傳感器參數不再需要。 請參閱:http://stackoverflow.com/questions/8616764/what-is-the-sensor-parameter-in-google-places-api-good-for – Koekiebox 2016-01-15 19:42:44

2

這對我的作品

<h:head> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</h:head> 
<h:body> 
    <f:view contentType="text/html"> 
     <h1>Google Map</h1> 
     <p:gmap center="41.381542, 2.122893" zoom="15" type="HYBRID" style="width:600px;height:400px" /> 
    </f:view> 
</h:body>