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

模块: FMNaviAnalyser

实例化

fengmap.FMNaviAnalyser

fengmap.FMNaviAnalyser
(
  • options
)

参数:

名称类型标记描述
options Object

naviOptions对象;

示例:

var naviOpt = new fengmap.NaviOptions({
    mapServerURL:'data/scence', //直接从本地上获取模型数据
    useStatic:true
});

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 表示分析结果状态的枚举类型

示例:

//对起点和终点路径分析
if(naviAnalyser.analyzeNavi(naviGids[0],naviCoords[0],naviGids[1],naviCoords[1],fengmap.FMNaviModule.MODULE_SHORTEST) == fengmap.FMRouteCalcuResult.ROUTE_SUCCESS){
    //如果不同层
    if (naviGids[0]!=naviGids[1]) {
        //获取不同层的路径,结果为fengmap.FMNaviResult 对象集合
        var results = naviAnalyser.getNaviResults();
        if (results.length==0)
            return;
        ...
    }
}
//对起点和终点路径分析
if(naviAnalyser.analyzeNavi(naviGids[0],naviCoords[0],naviGids[1],naviCoords[1],fengmap.FMNaviModule.MODULE_SHORTEST) == fengmap.FMRouteCalcuResult.ROUTE_SUCCESS){
    //如果同层
    if (naviGids[0]==naviGids[1]) {
        //获取同层路线的坐标点
        var points = naviAnalyser.getFloorNaviPoints();
        if(points.length==0)
            return;
        ...
    }
}

getFloorNaviPoints

getFloorNaviPoints () Array

返回同层导航时的坐标点集

Returns:

[Array]

points 结果对象;

getFloorRouteLength

getFloorRouteLength () Number

同层路径分析时获得的路径长度

Returns:

[Number]

length 路径长度

getNaviGroupIds

getNaviGroupIds () Array

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

Returns:

[Array]

groupIds 所经过的所有楼层ID

getNaviGroupPoints

getNaviGroupPoints
(
  • groupId
)
Array

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

参数:

名称类型标记描述
groupId Object

楼层id

Returns:

[Array]

points 返回地图坐标点集合

getNaviResults

getNaviResults () Array

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

Returns:

[Array]

naviResults 所有路线集合

init

init
(
  • map
)

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

参数:

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

地图对象

initById

initById
(
  • sid
)

根据senceid打开模型

参数:

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

场景id

示例:

var naviAnalyser = fengmap.FMNaviAnalyser.create({});
naviAnalyser.initById('10347'); //默认从蜂鸟视图服务器读取数据
Top