マップ コントロールでは、複数の異なるマップ スタイル オプションと基本マップ スタイルがサポートされています。 すべてのスタイルは、マップ コントロールを初期化するときに設定できます。 または、マップ コントロールの setStyle 関数を使用してスタイルを設定することもできます。 この記事では、これらのスタイル オプションを使用してマップの外観をカスタマイズする方法と、マップでスタイル ピッカー コントロールを実装する方法について説明します。 ユーザーは、スタイル ピッカー コントロールを使用して別の基本スタイルに切り替えることができます。
マップ スタイル オプションを設定する
スタイル オプションは、Web コントロールの初期化時に設定できます。 または、マップ コントロールの setStyle 関数を呼び出してスタイル オプションを更新することもできます。 使用できるすべてのスタイル オプションを確認するには、「スタイル オプション」を参照してください。
//Set the style options when creating the map.
var map = new atlas.Map('map', {
renderWorldCopies: false,
showLogo: true,
showFeedbackLink: true,
style: 'road'
//Additional map options.
});
//Update the style options at anytime using `setStyle` function.
map.setStyle({
renderWorldCopies: true,
showLogo: false,
showFeedbackLink: false
});
基本マップ スタイルを設定する
Web SDK で使用できるいずれかの基本マップ スタイルを使用して、マップ コントロールを初期化することもできます。 その後、setStyle 関数を使用して、基本スタイルを別のマップ スタイルで更新できます。
初期化時に基本マップ スタイルを設定する
マップ コントロールの基本スタイルは、初期化時に設定できます。 次のコードでは、マップ コントロールの style オプションは、grayscale_dark ベース マップ スタイルとして設定されています。
var map = new atlas.Map('map', {
style: 'grayscale_dark',
//Additional map options
});
基本マップ スタイルを更新する
基本マップ スタイルを更新するには、setStyle 関数を使用して style オプションを設定し、別の基本マップ スタイルに変更するか、さらに多くのスタイル オプションを追加します。
次のコードでは、マップ インスタンスが読み込まれた後、grayscale_dark 関数を使用して、マップのスタイルが satellite から に更新されます。
map.setStyle({ style: 'satellite' });
ベースマップをカスタマイズしましょう
styleOverridesオプションを使えば、国や地域の境界、行政区画の境界、建物のフットプリント、道路詳細レイヤーなど特定のマップ要素をオフにしてベースマップを効率化できます。 これにより、地図ビューがよりクリーンでシンプルになり、ジオメトリデータの可視化が容易になります。
以下のコードは、国や地域の国境や建物の足跡をマップ上で無効にする方法を示しています。
var map = new atlas.Map('map', {
styleOverrides: {
countryRegion: { borderVisible: false },
buildingFootprint: { visible: false },
},
//Additional map options
});
以下は利用可能な5つの styleOverrides オプションの例です。
- 国・地域の国境
styleOverrides: {
countryRegion: { borderVisible: false }
}
- 行政区の境界
styleOverrides: {
adminDistrict: { borderVisible: false }
}
- 第二行政区の境界
styleOverrides: {
adminDistrict2: { borderVisible: false }
}
- 建物の占有面積
styleOverrides: {
buildingFootprint: { visible: false }
}
- 道路の詳細
styleOverrides: {
roadDetails: { visible: false }
}
Note
各 styleOverrides オプションでサポートされているマップスタイルの詳細については、 styleOverrides APIのドキュメントをご覧ください。
異なるスタイルとそれがマップのレンダリングにどのように影響するかを示すサンプルは、Azure Maps Samplesのマップスタイルオプションをご覧ください。 このサンプルのソースコードについては、 Map style optionsのソースコードを参照してください。
スタイル ピッカー コントロールを追加する
スタイル ピッカー コントロールには、ポップアップ パネル付きの使いやすいボタンがあり、エンド ユーザーが基本スタイルを切り替えるために使用できます。
スタイル ピッカーには、icon と list という 2 つの異なるレイアウト オプションがあります。 また、スタイル ピッカーでは、style と light という 2 つの異なるスタイル ピッカー コントロールの dark オプションを選択できます。 この例では、スタイル ピッカーに icon レイアウトが使用され、基本マップ スタイルの選択リストがアイコン形式で表示されています。 スタイル ピッカー コントロールには、基本スタイルのセットとして ["road", "grayscale_light", "grayscale_dark", "night", "road_shaded_relief"] が含まれています。 スタイル ピッカー コントロールのオプションの詳細については、「StyleControlOptions」を参照してください。
次の画像は、icon レイアウトで表示されるスタイル ピッカー コントロールを示しています。
次の画像は、list レイアウトで表示されるスタイル ピッカー コントロールを示しています。
重要
デフォルトでは、スタイルピッカーコントロールはマップスタイルの基本セットを表示します。 すべての利用可能なスタイルを表示するには、 mapStyles オプションを "all"に設定してください。 カスタムセットを表示するには、スタイル名の配列を mapStyles オプションに渡します。
次のコードは、既定の mapStyles 基本スタイル一覧をオーバーライドする方法を示しています。 この例では、スタイル ピッカー コントロールに表示される基本スタイルを一覧表示するように mapStyles オプションを設定しています。
/*Add the Style Control to the map*/
map.controls.add(new atlas.control.StyleControl({
mapStyles: ['road', 'grayscale_dark', 'night', 'road_shaded_relief', 'satellite', 'satellite_road_labels'],
layout: 'list'
}), {
position: 'top-right'
});
次の手順
この記事で使われているクラスとメソッドの詳細については、次を参照してください。
マップに追加できる他のコード サンプルについては、次の記事をご覧ください。