読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

PrimeFacesでGoogle Mapを表示する

PrimeFaces JSF

将来的に何かへ使えそうなPrimeFacesコンポーネントを探ってみようかぁと思います。
今日はGMapコンポーネントGoogle Mapを表示するコンポーネントです。

Showcaseは以下です。パッと見、色々できそう。
http://www.primefaces.org/showcase/ui/gmapHome.jsf

とりあえず一番シンプルなマップ表示にトライしました。
showcaseの「Simple GMap」ですね。

JSFで1行書くだけなの!?」

とshowcaseのサンプルみて驚いたのも束の間、試した所、表示されませんでした。ズコー

ユーザガイドみたら別途宣言が必要でした。というわけで、以下で表示できます。
単純だけどつまづいてる人も多いみたいで、PrimeFaces Community Forumにも書いてありました。
http://forum.primefaces.org/viewtopic.php?f=3&t=16984

Google Mapを置くだけのサンプル

<?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:p="http://primefaces.org/ui">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
    <!-- ないと表示できない -->
        <script src="http://maps.google.com/maps/api/js?sensor=false" 
         type="text/javascript"></script>
        
        <!-- Google Mapコンポーネント -->
        <p:gmap center="35.697769,139.667783" zoom="15" type="roadmap" 
         style="width:600px;height:400px" />
    </h:body>
</html>

指定が必須の属性はcenterとzoomとtype、の3つとなっているのですが、実際はstyleも必要そうです。

  • center マップの中央座標(緯度,経度)
  • zoom ズームレベル
  • type マップの表示方式
  • style 幅と高さの寸法

で、typeは以下4つの値が指定できます。

  • roadmap
  • satellite
  • hybrid
  • terrain

Google Maps APIを知ってる方は多分すぐわかるのかと(^^;
一応JSFで指定を変えてそれぞれキャプチャしてみました。

type="roadmap"の場合

f:id:kikutaro777:20130703212221j:plain

type="satellite"の場合

f:id:kikutaro777:20130703212227j:plain

type="hybrid"の場合

f:id:kikutaro777:20130703212233j:plain

type="terrain"の場合

f:id:kikutaro777:20130703212238j:plain

各々の解説は以下サイトが詳しそうなので、ここではスキップ(^^;
http://www.ajaxtower.jp/googlemaps/gmaptype/index2.html

JSFで作る画面内でGoogleMapを使いたいときには便利そう(^^;ビュー宣言は2行だし。
もう少し遊んでみます。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村