マップビューアと GeoCoder コンポーネントの使用方法

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 の呼び出しと戻り値の全体をカプセル化し、マップビューアが使用する値を設定します。

JSF マップビューアコンポーネントの使用例を次に示します。
 <ui:mapViewer id="mapViewerx" center="#{MapBean.mapPoint}" info="#{MapBean.mapMarker}"
markers="#{MapBean.locations}" style="height: 500px; width: 700px"/>
前述の例のように、「mapViewer」がコンポーネントタグ名で、MapBean バッキング Bean によって値が設定される属性には、次のものがあります。
GeoCode および MapViewer は外部サービスにアクセスするため、ファイアウォールを使用していて、透過性のあるプロキシを使用するように設定していない場合は、プロキシサーバーが必要です。 主なルックアップページでプロキシサーバーのホストおよびポートの設定が求められますが、System のプロパティー値を設定するには、セキュリティーアクセス権を付与する必要があります。 JVM プロキシ設定を行うための書き込みアクセス権を付与するには、server.policy を変更して書き込みアクセス権を追加する必要があります。 Glassfish の場合、server.policy ファイルはドメインの config ディレクトリの下にあります。 たとえばドメインが "domain1" という名前の場合、このファイルは .../glassfish/domains/domain1/config/server.policy にあります。 PropertyPermission を次のように変更して書き込みアクセス権を追加してください。
    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>


© Sun Microsystems 2006. Java BluePrints Solutions Catalog の内容はすべて著作権保護されており、サン・マイクロシステムズ社の書面による許可なしに他の著作物に発表することを禁止します。