4.3 Google Mapsの使用

アプリケーションでは、Google Mapsタイルを組込みのマップ・タイル層として表示できます。これを行うには、MVGoogleTileLayerのインスタンスを、マップ・ウィンドウに作成および追加します。

内部ではOracle Mapsクライアントは、正式なGoogle Maps APIを使用してマップを表示します。このマップは、Google Mapsサーバーから直接サービスを受けます。

Google Mapsタイルを使用するには、タイルの使用方法がGoogleによって規定されているサービス条件に適合する必要があります(https://developers.google.com/readme/termsを参照)。

(Google Mapsタイル層の上に独自の空間データをオーバーレイする必要がある場合、「Spherical Mercator座標系へのデータ変換」も参照してください)。

次の項では、組込みマップ・タイル層を使用する2つのオプションについて説明します。

4.3.1 クライアント側でのGoogle Mapsタイル層の定義

組込みのマップ・タイル層をクライアント側で定義するには、MVGoogleTileLayerオブジェクトを作成し、それをMVMapViewオブジェクトに追加する必要があります。(Oracle Fusion Middlewareリリース11.1.1.6では、MVGoogleTileLayerはデフォルトでGoogle Mapsのバージョン3 APIを使用します。)

たとえば、Googleタイルを使用するには、マップにGoogleタイル層を追加します。

mapview = new MVMapView(document.getElementById("map"), baseURL);
tileLayer = new MVGoogleTileLayer() ;
mapview.addMapTileLayer(tileLayer);

アプリケーションで、メソッドMVGoogleTileLayer.setMapTypeを起動して、マップ・タイプをマップ・プロバイダがサポートするタイプのいずれか(道路、衛星、ハイブリッドなど)に設定できます。

使用例および詳細は、MVGoogleTileLayerのJavaScript APIドキュメントおよびチュートリアル・デモの組込みGoogle Mapsタイル層を参照してください。

4.3.2 サーバー側での組込みマップ・タイル層の定義

メタデータのサーバー側で組込みマップ・タイル層(外部タイル層とも呼ばれる)を定義し、クライアント側で標準マップ・ビジュアライゼーション・コンポーネント・タイル層として使用できます。 サーバー側で組込みマップ・タイル層を定義するには、次のステップに従います。

  1. マップ・ビジュアライゼーション・コンポーネントの「管理」ページにログインします(「マップ・ビジュアライゼーション・コンポーネントの「管理」ページへのログイン」を参照)。

  2. 「管理」タブを選択し、「タイル・レイヤーの作成」をクリックします。

  3. 「タイル・レイヤー・タイプ」では、 「Oracle Maps」、「Googleマップ」、「HEREマップ」、「OpenStreetMap」、「TomTomマップ」 または「LocationBoxマップ」を選択し、 「次」をクリックします。

  4. この外部タイル層に名前を指定し(GOOGLE_MAPなど)、タイル層定義を格納するデータ・ソースを選択します。

  5. マップ・プロバイダから取得したライセンス・キーおよびその他の関連プロパティ(特定の外部タイル層については詳細あり)を設定し、  「次」をクリックします。

  6. 外部タイル層のXMLの説明を確認します。「前」をクリックして前のページに移動し、変更を加えることができます。

  7. 「送信」をクリックして、タイル層を作成します。

サーバー側で作成した組込みマップ・タイル層は、MapViewerが提供する他のタイル層のように使用できます。外部JavaScriptライブラリをロードするために、<script>タグを追加する必要はありません。

次のコード・スニペットは、サーバー側に定義されたGoogle Mapsタイル層を示します。

 var tileLayer = new OM.layer.TileLayer("google1", {
      dataSource:"mvdemo", 
      tileLayer:"GOOGLE_MAP"
      });
	
  map.addLayer(tileLayer) ;

ノート:

各組込みタイル層には独自の固有プロパティがあります。要件については、サービス・プロバイダに確認する必要がある場合があります。

Google Mapsを使用する場合は、次のプロパティを指定する必要がある場合があります。

  • key: Google Mapsから取得したキーです。

  • client: Google Mapsから取得できるオプションのプロパティであるクライアントIDです。クライアントIDが指定されている場合でも、キー・プロパティは必要です。

  • lib_url: Google Maps API URL (たとえばhttp://maps.google.com/maps/api/js?sensor=false)です。指定されていない場合は、デフォルト値が使用されます。

  • version: APIの現在のバージョンは3です。

  • mapTyelList: マップ・タイプのリストを指定できます。MVGoogleTileLayer.TYPE_ROAD; MVGoogleTileLayer.TYPE_SHADED; MVGoogleTileLayer.TYPE_SATELLITE; MVGoogleTileLayer.TYPE_HYBRID。

  • mapTypeVisible: ブール値trueまたはfalseの値は、マップ・タイプを選択するために、マップ・タイプ・ボタンを表示するかどうかを指定します。