ArcGIS API for JavaScript 开发
GeoJSONLayer
require(["esri/layers/GeoJSONLayer"], function(GeoJSONLayer) {
/* code goes here */ });
GeoJSONLayer类用于创建基于GeoJSON的层。GeoJSON是一种用于编码各种地理数据结构的格式。GeoJSON数据必须符合RFC 7946规范,该规范声明坐标在SpatialReference.WGS84中。
(1)新建一个GeoJSONLayer
const geoJSONLayer = new GeoJSONLayer({
url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",//GeoJSON文件的URL
copyright: "USGS Earthquakes",//该层的版权信息
});
map.add(geoJSONLayer);
(2)popupTemplate 弹出模板
该层的弹出模板。当在层上设置时,popupTemplate允许用户访问属性并在使用文本和/或图表选择特性时在视图的弹出窗口中显示其值。有关PopupTemplate如何与FeatureLayer交互的示例,请参见PopupTemplate示例。
当popup . defaultpopuptemplateenabled被设置为true时,如果没有定义popupTemplate,将自动使用一个默认的popup模板。
const lineTemplate = {
title: "信息",
content: `<div>
<p>管点编号:{管点编号}</p>
<p>起点X坐标:{起点X坐标}</p>
<p>起点Y坐标:{起点Y坐标}</p>
<p>终点X坐标:{终点X坐标}</p>
<p>终点Y坐标:{终点Y坐标}</p>
<p>Shape_Leng:{Shape_Leng}</p>
<p>起点点号:{起点点号}</p>
<p>终点点号:{终点点号}</p>
<p>起点埋深:{起点埋深}</p>
<p>终点埋深:{终点埋深}</p>
<p>起点高程:{起点高程}</p>
<p>终点高程:{终点高程}</p>
<p>材质:{材质}</p>
<p>埋设方式:{埋设方式}</p>
<p>线型:{线型}</p>
<p>管径:{管径}</p>
<p>建设日期:{建设日期}</p>
<p>权属单位:{权属单位}</p>
<p>使用状态:{使用状态}</p>
<p>流向:{流向}</p>
<p>所在道路:{所在道路}</p>
<p>Shape_Le_1:{Shape_Le_1}</p>
<p>Shape_Length:{Shape_Length}</p>
</div>`,
};
const lineLayer = new GeoJSONLayer({
url: './data/箱涵.json',
popupTemplate: lineTemplate
});
(3)renderer 渲染器
赋给图层的渲染器。渲染器定义了如何可视化层中的每个特性。根据呈现程序类型的不同,可以使用相同的符号来显示特性,也可以根据提供的属性字段或函数的值使用不同的符号来显示特性。
但是,当从客户端特性创建FeatureLayer时,必须在层的构造函数中指定此属性以及源、字段和objectIdField属性。
layer.renderer = {
type: "simple",
symbol: {
type: "simple-marker",
size: 6,
color: "black",
outline: {
width: 0.5,
color: "white"
}
}
}<