javascript - 按地震名称(或 ID)过滤抖动图
问题描述
我的目标是能够通过or单独打开/关闭(显示或隐藏)震动强度...我在其余文档的数据字段选项中看到了 id 和 object id 的选项.. 但是,我我不确定如何实现......在我下面的代码笔中,你可以看到我正在做一个休息电话并一次返回所有的震动地图数据......我试图每个地震名称或 ID 一次返回一个。 ..所以,我可以稍后“打开”或“关闭”过滤它们......ID
name
完整代码:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<title>ArcGIS JavaScript Tutorials: Add layers to a map</title>
<style>
html, body, #viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/4.15/esri/themes/light/main.css">
<script src="https://js.arcgis.com/4.15/"></script>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/FeatureLayer",
"esri/widgets/Legend"
], function(Map, MapView, FeatureLayer, Legend) {
var map = new Map({
basemap: "gray"
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [-122, 37],
zoom: 5
});
view.ui.add(
new Legend({
view: view
}),
"bottom-left"
);
// Define a popup for USGS_Seismic_Data_v1
var popupUSGS = {
title: "Shake Intensity",
content: [
{
type: "fields",
fieldInfos: [
{
fieldName: "grid_value",
label: "Grid Value"
},
{
fieldName: "mag",
label: "Magnitude"
},
{
fieldName: "eventTime",
label: "Event Time",
format: {
dateFormat: "short-date-short-time"
}
},
{
fieldName: "updated",
label: "Updated",
format: {
dateFormat: "short-date-short-time"
}
},
{
fieldName: "url",
label: "Url"
}
]
}
]
}
// USGS_Seismic_Data_v1 feature layer (polygons)
var SeismicData = new FeatureLayer({
title: "MMI - Shake Intensity",
url: "https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USGS_Seismic_Data_v1/FeatureServer/1/",
outFields: ["mag","eventTime","url"],
popupTemplate: popupUSGS
});
map.add(SeismicData);
});
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>
解决方案
请查看 Esri 教程,设置定义表达式
你可以看看下面的代码:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Test</title>
<style>
html, body, #viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/4.15/esri/themes/light/main.css">
<script src="https://js.arcgis.com/4.15/"></script>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/FeatureLayer",
"esri/widgets/Legend"
], function(Map, MapView, FeatureLayer, Legend) {
var map = new Map({
basemap: "gray"
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [-122, 37],
zoom: 5
});
view.ui.add(
new Legend({
view: view
}),
"bottom-left"
);
// Define a popup for Shake Intensity
var popupUSGS = {
title: "Shake Intensity",
content: [
{
type: "fields",
fieldInfos: [
{
fieldName: "grid_value",
label: "Grid Value"
},
{
fieldName: "mag",
label: "Magnitude"
},
{
fieldName: "eventTime",
label: "Event Time",
format: {
dateFormat: "short-date-short-time"
}
},
{
fieldName: "updated",
label: "Updated",
format: {
dateFormat: "short-date-short-time"
}
},
{
fieldName: "url",
label: "Url"
}
]
}
]
}
// USGS_Seismic_Data_v1 feature layer (polygons)
const SeismicData = new FeatureLayer({
title: "MMI - Shake Intensity",
url: "https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USGS_Seismic_Data_v1/FeatureServer/1/",
outFields: ["mag","eventTime","url"],
popupTemplate: popupUSGS
});
// Filter - intensities less than 2.0
SeismicData.definitionExpression = "grid_value > 2",
map.add(SeismicData);
});
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>
推荐阅读
- c# - Active Directory:是否可以将项目添加到 SearchResultCollection
- sql - 我如何使用子查询来获取这里的总价?
- django - 我的登录视图一直说“使用此电子邮件的用户已经存在”。
- phpmailer - PHPMailer:我如何在纯文本版本中保留链接?
- .net - Assembly.Load 在测试用例中失败(强命名验证也失败)......为什么?
- swift - 如何在 Swift 中将 http 转换为 https URL?
- swift - 视觉格式语言并因特征而异
- java - 实现类的实例
- mongodb - 将本地 Meteor MongoDB 导入到 DigitalOcean Ubuntu 服务器
- reactjs - 浏览器窗口中的电子高度未传播