# # 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
    });