arcgis api for javascript调用arcgis server服务

使用 ArcGIS API for JavaScript 调用 ArcGIS Server 服务的步骤如下:

1. 引入 ArcGIS API for JavaScript

在你的 HTML 文件中,引入 ArcGIS API for JavaScript 的 CDN 链接:

html
<!DOCTYPE html> <html> <head> <title>ArcGIS API for JavaScript Example</title> <script src="https://js.arcgis.com/4.25/"></script> <!-- 使用最新版本 --> <style> #viewDiv { height: 100vh; width: 100%; } </style> </head> <body> <div id="viewDiv"></div> <script> require([ "esri/Map", "esri/views/MapView", "esri/layers/FeatureLayer", "esri/layers/GraphicsLayer" ], function(Map, MapView, FeatureLayer, GraphicsLayer) { // 代码将在此处编写 }); </script> </body> </html>

2. 创建地图和视图

require 的回调函数中,创建地图对象和视图对象:

javascript
require([ "esri/Map", "esri/views/MapView", "esri/layers/FeatureLayer", "esri/layers/GraphicsLayer" ], function(Map, MapView, FeatureLayer, GraphicsLayer) { var map = new Map({ basemap: "streets-navigation-vector" // 设置基础地图样式 }); var view = new MapView({ container: "viewDiv", map: map, zoom: 10, // 初始缩放级别 center: [ -118.805, 34.027 ] // 初始中心点坐标 }); });

3. 添加 ArcGIS Server 服务

3.1 FeatureLayer

如果你要添加一个 FeatureLayer(即要显示的数据图层),可以这样做:

javascript
var featureLayer = new FeatureLayer({ url: "https://yourserver.com/arcgis/rest/services/YourService/FeatureServer/0" // 替换为你的服务 URL }); map.add(featureLayer);

3.2 MapImageLayer

如果你的 ArcGIS Server 服务是一个地图服务,你可以使用 MapImageLayer

javascript
require([ "esri/layers/MapImageLayer" ], function(MapImageLayer) { var mapImageLayer = new MapImageLayer({ url: "https://yourserver.com/arcgis/rest/services/YourService/MapServer" // 替换为你的服务 URL }); map.add(mapImageLayer); });

4. 查询服务数据

可以使用 QueryQueryTask 进行数据查询:

javascript
require([ "esri/tasks/support/Query", "esri/tasks/QueryTask" ], function(Query, QueryTask) { var queryTask = new QueryTask({ url: "https://yourserver.com/arcgis/rest/services/YourService/FeatureServer/0" // 替换为你的服务 URL }); var query = new Query({ where: "1=1", // 查询条件 returnGeometry: true, outFields: ["*"] // 返回所有字段 }); queryTask.execute(query).then(function(results) { console.log(results.features); // 输出查询结果 }); });

5. 处理错误和调试

在调用 ArcGIS Server 服务时,处理可能的错误并进行调试:

javascript
queryTask.execute(query).then(function(results) { console.log(results.features); // 处理结果 }).catch(function(error) { console.error("Error:", error); // 处理错误 });

6. 样式和交互

根据需要,你可以添加更多的样式和交互功能。例如,使用 PopupTemplate 定义弹出窗口:

javascript
var featureLayer = new FeatureLayer({ url: "https://yourserver.com/arcgis/rest/services/YourService/FeatureServer/0", popupTemplate: { title: "{Name}", content: "{Description}" } });

关键字

ArcGIS API for JavaScript, ArcGIS Server, FeatureLayer, MapImageLayer, Query, QueryTask, 地图服务, 数据查询, 弹出窗口