MapViewer サンプルアプリケーションは、Roger Kitain 氏によって作成され、Craig McClanahan 氏によって Creator 2 サンプル用に変更された、2 つの Java Blueprint's 1.4 Catalog コンポーネントを使用しています。
このサンプルは、Craig の Creator サンプルに基づいています。
GeoCoder は Yahoo 地図サービスを使用して、入力された住所を調べて正確な緯度と経度を取得します。
「MapViewer」コンポーネントは、この情報を使用して Google マップを表示し、その中心を特定します。
現在の Early Access のサンプルアプリケーションは、Yahoo 地図サービスから最初に返された住所のみ提供します。
MapViewer および GeoCoder コンポーネント用のタグライブラリには、次の宣言を使用してアクセスできます。
<%@taglib prefix="ui" uri="http://java.sun.com/blueprints/ui/14"%>
マップビューアコンポーネントは、バッキング Bean を使って必要な情報を提供し、Google マップを表示します。
この情報はユーザーの入力によって、また GeoCoder コンポーネントの Yahoo ルックアップの戻り値から設定されます。
これらのコンポーネントは個別に使用できますが、マップビューアコンポーネントには、返された Google マップの中心を特定するために正確な緯度と経度が必要です。
GeoCoder コンポーネントの使用方法については、com.sun.javaee.blueprints.mapviewer.MapBean バッキング Bean の「findAction」メソッドを参照してください。
このメソッドは、GeoCoder の呼び出しと戻り値の全体をカプセル化し、マップビューアが使用する値を設定します。
<ui:mapViewer id="mapViewerx" center="#{MapBean.mapPoint}" info="#{MapBean.mapMarker}"
markers="#{MapBean.locations}" style="height: 500px; width: 700px"/>
前述の例のように、「mapViewer」がコンポーネントタグ名で、MapBean バッキング Bean によって値が設定される属性には、次のものがあります。permission java.util.PropertyPermission "*","read,write";
注: 「http://localhost:8080/bp-map-viewer」以外の URL を使ってサンプルアプリケーションにアクセスする場合、Google マップサービスにアクセスするには、新しいマップキーを生成する必要があります。
このキーは現在無料で、http://www.google.com/apis/maps/ から生成できます。
生成されたキーはマップビューアコンポーネントの「key」属性内か、WEB-INF/web 配備記述子内のパラメータ名 com.sun.j2ee.blueprints.ui.mapviewer.KEY の下に設定できます。
次に例を示します。
<param-name>com.sun.j2ee.blueprints.ui.mapviewer.KEY</param-name>
<param-value>ABQIAAAAyQYKk4__l80DyIsqLPvvuxTRFLl8Tcq3arEgFHYFeOMvEMiJ8RQehhrYXPIDrf1muScWAd1MXrlVkQ</param-value>