# GeoJsonLayerInterface
GeoJSON (opens new window) データを描画するレイヤーのインターフェースです。これは実装者がモデル化するための仕様であり、エクスポートされたメソッドやクラスではありません。
GeoJSON レイヤーは、deck.gl (opens new window) の GeoJsonLayer (opens new window) を使用して描画されます。開発者は、GeoJSON データと描画方法を指定することで、ポリゴンや折れ線、点(円やアイコン、テキストを含む)をマップ上に重ねて表示することができます。このレイヤーは Map#addLayer を使ってマップに追加できます。
GeoJSON レイヤーは、一意の id
を持ち、type
が 'geojson'
である必要があります。
# プロパティ
以下のプロパティに加えて、deck.gl の GeoJsonLayer (opens new window) が持つすべてのプロパティに対応します。
# id
(string
(opens new window))
固有のレイヤー ID です。
# maxzoom
(number
(opens new window))
レイヤーの最大ズームレベルです。maxzoom 以上のズームレベルでは、レイヤーは非表示になります。値は 0
から 24
(これを含む)までの任意の数値です。maxzoom が指定されていない場合は、レイヤーはすべてのズームレベルで表示されます。
# minzoom
(number
(opens new window))
レイヤーの最小のズームレベルです。minzoom 未満のズームレベルでは、レイヤーは非表示になります。値は 0
から 24
(これを含む)の間の任意の数値です。minzoom が指定されていない場合は、レイヤーはすべてのズームレベルで表示されます。
# type
(string
(opens new window))
レイヤーのタイプです。必ず 'geojson'
と指定してください。
# 例
const geojson = {
'type': 'FeatureCollection',
'features': [{
'type': 'Feature',
'geometry': {
'type': 'LineString',
'properties': {
'type': 0
},
'coordinates': [
[-77.0366048, 38.8987317],
[-77.0336437, 38.8987651],
[-77.0336437, 38.8954919]
]
}
}, {
'type': 'Feature',
'geometry': {
'type': 'LineString',
'properties': {
'type': 1
},
'coordinates': [
[-77.0083236, 38.8914336],
[-77.0081841, 38.8908240],
[-77.0081520, 38.8898971]
]
}
}]
};
const colors = [[255, 0, 0], [0, 0, 255]];
map.addLayer({
id: 'geojson-lines',
type: 'geojson',
data: geojson,
filled: false,
getLineWidth: 4,
getLineColor: d => colors[d.properties.type],
opacity: 0.7,
minzoom: 10,
maxzoom: 22
});