使ってみる

データセット用データドリブン スタイル設定(プレビュー版)の利用を始めるための手順は次のとおりです。

API キーを取得して API を有効化する

データセット用データドリブン スタイル設定(プレビュー版)を利用するには、請求先アカウントが関連付けられた Cloud プロジェクトを用意し、Maps JavaScript API と Maps Datasets API の両方を有効化しておく必要があります。詳しくは、Google Cloud プロジェクトをセットアップするをご覧ください。

API キーを取得

Maps JavaScript API を有効化

Maps Datasets API を有効化

マップ ID を作成する

新しいマップ ID を作成するには、クラウドのカスタマイズに記載されている手順に従います。地図のタイプは [JavaScript] に設定し、[ベクター] オプションを選択します。

地図をインスタンス化する際に、mapId プロパティでマップ ID を指定します。表示するデータセットに関連付けられた地図スタイルに対応するマップ ID を指定してください。

const position = new google.maps.LatLng(40.75, -74.05);
const map = new google.maps.Map(document.getElementById('map'), {
  zoom: 11,
  center: position,
  mapId: 'YOUR_MAP_ID',
});

ベクター地図のマップ ID を作成

新しい地図スタイルを作成する

地図のスタイルを新規作成するには、地図のスタイルを管理するの手順に沿ってスタイルを作成し、先ほど作成したマップ ID にスタイルを関連付けます。

地図の初期化コードを更新する

データセット用データドリブン スタイル設定(プレビュー版)を使用するには、以下のように、インライン ブートストラップ ローダをアプリケーション コードに追加して、まず Maps JavaScript API を読み込みます(API script タグで v=beta を使用)。

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "beta",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>

地図の capabilities をチェックする(省略可)

データセット用データドリブン スタイル設定には、マップ ID が必要です。マップ ID がなかったり、渡されたマップ ID が無効だったりすると、データ対象物を読み込めません。トラブルシューティング用のステップとして、mapcapabilities_changed リスナーを追加して、地図の capability の変化を把握することも可能です。これによって、次の条件が満たされているかどうかを確認できます。

  • 有効なマップ ID が使用されていること。
  • マップ ID がベクター地図と関連付けられていること。

地図の capabilities の使用は任意で、テスティングやトラブルシューティング、あるいはランタイム フォールバック用としてのみ推奨されます。

// Optional: subscribe to map capability changes.
map.addListener('mapcapabilities_changed', () => {
  const mapCapabilities = map.getMapCapabilities();

  if (!mapCapabilities.isDataDrivenStylingAvailable) {
    // Data-driven styling is *not* available, add a fallback.
    // Existing feature layers are also unavailable.
  }
});

次のステップ