デフォルトのスタイル
HERE には、基本的なマッププリミティブをレンダリングするための 4 つのデフォルトの埋め込みスタイルがあります。
polygons
lines
points
text
データソースが提供するジオメトリおよび属性に応じて、Styleを同じ意味で使用できます。 使用可能なレイヤーとその属性の詳細については、 Vector Tile REST API のドキュメントを参照してください。
次の例では、同じデータレイヤーにさまざまなスタイルを適用する方法を示します。 以下の設定では、レイヤーwater
を使用して、エンコードされたデータを 4 つの異なるスタイルでレンダリングします。 これらのユニバーサル スタイルは埋め込まれており、すべてのデータ レイヤーとプロパティに存在します。各スタイルおよび関連するスタイル属性の説明については、以下の対応するセクションを参照してください。
次のコードでは 、スタイルpolygon
を使用して青色の水域ポリゴンをレンダリングします。 右の画像は、構成がベース マップの H.map.Style
として設定された後のマップを示しています。
Style
sources:
omv:
type: OMV
layers:
water_areas:
data: {source: omv, layer: water}
draw:
polygons:
order: 1
color: [0.055, 0.604, 0.914, 1.00]
スタイルpolygons
を lines
に変更することで、データレイヤーでエンコードされたデータのアウトラインをレンダリングできます。
Style
sources:
omv:
type: OMV
layers:
water_areas:
data: {source: omv, layer: water}
draw:
lines:
order: 1
width: 2px
color: [0.055, 0.604, 0.914, 1.00]
points
ジオメトリの頂点の代わりにpointsをレンダリングすると,
同じデータにスタイルを適用することもできます。 Styleは、各点のサイズと色を定義します。 すべての頂点を表示するに は、Styleのプロパティcollide
をfalse
に設定する必要があります。
Style
sources:
omv:
type: OMV
layers:
water_areas:
data: {source: omv, layer: water}
draw:
points:
collide: false
size: 6px
color: [0.055, 0.604, 0.914, 1.00]
データレイヤーにテキスト表現を持つプロパティがある場合は、そのスタイルtext
をレイヤーに適用することもできます。 次の例では 、データレイヤーwater
に 、水域のフィーチャ名を表すプロパティname
が含まれています。 テキストスタイルの場合、レンダリングのためにプロパティname
が選択されていることに注意してください。 ただし、任意のプロパティを選択できます。詳細については、このガイドの対応する章を参照してください。
Style
sources:
omv:
type: OMV
layers:
water_areas:
data: {source: omv, layer: water}
draw:
text:
collide: false
font:
fill: rgba(0, 0, 20, 1.0)
size: 22px
論理レイヤー内の同じデータレイヤーに複数のスタイルを適用できます。 次の例では 、polygons
およびtext
スタイルを使用して、水域ポリゴンの上にラベル情報をレンダリングしています。
Style
sources:
omv:
type: OMV
layers:
water_areas:
data: {source: omv, layer: water}
draw:
polygons:
order: 1
color: [0.055, 0.604, 0.914, 0.50]
text:
collide: false
text_source: function() {return feature.name}
font:
fill: rgba(0, 0, 20, 1.0)
size: 22px
Polygons
このスタイルpolygons
は、閉じたシェイプを含むデータレイヤーで使用できます。 このスタイルpolygons
は、開いているシェープでは使用できません。
-
color
- string, function
、必須。 プロパティはフィーチャーの色を示します。 文字列は、カラー定義の CSS 形式に従い、次の形式をとることができます。 - CSS の名前付きカラー
-
[r, g, b, a]
範囲内の RGBA 値を含む配列 0...1
-
'#RRGGBB'
-RGB の 16 進文字列 -
rgb(R, G, B)
- またはの範囲の CSS RGB カラー 0...255
0%...100%
-
rgba(R, G, B, A)
- 範囲 0...255
内の CSS RGB カラーおよび範囲 0...1
内のアルファチャンネル
draw:
polygons:
color: rgb(255, 0, 0)
- extrude -
boolean, integer, [min, max], function
、オプション。 このプロパティは、ポリゴンを Z 軸に沿って押し出す必要があるかどうかを示します(たとえば、建物のアウトラインポリゴンを押し出す場合に使用されます)。 デフォルト値はfalse
、 -
boolean
- true
に設定すると、押し出しの高さはフィーチャーの height プロパティから取得されます。 -
integer
- 押し出し高さ ( メートル ) -
[min, max]
- この範囲では、ポリゴンの押し出しを 地面からmin
メートルの位置から開始する必要があり 、多角形を地面からmax
メートルまで押し出す必要があることを定義します。 -
function
- 数値を返す関数。詳細については、「 [ 関数 ] 」を参照してください。
です。 -
interactive
- boolean
、任意。 このプロパティは、 API 呼び出しを使用して機能にアクセスできるかどうかを示し ます ( H.Map.getObjectAt
のコールなど ) 。 デフォルト値はfalse
です。 -
order
- integer, function
、必須。 このプロパティは、論理レイヤーのレンダリング順序を定義します。 値が大きいレイヤーが上に表示されます。 -
style
- string
、任意。 このプロパティは 、設定のセクション styles
で定義されているスタイルを参照します。詳細について は、「カスタムスタイル」を参照してください。 -
visible
- boolean
、任意。 プロパティは、フィーチャーがレンダリングされたかどうかを示します。 デフォルト値はtrue
です 。
Lines
lines
スタイルは、開いているまたは閉じているシェイプを含むレイヤーで使用できます。
-
dash
- [...number]
、任意。 プロパティには数値の配列が含まれ、行のレンダリングに使用される破線のパターンが記述されます。 SVG DASH 配列の一般的なロジックに従います。 たとえば、次のスニペットでは、 1 単位のギャップを持つ 2 つの破線長さの単位を定義します。
draw:
lines:
dash: [2, 1]
-
cap
- string
、任意。 プロパティは、Lineの終端の形状を設定 します。値butt
、square
およびround
を受け取ることがあります。 デフォルト値はbutt
です 。 -
color
- string, function
、必須。 プロパティはフィーチャーの色を示します。 この文字列は、カラー定義の CSS 形式に従い、次の形式をとることができます。 - CSS の名前付きカラー
-
[r, g, b, a]
範囲内の RGBA 値を含む配列 0...1
-
'#RRGGBB'
-RGB の 16 進文字列 -
rgb(R, G, B)
- またはの範囲の CSS RGB カラー 0...255
0%...100%
-
rgba(R, G, B, A)
- 範囲 0...255
内の CSS RGB カラーおよび範囲 0...1
内のアルファチャンネル
draw:
lines:
color: rgb(255, 0, 0)
draw:
lines:
order: 1
width: 3px
color: [0.055, 0.604, 0.914, 1.00]
outline:
width: 1px
color: rgb(0, 0, 0)
-
style
- string
、任意。 このプロパティは 、設定のセクション styles
で定義されているスタイルを参照します。詳細について は、「カスタムスタイル」を参照してください。 -
visible
- boolean
、任意。 このプロパティは、フィーチャーがレンダリング可能かどうかを示します。 デフォルト値はです true
。 -
width
- float, [...[zl, float]], function
、必須。 このプロパティは、行の幅を定義します。 幅はメートル m
単位またはピクセルpx
単位 で指定できます。 使用できる形式は次のとおりです。
- すべてのズームレベルに適用される浮動小数点数または整数数。
-
2 つの要素から成る配列の配列。 1 つ目の要素はズーム レベル、 2 つ目の要素は幅を定義します。 次の例では、ズーム レベル 15 では 5 ピクセル、ズーム レベル 18 では 15 ピクセルの線幅を使用しています。
draw:
lines:
width: [[15, 5px], [18, 15px]]
- 浮動小数点数を返す関数です。
Points
このスタイルpoints
を使用して、開いたシェイプと閉じたシェイプ、またはPointsのセットを表示できます。 スタイルは、データポイントの位置に定義されたサイズの円を描画します。
draw:
points:
offset: [[15, [10px, 0px]], [16, [-10px, 0px]]]
-
order
- number, function
、必須。 このプロパティは、論理レイヤーのレンダリング順序を定義します。 値が大きいレイヤーが上に表示されます。 -
outline
- 行のアウトラインスタイルを定義するブロックレベルの要素。 任意のスタイルパラメータlines
を含めることができます。 次の例では、 3 ピクセルの青色のポリラインの 1 ピクセルの黒いアウトラインを定義します。
draw:
points:
order: 1
size: 3px
color: [0.055, 0.604, 0.914, 1.00]
outline:
width: 1px
color: rgb(0, 0, 0)
Text
このスタイルtext
では、形状のテキストラベルが配置され、開いている、または閉じているシェープ、またはPointsで使用できます。 開いているジオメトリ ( Lineなど ) でスタイルを使用すると ' ラベルがLineに沿って配置されます ポリゴンがソースジオメトリとして使用されている場合、Textは中心点に配置されます。
draw:
text:
offset: [[15, [10px, 0px]], [16, [-10px, 0px]]]
-
outline
- 任意。 プロパティは、テキストボックスのアウトラインの色と幅を定義します。 -
color
- string, function
、必須。 このプロパティは、アウトラインの色を示します。 この文字列は、カラー定義の CSS 形式に従い、次の形式をとることができます。 - CSS の名前付きカラー
-
[r, g, b, a]
範囲内の RGBA 値を含む配列 0...1
-
'#RRGGBB'
-RGB の 16 進文字列 -
rgb(R, G, B)
- またはの範囲の CSS RGB カラー 0...255
0%...100%
-
rgba(R, G, B, A)
- 範囲 0...255
内の CSS RGB カラーおよび範囲 0...1
内のアルファチャンネル
-
width
- integer
、必須。 このプロパティでは、アウトラインの幅をピクセル単位で定義します。
-
order
- number, function
、必須。 このプロパティは、論理レイヤーのレンダリング順序を定義します。 値が大きいレイヤーが上に表示されます。 -
padding
- [integer, integer, integer, integer], [integer, integer]
、任意。 プロパティでは、テキストのパディングを定義します。 これ は、top
、right
、bottom
、およびleft
のパディングを定義する 4 つの要素の配列として指定すること も、 2 つの要素の配列として指定して、それらの要素を定義vertical
およびhorizontal
パディングすることもできます。 -
priority
- integer, function
、任意。 パラメーターは、フィーチャーの図面の優先度を定義します。 数値が小さいほど優先度が高くなり、優先度が高いフィーチャーが最初に描画され、レンダリングの機会が多くなります。 デフォルト値はNumber.MAX_SAFE_INTEGER
です。 -
repeat_distance
- integer
、任意。 このプロパティは、タイル境界内のラベルの頻度を定義します。 距離はラベルの中心点から測定 repeat_group
され、現在の境界球として処理できます。 デフォルト値は256px
です 。 -
repeat_group
- string
、任意。 このプロパティでは、ラベルのグループ化方法に従って名前を定義します。 異なるデータレイヤーのラベル repeat_group
には、同じ名前を付けることができます。 これらのラベルには、同じ repeat_distance が適用されます。 -
style
- string
、任意。 このプロパティは 、設定のセクション styles
で定義されているスタイルを参照します。詳細について は、「カスタムスタイル」を参照してください。 -
text_source
- string, function, [...string|function]
、任意。 このパラメータでは、ラベルテキストのプロパティの名前を設定します。 これには、プロパティの名前である文字列リテラル、文字列リテラルを返す関数、または文字列または関数の配列を使用できます。 後者の場合、 null 以外の最初の値がラベルに使用されます。 デフォルト値はname
です。 -
text_wrap
- integer
、任意。 このプロパティでは、ラップされたテキストラベルの後の文字数を設定します。 -
visible
- boolean
、任意。 プロパティは、フィーチャーがレンダリングされたかどうかを示します。 デフォルト値はtrue
です 。