iClient for Leaflet 开发指南 您所在的位置:网站首页 leaflet开发 iClient for Leaflet 开发指南

iClient for Leaflet 开发指南

2023-08-14 07:09| 来源: 网络整理| 查看: 265

空间分析(Spatial Analysis)是基于地理对象的位置和形态特征的空间数据分析技术,其目的在于提取和传输空间信息。SuperMap iClient for Leaflet 支持的空间分析功能包括:

缓冲区分析 泰森多边形 叠加分析 表面分析 动态分段 点定里程 里程定点 里程定线 插值分析 栅格代数运算 地形计算 核密度分析 缓冲区分析

缓冲区分析(buffer)是根据指定的距离在点、线和多边形实体周围自动建立一定宽度的区域范围的分析方法。例如,在环境治理时,常在污染的河流周围划出一定宽度的范围表示受到污染的区域;又如在飞机场,常根据附近居民的健康需要在周围划分出一定范围的区域作为非居住区等。

下面以长春数据为例,对“团结路”进行半径为10米的圆头缓冲分析,缓冲区分析的接口使用方法如下:

设置缓冲区分析参数、缓冲区通用参数。

//设置缓冲区分析参数 var dsBufferAnalystParams = new L.supermap.DatasetBufferAnalystParameters({ // 用来做缓冲区分析的数据源中数据集名称 dataset: "RoadLine2@Changchun", // 设置数据集中集合对象的过滤条件 filterQueryParameter: new L.supermap.FilterParameter({ // 属性过滤条件 attributeFilter: "NAME='团结路'" }), //缓冲区分析通用参数设置 bufferSetting: new L.supermap.BufferSetting({ // 缓冲区端点枚举值,包含FLAT和ROUND endType: L.supermap.BufferEndType.ROUND, // 左侧缓冲距离 leftDistance: {value: 10}, // 右侧缓冲距离 rightDistance: {value: 10}, // 圆头缓冲圆弧处线段的个数 semicircleLineSegment: 10 }) });

设置缓冲区分析服务对象,用于将客户端设置的缓冲区分析服务参数传递给服务端,并接收服务端返回的缓冲区分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的缓冲区分析结果做相应处理。

var serviceUrl = "https://iserver.supermap.io/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst" // 创建缓冲区分析服务 var bufferServiceByDatasets = new L.supermap.SpatialAnalystService(serviceUrl); // 向服务端发送服务请求,并获取返回的结果 bufferServiceByDatasets.bufferAnalysis(dsBufferAnalystParams,function(serviceResult){ // 获取服务端返回的数据 var result = serviceResult.result; });查看源码 »

运行效果

泰森多边形

泰森多边形是荷兰气候学家 A.H.Thiessen 提出的一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。泰森多边形又称为 Voronoi 图,是由一组连接两邻点直线的垂直平分线组成的连续多边形组成。

泰森多边形的特性为:

每个泰森多边形内仅含有一个离散点数据; 泰森多边形内的点到相应离散点的距离最近; 位于泰森多边形边上的点到其两边的离散点的距离相等。

泰森多边形的接口使用方法如下:

下面以数据集泰森多边形为例,设置泰森多边形服务对象,用于将客户端设置的泰森多边形服务参数传递给服务端,并接收服务端返回的泰森多边形分析结果数据。

var serviceUrl = "https://iserver.supermap.io/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst"; // 设置泰森多边形分析参数 var dThiessenAnalystParameters = new L.supermap.DatasetThiessenAnalystParameters({ dataset: "Factory@Changchun" }); // 创建泰森多边形分析实例 new L.supermap.SpatialAnalystService(serviceUrl).thiessenAnalysis(dsThiessenAnalystParameters,function (serviceResult) { // 获取返回的featuers数据 var features = serviceResult.result.regions; });查看源码 »

运行效果

叠加分析

叠加分析是 GIS 中的一项非常重要的空间分析功能,是指在统一空间参考系统下,通过对两个数据集进行的一系列集合运算,产生新数据集的过程,其目的是通过对空间数据的加工或分析,提取用户需要的新的空间几何信息。同时,通过叠加分析,还将对数据的各种属性信息进行处理。

目前叠加分析广泛应用于资源管理、城市建设评估、国土管理、农林牧业、统计等领域。叠加分析在各领域中的作用:

资源管理主要应用于农业和林业领域,解决农业和林业领域各种资源(如土地、森林、草场等)分布变化、统计等问题; 城市建设评估主要应用于分析城市人口、经济、建设等的发展变化,统计变化趋势和变化规律; 土地和地籍管理涉及土地使用性质变化、地块轮廓变化、地籍权属关系变化等许多内容,借助 GIS 的叠加分析功能可以高效、高质量地完成这些工作; 生态、环境的管理评价用于区域生态规划的评价、环境现状评价、环境影响评价、污染物削减分配的决策支持等; 地学研究与应用中的地形分析、流域分析、土地利用研究、经济地理研究、空间统计分析、制图等都可以借助叠加分析来完成;

下面将京津地区的行政区域与临边地区的行政区域进行叠加分析,叠加分析接口使用方法如下所示:

设置叠加分析参数:

// 设置叠加分析参数 var dsOverlayAnalyParams = new L.supermap.DatasetOverlayAnalystParameters({ // 叠加分析中源数据集的名称 sourceDataset: "BaseMap_R@Jingjin", // 叠加分析中操作数据集名称 operateDataset: "Neighbor_R@Jingjin", // 容限 tolerance: 0, // 叠加分析操作类型 operation: new L.supermap.OverlayOperationType.UNION });

设置叠加分析服务对象,用于将客户端设置的叠加分析服务参数传递给服务端,并接收服务端返回的分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的叠加分析结果做相应处理。

var serviceUrl = "https://iserver.supermap.io/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst"; // 创建叠加分析服务实例 var overlayAnalystService = new L.supermap.SpatialAnalystService(serviceUrl); // 向服务端发送服务请求,并获取返回的结果 overlayAnalystService.overlayAnalysis(dsOverlayAnalyParams, function(serviceResult) { // 获取返回的featuers数据 var features = serviceResult.result.regions; });查看源码 »

运行效果

提取等值线/面

提取等值线和提取等值面。等值线是将相邻的、具有相同值的点连起来的线,常用的等值线有等高线、等深线、等温线、等压线、等降水量线等。等值线的分布反映了栅格表面上值的变化,等值线分布越密集的地方,表示栅格表面值的变化比较剧烈。等值线分布较稀疏的地方,表示栅格表面值的变化较小。通过提取等值线,可以找到高程、温度、降水量等值相同的位置,同时等值线的分布状况也可以反映出变化的陡峭和平缓区。等值面是由相邻的等值线封闭组成的面,等值面的变化可以很直观地表示出相邻等值线之间的变化,诸如高程、降水、温度或大气压力等。通过提取等值面可以获得高程、降水、温度等值相同的地方。

本节将通过从全国平均气温采样点中提取等值线的功能来具体说明表面分析的接口使用。

设置表面分析参数、表面分析提取操作参数。

// 剪裁区域设置 var region = L.polygon([[4010338,0],[4010338,1063524],[3150322,1063524],[3150322,0]]); // 表面分析参数设置 var extractParams = new L.supermap.SurfaceAnalystParametersSetting({ datumValue: 0, // 表面分析中提取等值线基准值 interval: 2, // 等值距,两条等值线之间的间隔值 resampleTolerance: 0, // 重采样容限 smoothMethod: new L.supermap.SmoothMethod.BSPLINE, // 光滑处理所使用的方法 smoothness: 3, // 等值线的光滑度 clipRegion: region // 裁剪对象 }); // 表面分析提取操作参数 var surfaceAnalystParams = new L.supermap.DatasetSurfaceAnalystParameters({ extractParameter: extractParams, // 表面分析参数 dataset: "SamplesP@Interpolation", // 叠加分析中源数据集名称 resolution: 3000, // 中间结果分辨率 zValueFieldName: "AVG_TMP" // 用于提取操作的字段名称 });

设置表面分析服务对象,用于将客户端设置的表面分析服务参数传递给服务端,并接收服务端返回的表面分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的表面分析结果做相应处理。

var serviceUrl = "https://iserver.supermap.io/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst" ; //创建表面分析服务实例 var surfaceAnalystService = new L.supermap.SpatialAnalystService(serviceUrl); // 向服务端发送请求,并对返回的结果进行处理 surfaceAnalystService.surfaceAnalysis(surfaceAnalystParams, function (serviceResult) { // 获取返回的featuers数据 var features = serviceResult.result.regions; });查看源码 »

运行效果

动态分段

动态分段技术是在传统 GIS 数据模型的基础上,利用线性参考技术,实现属性数据在地图上动态地显示、分析及输出等,是 GIS 空间分析中的一个重要技术手段。它不是在线要素沿线上某种属性发生变化的地方进行“物理分段”,而是在传统的 GIS 数据模型的基础上利用线性参考系统的思想及算法,将属性的沿线变化存储为独立的属性表字段(事件属性表);在分析、显示、查询和输出时直接依据事件属性表中的距离值对线性要素进行动态逻辑分段,使用相对位置描述发生在线上的事件,比传统 GIS 要素更容易定位。除此之外,该技术还提高了数据制作效率和数据存储空间利用率,降低了数据维护的复杂度。目前已广泛应用于公共交通管理、路面质量管理、航海线路模拟、通讯网络管理、电网管理等诸多领域。

本专题将以长春市道路的数据为例,根据某一时刻的某些道路出现拥堵和车路段辆较多现象,利用动态分段技术在客户端实时动态显示出道路的路况(拥挤/缓行/畅通),以提示驾驶人员避免进入拥堵路段,选择合适的行驶路线。动态分段接口使用方法如下:

在客户端设置用于向服务端发送的动态分段各参数,包括数据返回选项 DataReturnOption、动态分段参数 generateSpatialDataParams。

// 配置动态分段参数 var generateSpatialDataParams = new L.supermap.GenerateSpatialDataParameters({ routeTable: "RouteDT_road@Changchun", // 路由数据集 // 路由数据集的标识字段,即路由ID routeIDField: "RouteID", // 用于生成空间数据的事件表名 eventTable: "LinearEventTabDT@Changchun", // 用于生成空间数据的事件表的路由标识字段 eventRouteIDField: "RouteID", measureField: "", // 用于生成空间数据的事件表的刻度字段 measureStartField: "LineMeasureFrom", // 事件表的起始刻度字段 measureEndField: "LineMeasureTo", // 事件表的终止刻度字段 measureOffsetField: "", // 刻度偏移量字段 errorInfoField: "", // 错误信息字段 //设置数据返回选项 dataReturnOption: new L.supermap.DataReturnOption({ expectCount: 1000, // 设置返回的最大记录数 dataset: "generateSpatialData@Changchun", // 如果用户命名的结果数据集名称与已有的数据集重名, 则删除已有的数据集 deleteExistResultDataset: true, // 设置数据返回模式为DATASET_ONLY,返回数据集的名称 dataReturnMode: L.supermap.DataReturnMode.DATASET_ONLY }) });

定义动态分段服务对象,用于将客户端设置的动态分段分析服务参数( generateSpatialDataParams )传递给服务端,并接收服务端返回的动态分段分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可在客户端对获得的动态分段空间数据做相应处理,将空间数据中的路况信息以专题图的形式展现给用户。

var serviceUrl = "https://iserver.supermap.io/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst" // 创建动态分段服务实例 var generateSpatialDataService = new L.supermap.SpatialAnalystService(serviceUrl); // 向服务端发送请求,并将返回的结果以专题图的形式展现在客户端 generateSpatialDataService.generateSpatialData(generateSpatialDataParams, function (serviceResult) { // 获取返回的数据 var result = serviceResult.result; });查看源码 »

运行效果

点定里程

点定里程是计算路由上某点到起始点的 M 值,实际应用情景例如知道某事故发生的位置确定该点位于某路口距离。

下面以长春数据为例,计算一条路上(路由 ID 为1690的路由)发生交通事故的地点到该条路路口的距离。

点定里程接口使用方法如下:

地图加载完成后进行点定里程分析服务,首先根据 RouteID 获得路由对象,路由对象查询成功之后才能进行后续的点定里程操作。

// 通过SQL查询建立路由 var queryBySQLService = new L.supermap.QueryService(baseUrl); // 设置SQL查询参数 var queryBySQLParams = new L.supermap.QueryBySQLParameters({ queryParams: [ new L.supermap.FilterParameter({ name: "RouteDT_road@Changchun", attributeFilter: "RouteID=1690" })] }); // 创建SQL查询 queryBySQLService.queryBySQL(queryBySQLParams, function (serviceResult) { // 获取SQL查询结果 var queryBySQLResult = SQLQueryServiceResult.result.recordsets[0].features; // 将形成路由的点提出来,为了构造下面点定里程服务sourceRoute var pointsList = []; var routeObj = queryBySQLResult.features[0].geometry.coordinates[0]; for (var i = 0; i 查看源码 »

运行效果

里程定点

里程定点是根据指定路由上的 M 值来定位点。应用情景与点定里程相反,如知道某事故距离某路口位置,需要确定其相对精确的坐标的时候使用。

下面以长春数据为例,确定一条发生交通事故的路上(路由 ID 为1690的路由)与路口距离为10km的事故点,里程定点的接口使用方法:

地图加载完成后进行里程定点分析服务,首先根据 RouteID 获得路由对象,路由对象查询成功之后才能进行后续的里程定点操作。

// 通过SQL查询建立路由 var queryBySQLService = new L.supermap.QueryService(baseUrl); // 设置SQL查询参数 queryBySQLParams = new L.supermap.QueryBySQLParameters({ queryParams: [ new L.supermap.FilterParameter({ name: "RouteDT_road@Changchun", attributeFilter: "RouteID=1690" })] }); // 创建SQL查询 queryBySQLService.queryBySQL(queryBySQLParams, function (serviceResult) { // 将形成路由的点提出来,为了构造下面里程定点服务sourceRoute属性的routeLine var pointsList = []; var routeObj = serviceResult.result.recordsets[0].features.features[0].geometry.coordinates[0]; for (var i = 0; i 查看源码 »

运行效果

里程定线

里程定线是根据指定线的范围来确定路由上对应的线对象。应用场景如当知道某一路段发生阻塞,能够确定该路段相对精确的位置范围。

下面以长春数据为例,一条路(路由ID为1690的路由)在距离路口 10-800km 之间的发生堵塞。

地图加载完成后进行里程定线分析服务,首先根据 RouteID 获得路由对象,路由对象查询成功之后才能进行后续的里程定线操作。里程定线的接口使用方法如下:

// 通过SQL查询的方法建立路由 var queryBySQLService = new L.supermap.QueryService(baseUrl); // SQL查询服务参数设置 var queryBySQLParams = new L.supermap.QueryBySQLParameters({ queryParams: [ new L.supermap.FilterParameter({ name: "RouteDT_road@Changchun", attributeFilter: "RouteID=1690" })] }); // 创建SQL查询 queryBySQLService.queryBySQL(queryBySQLParams, function (serviceResult) { // 将形成路由的点提出来,为了构造下面里程定点服务sourceRoute属性的routeLine var pointsList = []; var routeObj = serviceResult.result.recordsets[0].features.features[0].geometry.coordinates[0]; for (var i = 0; i 查看源码 »

运行效果

插值分析

插值分析可以将有限的采样点数据,通过插值对采样点周围的数值情况进行预测,从而掌握研究区域内数据的总体分布状况,而使采样的离散点不仅仅反映其所在位置的数值情况,而且可以反映区域的数值分布。SuperMap 中提供三种插值方法,分别是:距离反比权重法(IDW)、克吕金插值方法(Kriging)、径向基函数插值法(RBF)。选用何种方法进行插值分析,通常取决于样点数据的分布和要创建表面的类型。

无论选择哪种插值方法,已知点的数据越多,分布越广,插值结果将越接近实际情况。下面以距离反比权重法为例。

//创建点密度插值分析参数实例 var interpolationAnalystParameters = new L.supermap.InterpolationIDWAnalystParameters({ //用于做插值分析的数据源中数据集的名称 dataset: "SamplesP@Interpolation", //插值分析结果数据集的名称 outputDatasetName: "IDW_result", //插值分析结果数据源的名称 outputDatasourceName: "Interpolation", //结果栅格数据集存储的像素格式 pixelFormat: L.supermap.PixelFormat.DOUBLE, //存储用于进行插值分析的字段名称 zValueFieldName: "AVG_TMP", resolution: 7923.84989108, //采取固定点数查找参与运算点的方式 searchMode: "KDTREE_FIXED_COUNT", //固定点数查找方式下,参与插值运算的点数默认为12。 expectedCount: 12, bounds: L.bounds([-2640403.63, 1873792.1], [3247669.39, 5921501.4]) }); //创建点密度插值分析服务实例 var interpolationAnalystService = new L.supermap.SpatialAnalystService(serviceUrl).interpolationAnalysis(interpolationAnalystParameters, function (serviceResult) { // 获取服务端返回的数据 interpolationAnalystResult = serviceResult.result; });查看源码 »

运行效果

栅格代数运算

栅格代数运算是运用代数学的观点对地理特征和现象进行空间分析,即对一个或多个栅格数据进行数学运算和函数运算。同时,运算得出的结果栅格数据的像元值是由一个或多个输入栅格数据的同一位置的像元值通过代数运算得到的。

为了更好地实现栅格代数运算功能,SuperMap 提供了丰富的运算符、函数和运算表达式,除了常用的算术运算(如加、减、乘、除和取整等)方法,还支持通过用户自定义的表达式,来进行栅格的算术运算、条件运算、逻辑运算、函数运算(包括常用函数、三角函数等)和复合运算,用户可以通过栅格代数运算实现多种栅格分析需求。

栅格代数运算接口使用方法如下:

//创建栅格代数运算服务实例 var mathExpressionAnalysisService = new L.supermap.SpatialAnalystService(serviceUrl); //创建栅格代数运算参数实例 var mathExpressionAnalysisParameters = new L.supermap.MathExpressionAnalysisParameters({ //指定数据集,必设 dataset: "JingjinTerrain@Jingjin", //要执行的栅格运算代数表达式,必设 expression: "[Jingjin.JingjinTerrain] + 600", //存储结果数据集的数据源,必设 targetDatasource: "Jingjin", //结果数据集名称,必设 resultGridName: "MathExpressionAnalysis_Result", deleteExistResultDataset: true }); //向iServer发起栅格代数运算请求 mathExpressionAnalysisService.mathExpressionAnalysis(mathExpressionAnalysisParameters, function (serviceResult) { //获取服务端返回的数据 var mathExpressionAnalysisResult = serviceResult.result; });查看源码 »

运行效果

地形计算

地形计算又称地形曲率计算,栅格数据表面的曲率,包括平均曲率、剖面曲率和平面曲率。曲率是表面的二阶导数,或者可称之为坡度的坡度。输出结果为地形栅格每个像元的表面曲率,该值通过将该像元与八个相邻像元拟合而得。结果输出为栅格数据集,可输出曲率类型为:平均曲率、剖面曲率和平面曲率,平均曲率为必须输出的结果,剖面曲率和平面曲率为可选择输出。其中,剖面曲率是指沿最大斜率方向的曲率,平面曲率是指垂直于最大斜率方向的曲率。

设置曲率计算的栅格数据集有以下几个:

数据源:列出了当前工作空间中所有的数据源,选择要进行曲率计算的栅格数据集所在的数据源; 数据集:列出了当前数据源中所有的栅格数据集,在列表中选择曲率计算栅格数据集。若在工作空间管理器中选中了栅格数据集,则会自动定位到该数据集; 高程缩放系数:计算曲率时,要求地形栅格值(即高程值)的单位与 x,y 坐标的单位相同,通常需要将高程值乘以一个高程缩放系数,使得三者单位一致。例如,X、Y 方向上的单位是米,而 Z 方向的单位是英尺,由于 1 英尺等于 0.3048 米,则需要指定缩放系数为 0.3048。如果设置为 1,表示不缩放。

在进行地形计算处理之前,需要先初始化地图。

地图加载完成后进行地形计算分析服务。

// 设置地形曲率计算服务参数 var terrainCurvatureCalculationParameters = new L.supermap.TerrainCurvatureCalculationParameters({ dataset: "JingjinTerrain@Jingjin", zFactor: 1.0, averageCurvatureName: "CurvatureA", deleteExistResultDataset: true }); // 创建地形曲率计算服务实例 var terrainCurvatureCalculationService = new L.supermap.SpatialAnalystService(serviceUrl); // 向iServer发起地形曲率计算请求 var terrainCurvatureCalculationService.terrainCurvatureCalculate(terrainCurvatureCalculationParameters, function (serviceResult) { // 获取服务端返回的数据 var terrainCurvatureCalculationResult = serviceResult.result; });查看源码 »

运行效果

核密度分析

核密度分析用于计算点、线要素测量值在指定邻域范围内的单位密度。简单来说,它能直观地反映出离散测量值在连续区域内的分布情况。其结果是中间值大周边值小的光滑曲面,栅格值即为单位密度,在邻域边界处降为0。

密度分析可用于计算人口密度、建筑密度、获取犯罪情况报告、旅游区人口密度监测、连锁店经营情况分析等等。例如:

某街区分布了多栋高层公寓及住宅,已知每栋的入住人数,想要了解街区内各处的人口分布情况,即可使用此功能,相当于将每栋楼的人口数量以核函数的变化趋势分布到指定的圆形邻域内,然后对重叠区域进行加和,最后得到街区内各处的人口密度。而人口密度结果可用于店铺选址决策、犯罪率估算等。

在进行核密度分析之前,需要先初始化地图。

地图加载完成后进行核密度分析服务。

//创建点密度插值分析参数实例 var densityAnalystParameters = new L.supermap.DensityKernelAnalystParameters({ //指定数据集 dataset: "Railway@Changchun", //指定范围 bounds: L.bounds([3800, -3800], [8200, -2200]), //指定数据集中用于核密度分析的字段 fieldName: "SmLength", //Railway@Changchun的单位是米 searchRadius: 50, // 结果数据集名称 resultGridName: "KernelDensity_Result", deleteExistResultDataset: true }); //创建核密度分析服务实例 var densityAnalystService = new L.supermap.SpatialAnalystService(serviceUrl); densityAnalystService.densityAnalysis(densityAnalystParameters, function (densityServiceResult) { // 获取服务端返回的数据 var densityAnalystResult = serviceResult.result; }); 查看源码 »

运行效果

交通换乘分析

交通换乘分析的使用方法如下:

定义起始站点和终点站点名查询函数; 进行交通换乘查询,首先需在客户端设置用于向服务端发送的交通换乘参数,其次定义交通换乘服务,用于向服务端发送请求并从服务端获得交通换乘结果数据,最后将返回的结果在客户端进行展示。

下面以长春交通数据模拟的公交线路数据为例,起点为省汽修,终点为中安大厦,范例提供了最少时间的换乘策略,用户可根据自己的需要选择最为合适的出行路线。

1. 交通换乘方案查询

交通方案查询:该方法返回所有的乘车方案,根据方案中的介绍信息可以获取具体的乘车路线。实现过程首先需要设置交通换乘参数,需要设置的参数包括 solutionCount、transferTactic、walkingRatio、points,定义交通换乘服务函数,向服务端发送请求,待服务端成功处理并返回交通换乘结果数据。

// 定义公交换乘方案查询 paths.points = [26, 180]; // 配置公交换乘方案查询参数 var params = new L.supermap.TransferSolutionParameters({ //最大换乘导引数量 solutionCount: 6, //公交换乘策略类型 transferTactic: LESS_TIME, //步行与公交的消耗权重比 walkingRatio: 10, //起始点坐标 points: paths.points }); var serviceUrl = "https://iserver.supermap.io/iserver/services/traffictransferanalyst-sample/restjsr/traffictransferanalyst/Traffic-Changchun"; // 向服务器发送请求,并获取返回的结果 new L.supermap.TrafficTransferAnalystService(serviceUrl) .analysisTransferSolution(params, function (serviceResult) { // 获取服务端返回的结果 var result = serviceResult.result; });查看源码 »

2. 乘车路线查询

根据换乘方案查询结果( transferSolutions )得到的乘车方案,获取某一条乘车路线的详细信息。

// 设置查询参数 var params = new L.supermap.TransferPathParameters({ // 起始点坐标 points: paths["points"], // 当前换乘路线,包含路线ID、起止点等 transferLines: transLines }); // 向服务端发送请求并获取数据 new L.supermap.TrafficTransferAnalystService(serviceUrl) .analysisTransferPath(params, function (serviceResult) { // 获取返回的路线的详细信息 var transGuide = serviceResult.result; }); }查看源码 »

运行效果

这里仅展示最少时间查询结果,其中起始站点为省汽修,终点站点为中安大厦,查询效果如下所示:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有