方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Promise<ServiceAreaSolveResult> | 根据一组参数确定服务区域。 更多详情 | serviceArea |
方法详细说明
-
solve(url, params, requestOptions){Promise<ServiceAreaSolveResult>}
-
根据一组参数确定服务区域。
参数url String表示网络分析服务的 GeoScene Server REST 资源的 URL。
params ServiceAreaParameters定义服务区域所需的参数。
requestOptions Objectoptional用于数据请求的附加选项(将覆盖构造期间定义的 requestOptions)。
返回类型 描述 Promise<ServiceAreaSolveResult> 解析后,返回 ServiceAreaSolveResult 的实例 。 示例require([ "geoscene/config", "geoscene/Map", "geoscene/views/MapView", "geoscene/rest/serviceArea", "geoscene/rest/support/ServiceAreaParameters", "geoscene/rest/support/FeatureSet", "geoscene/Graphic", ... ], function(geosceneConfig, Map, MapView, serviceArea, ServiceAreaParams, FeatureSet, Graphic, ...) { // API key from developer's account // authenticates for the basemap and the serviceArea request geosceneConfig.apiKey = "YOUR_API_KEY"; const map = new Map({ basemap: "arcgis-newspaper" }); const view = new MapView({ container: "viewDiv", map: map, center: [-116.53818, 33.82586] zoom: 11 }); const serviceAreaUrl = "https://route-api.geoscene.cn/geoscene/rest/services/World/ServiceAreas/NAServer/ServiceArea_World/solveServiceArea"; view.on("click", function(event){ const locationGraphic = createGraphic(event.mapPoint); const serviceAreaParams = createServiceAreaParams(locationGraphic, view.spatialReference); solveServiceArea(serviceAreaUrl, serviceAreaParams); }); // Create the location graphic function createGraphic(point) { view.graphics.removeAll(); const graphic = new Graphic({ geometry: point, symbol: { type: "simple-marker", color: "white", size: 8 } }); view.graphics.add(graphic); return graphic; } function createServiceAreaParams(locationGraphic, outSpatialReference) { // Create one or more locations (facilities) to solve for const featureSet = new FeatureSet({ features: [locationGraphic] }); // Set all of the input parameters for the service const serviceAreaParameters = new ServiceAreaParams({ facilities: featureSet, trimOuterPolygon: true, outSpatialReference: outSpatialReference }); return serviceAreaParameters; } function solveServiceArea(url, serviceAreaParams) { return serviceArea.solve(url, serviceAreaParams) .then(function(result){ if (result.serviceAreaPolygons.length) { // Draw each service area polygon result.serviceAreaPolygons.forEach(function(graphic){ graphic.symbol = { type: "simple-fill", color: "rgba(62,13,94,.25)" } view.graphics.add(graphic,0); }); } }, function(error){ console.log(error); }); } });