FMNaviAnalyser 是可分析最短路径、最快路径并返回分析结果的路径类

模块: Navigation

实例化

fengmap.FMNaviAnalyser

fengmap.FMNaviAnalyser
(
  • options
)

参数:

名称类型标记描述
options fengmap.NaviOptions

naviOptions对象

示例:

//配置路径数据
var naviOpt = new fengmap.NaviOptions({
    mapServerURL:'data/scence' //直接从本地文件夹上获取地图数据,默认从fengmap服务器上获取。也可配置为其他服务器
});
var naviAnalyser = fengmap.FMNaviAnalyser.create({});
//方法1:默认从蜂鸟视图服务器读取数据
naviAnalyser.initById('10347'); 

//方法2:在map的loadcomplete事件中,使用已加载过的地图数据加载路径数据。
map.on('loadComplete', function() {
    naviAnalyser.init(map);
});
//对起点和终点路径分析
if(naviAnalyser.analyzeNavi(naviGids[0],naviCoords[0],naviGids[1],naviCoords[1],fengmap.FMNaviModule.MODULE_SHORTEST) == fengmap.FMRouteCalcuResult.ROUTE_SUCCESS){
    //获取路径分析后的结果,结果为fengmap.FMNaviResult 对象集合
    var results = naviAnalyser.getNaviResults();
    if (results.length==0)
        return;
}

analyzeNavi

analyzeNavi
(
  • startGroupId
  • start
  • endGroupId
  • end
  • module
)
fengmap.FMRouteCalcuResult

根据已加载的fengmap.FMMap导航分析

参数:

名称类型标记描述
startGroupId Number

起始楼层id

start fengmap.FMMapCoord

起始坐标点

endGroupId Number

结束楼层id

end fengmap.FMMapCoord

结束坐标点

module fengmap.FMNaviModule

代表最优路径/最短路径的枚举类型

Returns:

[fengmap.FMRouteCalcuResult]

FMRouteCalcuResult 表示分析结果状态的枚举类型

getNaviResults

getNaviResults () Array

获取路径分析结果对象,可能集合为空

Returns:

[Array]

naviResults 所有路线集合

getRouteAllPoints

getRouteAllPoints () Array

返回路径分析后的所有坐标点集

Returns:

[Array]

points 结果对象.格式为:[{"x":x,"y":y,"groupId":groupId}];

getRouteDescriptions

getRouteDescriptions
(
  • navResult
  • params
)
JSON

得到路径规划后的文字描述

参数:

名称类型标记描述
navResult FMNaviResult

FMNaviResult对象

params JSON

{ directionAssert: 10, // 10 度, 正方向的断定阀值, 默认左右10度 combineAsset: 5, // 5 度, 小于些值的转角将被忽略 }

Returns:

[JSON]

{ naviDescriptions: // 路径的文字描述数组 [str, str , ...] naviDescriptionsData: // 路径的描述数据,用户可以用此数据自己组织描述文字 [json, json, ...] naviDistance: // 导航的路径长度, 单位米 naviGroupsDistance: // 每一层的导航长度 }

getRouteDistance

getRouteDistance
(
  • routeResPoints
)
Number

获得路径分析后的路径长度

参数:

名称类型标记描述
routeResPoints Array

路径分析返回的结果集合

Returns:

[Number]

length 路径长度

getRouteGroupIds

getRouteGroupIds () Array

获得不同层路径导航时,其所有经过的楼层id数组

Returns:

[Array]

groupIds 所有

getRouteGroupPoints

getRouteGroupPoints
(
  • groupId
)
Array

跨层路径规划时,获取当前在组下地图坐标的集合

参数:

名称类型标记描述
groupId Object

楼层id

Returns:

[Array]

groupIds 所有

getRouteLineSegments

getRouteLineSegments () Array

返回根据路径结果列表得到所要画线的点集

Returns:

[Array]

FMSegment 折线集合;

init

init
(
  • map
)

根据已加载的fengmap.FMMap初始化导航

参数:

名称类型标记描述
map fengmap.FMMap

地图对象

initById

initById
(
  • sid
)

根据senceid打开模型

参数:

名称类型标记描述
sid String | Number

场景id

Top