Подтвердить что ты не робот

PrimeFaces не отображает gmap

Использование PrimeFaces 2.2.RC2 в проекте JSF 2.0.

Я пытаюсь получить базовую карту Google для рендеринга с помощью компонента 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 в моем браузере просто отлично.

Любые идеи?

Update:

Я изменил тег вида на <f:view contentType="text/html">, теперь я получаю серый квадрат, в котором должна быть карта, и когда я наводил курсор на поле, курсор поворачивается к белой руке, чтобы захватить и перемещать карту вокруг, но пока не отображается карта.

alt text

4b9b3361

Ответ 1

<f:view contentType="text/html"> необходим для работы в Safari/Chrome

Моя другая проблема заключалась в том, что HYBRID неправильно написано:

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

Правописание никогда не было моим сильным костюмом.

Ответ 2

Вам нужно добавить эту страницу script на страницу:

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

Ответ 3

Это работает для меня

<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>

Ответ 4

Попробуйте следующее:

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