基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/layers/GeoJSONLayer"], (GeoJSONLayer) => { /* code goes here */ });
ESM:
import GeoJSONLayer from "@arcgis/core/layers/GeoJSONLayer";
類:
esri/layers/GeoJSONLayer
繼承: GeoJSONLayer > Layer > Accessor
自從:用於 JavaScript 4.11 的 ArcGIS API
用法說明
概述
GeoJSONLayer 類用於基於 GeoJSON 創建圖層。 GeoJSON 是一種用於編碼各種地理數據結構的格式。 GeoJSON 數據必須符合 RFC 7946 specification ,其中指出坐標在 SpatialReference.WGS84 中。請參閱 FeatureLayer 的 querying your data 部分以了解有關如何查詢 geojson 數據的更多信息,並參閱 data visualization 部分以了解如何更改 GeoJSONLayer 的可視化。
請參閱下表以了解GeoJSON 中支持的幾何對象及其對應的幾何類型:
GeoJSON 幾何對象 | API 幾何類型 |
---|---|
Point | Point |
MultiPoint | Multipoint |
線串/多線串 | Polyline |
多邊形/多多邊形 | Polygon |
創建GeoJSONLayer
GeoJSONLayer 是通過將其 url 屬性設置為指向 geojson feed 或內存中 geojson 數據的 blob url 來創建的。
引用 geojson 提要 URL
要從 geojson feed 創建 GeoJSONLayer 實例,您必須將 url 屬性設置為 geojson feed 的 url。
require(["esri/layers/GeoJSONLayer"], function(GeoJSONLayer){
// points to the states layer in a service storing U.S. census data
const geojsonlayer = new GeoJSONLayer({
url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
copyright: "USGS Earthquakes"
});
map.add(geojsonlayer); // adds the layer to the map
});
通過 blob url 引用內存 geojson 數據
您還可以通過將 blob url 傳遞給圖層的 url 屬性,從內存中的 geojson 數據創建 GeoJSONLayer。以下代碼片段展示了如何從 blob url 創建新的GeoJSONLayer。
// create a geojson layer from geojson feature collection
const geojson = {
type: "FeatureCollection",
features: [
{
type: "Feature",
id: 1,
geometry: {
type: "Polygon",
coordinates: [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
},
properties: {
prop0: "value0",
}
}
]
};
// create a new blob from geojson featurecollection
const blob = new Blob([JSON.stringify(geojson)], {
type: "application/json"
});
// URL reference to the blob
const url = URL.createObjectURL(blob);
// create new geojson layer using the blob url
const layer = new GeoJSONLayer({
url
});
已知限製
- 每個GeoJSONLayer僅接受一種幾何類型。如果有多種類型的幾何圖形,則僅加載geometryType中指定的類型。如果未指定geometryType,則默認為第一個幾何體的幾何類型。
- 每個 GeoJSONLayer 隻接受一種屬性模式。 fields 屬性可用於指定圖層所需的字段。如果未定義字段,則第一個要素使用的模式將用於推導該層的字段模式。
- 不支持GeometryCollection。
- 不支持將對象用作GeoJSON 函數的屬性值。
- 目前不支持跨越反子午線的幾何圖形。
相關用法
- JavaScript ArcGIS GeoJSONLayer.minScale用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.url用法及代碼示例
- JavaScript ArcGIS GeoJSONLayerView.featureEffect用法及代碼示例
- JavaScript ArcGIS GeoJSONLayerView.filter用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.createQuery用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.queryFeatureCount用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.orderBy用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.applyEdits用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.maxScale用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.labelingInfo用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.fullExtent用法及代碼示例
- JavaScript ArcGIS GeoJSONLayerView.queryFeatureCount用法及代碼示例
- JavaScript ArcGIS GeoJSONLayerView.queryFeatures用法及代碼示例
- JavaScript ArcGIS GeoJSONLayerView.createQuery用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.refresh用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer edits事件用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.featureEffect用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.fields用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.queryFeatures用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.opacity用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.visible用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.when用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.featureReduction用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.on用法及代碼示例
- JavaScript ArcGIS GeoJSONLayer.effect用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 GeoJSONLayer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。