クラウドベースの地図のスタイル設定の JSON スキーマを使用すると、スタイル エディタのインターフェースと同じように JSON を使用して地図をカスタマイズできます。このドキュメントでは、JSON スキーマと JSON スタイル宣言の方法について説明します。
スタイル エディタ内で JSON を使用して地図のスタイルを編集する方法、または地図のスタイルをインポートおよびエクスポートする方法については、クラウドベースの地図のスタイル設定で JSON を使用するをご覧ください。
JSON スタイル宣言の例を見る
次の JSON スタイル宣言では、背景色を設定し、スポット、公園、水域のスタイルを定義して、飲食店ラベルを非表示にしています。
{
"variant": "light",
"styles": [
{
"id": "natural.land",
"geometry": {
"fillColor": "#f7e3f7"
}
},
{
"id": "natural.water",
"geometry": {
"fillColor": "#d4b2ff"
},
"label": {
"textFillColor": "#3d2163",
"textStrokeColor": "#f0e1ff"
}
},
{
"id": "pointOfInterest",
"label": {
"pinFillColor": "#e0349a",
"textFillColor": "#a11e6e",
"textStrokeColor": "#ffd9f0"
}
},
{
"id": "pointOfInterest.emergency.hospital",
"geometry": {
"fillColor": "#ffe3e3"
}
},
{
"id": "pointOfInterest.foodAndDrink",
"label": {
"visible": false
}
},
{
"id": "pointOfInterest.recreation.park",
"geometry": {
"fillColor": "#f9b9d2"
}
}
]
}
JSON オブジェクト
JSON スタイル宣言は、最上位のオブジェクトとスタイルルールの配列で構成されます。
- トップレベルの設定(省略可)-
backgroundColorやvariantなどのグローバル スタイル設定。 styles- スタイルルールのオブジェクトの配列。次の要素で構成できます。id- このスタイル変更を適用する地図上の対象物(例:pointOfInterest.recreation.park)を指定できます。geometry(省略可)- 地図上の対象物の幾何学的要素と適用するスタイルルール(例:fillColor)を指定できます。label(省略可)- 地図上の対象物のテキストまたはピンのラベルと、適用するスタイルルール(例:textStrokeColor)を指定できます。
最上位の設定
次の表のプロパティは、地図のスタイル全体に適用されます。
| プロパティ | 型 | 説明 | 例 |
|---|---|---|---|
|
文字列 | #RRGGBB の 16 進文字列を使用して、地図アプリの背景色をカスタマイズします。この設定では、不透明度の変更はサポートされていません。 | "#002211" |
|
"light"|"dark" | ライトモードまたはダークモードを指定します。指定しない場合、デフォルトは「light」です。 | "light" |
|
ブール値 | モノクロを有効にするには、地図のグレー バージョンに true を使用します。 |
|
スタイルルール オブジェクト
このセクションでは、地図の対象物をカスタマイズするために styles 配列内のスタイルルールのオブジェクトを定義するプロパティについて説明します。各スタイルルールのオブジェクトは、次の要素で構成されている必要があります。
idプロパティ。- 関連するスタイラー プロパティが定義された
geometry要素またはlabel要素。
id(地図対象物)
id プロパティは、スタイル設定する地図のフィーチャーを指定します。プロパティ名は、スタイル エディタの地図の特徴名のキャメルケース バージョンです。
地図上の対象物は、カテゴリツリーを形成します。pointOfInterest などの親対象物のタイプを指定した場合、親対象物に指定したスタイルは、pointOfInterest.retail や pointOfInterest.lodging などのすべての子対象物に適用されます。詳しくは、地図対象物の階層をご覧ください。
使用可能な id プロパティのリスト
使用可能な id プロパティは次のとおりです。
pointOfInterestpointOfInterest.emergencypointOfInterest.emergency.firepointOfInterest.emergency.hospitalpointOfInterest.emergency.pharmacypointOfInterest.emergency.policepointOfInterest.entertainmentpointOfInterest.entertainment.artspointOfInterest.entertainment.casinopointOfInterest.entertainment.cinemapointOfInterest.entertainment.historicpointOfInterest.entertainment.museumpointOfInterest.entertainment.themeParkpointOfInterest.entertainment.touristAttractionpointOfInterest.foodAndDrinkpointOfInterest.foodAndDrink.barpointOfInterest.foodAndDrink.cafepointOfInterest.foodAndDrink.restaurantpointOfInterest.foodAndDrink.winerypointOfInterest.landmarkpointOfInterest.lodgingpointOfInterest.recreationpointOfInterest.recreation.beachpointOfInterest.recreation.boatingpointOfInterest.recreation.fishingpointOfInterest.recreation.golfCoursepointOfInterest.recreation.hotSpringpointOfInterest.recreation.natureReservepointOfInterest.recreation.parkpointOfInterest.recreation.peakpointOfInterest.recreation.sportsComplexpointOfInterest.recreation.sportsFieldpointOfInterest.recreation.trailheadpointOfInterest.recreation.zoopointOfInterest.retailpointOfInterest.retail.grocerypointOfInterest.retail.shoppingpointOfInterest.servicepointOfInterest.service.atmpointOfInterest.service.bankpointOfInterest.service.carRentalpointOfInterest.service.evChargingpointOfInterest.service.gasStationpointOfInterest.service.parkingLotpointOfInterest.service.postOfficepointOfInterest.service.restStoppointOfInterest.service.restroompointOfInterest.transitpointOfInterest.transit.airportpointOfInterest.otherpointOfInterest.other.bridgepointOfInterest.other.cemeterypointOfInterest.other.governmentpointOfInterest.other.librarypointOfInterest.other.militarypointOfInterest.other.placeOfWorshippointOfInterest.other.schoolpointOfInterest.other.townSquarepoliticalpolitical.countryOrRegionpolitical.borderpolitical.reservationpolitical.stateOrProvincepolitical.citypolitical.sublocalitypolitical.neighborhoodpolitical.landParcelinfrastructureinfrastructure.buildinginfrastructure.building.commercialinfrastructure.businessCorridorinfrastructure.roadNetworkinfrastructure.roadNetwork.noTrafficinfrastructure.roadNetwork.noTraffic.pedestrianMallinfrastructure.roadNetwork.noTraffic.trailinfrastructure.roadNetwork.noTraffic.trail.pavedinfrastructure.roadNetwork.noTraffic.trail.unpavedinfrastructure.roadNetwork.parkingAisleinfrastructure.roadNetwork.rampinfrastructure.roadNetwork.roadinfrastructure.roadNetwork.road.arterialinfrastructure.roadNetwork.road.highwayinfrastructure.roadNetwork.road.localinfrastructure.roadNetwork.road.noOutletinfrastructure.roadNetwork.roadShieldinfrastructure.roadNetwork.roadSigninfrastructure.roadNetwork.roadDetailinfrastructure.roadNetwork.roadDetail.surfaceinfrastructure.roadNetwork.roadDetail.crosswalkinfrastructure.roadNetwork.roadDetail.sidewalkinfrastructure.roadNetwork.roadDetail.intersectioninfrastructure.railwayTrackinfrastructure.railwayTrack.commercialinfrastructure.railwayTrack.commuterinfrastructure.transitStationinfrastructure.transitStation.bicycleShareinfrastructure.transitStation.busStationinfrastructure.transitStation.ferryTerminalinfrastructure.transitStation.funicularStationinfrastructure.transitStation.gondolaStationinfrastructure.transitStation.monorailinfrastructure.transitStation.railStationinfrastructure.transitStation.railStation.subwayStationinfrastructure.transitStation.railStation.tramStationinfrastructure.urbanAreanaturalnatural.continentnatural.archipelagonatural.islandnatural.landnatural.land.landCovernatural.land.landCover.cropsnatural.land.landCover.dryCropsnatural.land.landCover.forestnatural.land.landCover.icenatural.land.landCover.sandnatural.land.landCover.shrubnatural.land.landCover.tundranatural.waternatural.water.oceannatural.water.lakenatural.water.rivernatural.water.othernatural.base
要素
要素は地図上の対象物の下位区分です。たとえば道路は、地図上のグラフィカルな線(geometry)と、道路の名称を示すテキスト(label)で構成されます。
次の要素が利用可能ですが、地図上の対象物によっては、一部またはすべての要素に対応する場合や、すべての要素に非対応の場合があります。
geometry: 指定した地図対象物のすべてのジオメトリ要素(ポリゴン、ポリラインなど)を選択します。label: 指定した地図の対象物のすべてのラベル要素(テキスト、ピンなど)を選択します。
スタイラ
スタイラは、地図上の対象物の各要素のスタイルルールを定義する方法です。
たとえば、建物のフットプリントの場合、各要素を次のようにスタイル設定できます。
建物の geometry スタイラーの例 |
建物の label スタイラーの例 |
|---|---|
| 地図上に建物のフットプリント ポリゴンを表示するかどうか。 | 建物のラベルを非表示にするか表示するか。 |
| ポリゴンの塗りつぶしの色と不透明度。 | テキストの塗りつぶしの色と不透明度。 |
| 枠線の色、不透明度、幅。 | テキストのストロークの色と不透明度。 |
このセクションでは、geometry 要素と label 要素で使用できるさまざまなスタイル オプションについて説明します。
geometry 個のスタイラー
次の表に、使用可能なすべての幾何学的スタイル設定ツールを示します。
| スタイラー | 型 | 説明 |
|---|---|---|
|
ブール値 | 地図対象物のポリゴンまたはポリラインを非表示にするには、false に設定します。 |
|
文字列 | RGB 16 進文字列を使用して、ポリゴンまたはポリラインの色をカスタマイズします。 |
|
float | ポリゴンまたはポリラインの不透明度をカスタマイズします。0 は透明、1 は不透明です。 |
|
文字列 | RGB 16 進文字列を使用して、アウトラインの色をカスタマイズします。 |
|
float | 輪郭の不透明度をカスタマイズします。0 は透明、1 は不透明です。 |
|
float | アウトラインの太さを 0 ~ 8 の範囲でカスタマイズします。 |
詳しくは、ポリゴンとポリラインをご覧ください。
label 個のスタイラー
次の表に、使用可能なすべてのラベル スタイラーを示します。
| スタイラー | 型 | 説明 |
|---|---|---|
|
ブール値 | 地図アイテムのラベルを非表示にするには、false に設定します。 |
|
文字列 | RGB 16 進文字列を使用してテキストラベルの色をカスタマイズします。 |
|
float | テキストラベルの不透明度をカスタマイズします。0 は透明、1 は不透明です。 |
|
文字列 | RGB 16 進文字列を使用して、アウトラインの色をカスタマイズします。 |
|
float | 輪郭の不透明度をカスタマイズします。0 は透明、1 は不透明です。 |
|
float | アウトラインの太さを 0 ~ 8 の範囲でカスタマイズします。 |
|
文字列 | RGB 16 進文字列を使用してピンの色をカスタマイズします。 |
詳しくは、アイコンとテキスト ラベルをご覧ください。
キーズーム
すべてのキーズームレベルで 1 つのスタイルを設定することも、キーズームレベルごとに異なるスタイルを指定することもできます。スタイルを 1 つだけ指定した場合、z0 から始まるすべての keyzoom レベルで使用されます。異なるキーズームレベルのスタイルを指定すると、そのズームレベルから次に定義したズームレベルまでスタイルが適用されます。
スタイルのキーズームレベルを設定するには、スタイラー プロパティで、z0 から z22 までのキーズームレベルを定義してから、スタイラーのカスタマイズを定義します。
次の例では、水域の色がキーズームレベル 0 ~ 5 では黒、キーズームレベル 6 ~ 11 では濃いグレー、キーズームレベル 12 以降では明るいグレーになります。
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
詳しくは、ズームレベルのスタイルを設定するをご覧ください。
制限事項
JSON を使用して、Google Cloud コンソールのほぼすべてのスタイルを設定できます。ただし、[地図の設定] メニューの次の機能は除きます。
これらの機能については、 [地図の設定] メニューで設定を選択する必要があります。