new fengmap.FMNavigation(options)
构造方法
| Name | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
|
Members
-
locationMarker
-
导航所用到的FMLocationMarker对象
Properties:
Name Type Description locationMarkerfengmap.FMLocationMarker -
readonlynaviResult
-
路径规划结果。
Properties:
Name Type Description naviResultObject Properties
Name Type Description distancenumber 路线总距离。
levelsnumber 按照起终点顺序路线所经过的楼层level数组。
subsarray 路线分段数据。
subs[].distancenumber 路段的距离。
subs[].levelsObject 路段经过的楼层,含两个元素的数组,当元素值不相等的时候,标志着是跨层路段。
subs[].instructionObject 路段描述信息{'zh':中文描述内容,'en':英文描述内容}。
subs[].waypointObject 路段途经信息。
Properties
Name Type Description directionObject 路段地理方向和相对方位描述。{'zh':[中文方向,中文方位],'en':[英文方向,英文方位]}。
pointsarray 路段坐标点集合,可用于路线绘制和约束计算。
Methods
-
clearAll()
-
清空导航类中的起始点标注, 定位标注及当前路线标注。
-
clearLocationMarker()
-
清除定位标注。
-
clearMarkers()
-
清空导航类中的起始点标注。
-
clearNaviLine()
-
清除上次调用drawNaviLine绘制的导航线。
-
dispose()
-
释放fengmap._map对象引用和内存占用。
-
drawNaviLine(options){fengmap.FMLineMarker}
-
设置完起始点后, 如果路径规划成功, 调用此方法画出导航线。需要在画线之前主动调用route方法。
Name Type Description optionsObject 线绘制参数
Name Type Description styleObject 线样式, 如不设置则使用初始化设置。详细内容参照FMLineMarker中的参数设置fengmap.FMLineMarker。
heightnumber 线高度,如不设置则使用初始化设置。
passedboolean 经过的路线是否置为灰色。如不设置则使用初始化设置。
Returns:
Type Description fengmap.FMLineMarker 返回当前绘制的线对象 -
focusNaviLineSegment(index, options, finish)
-
地图显示范围聚焦到索引为值等于index的路段, 路段信息来至于naviDescriptionsData。
Name Type Description indexint 路段下标
optionsObject 聚焦参数
Name Type Description ratioObject 聚焦比率,1.0为铺满全屏,小于1时占用屏幕更小的范围进行显示。
rotationObject 地图旋转角度。默认为0。
tiltObject 地图倾斜角度。默认为30。
finishfunction 聚焦动画结束回调。
-
locate(coords, heading)
-
用于真实导航, 设置定位系统所返回的真实定位坐标, 内部自动路径约束, 同时触发walking事件, walking事件中返回如下结果: {remain: 到终点的剩余距离, walk: 已经走过的距离, distanceToNext: 是下一个转角处的距离, angle: 当前路线与正北方向的角度, index: 当前路段的索引, point: 路径约束后的点, level, 当前的楼层id}
Name Type Description coordsObject 定位系统返回并经过坐标转换后的地图坐标点如:{x:,y:,level:1}
headingnumber 角度值, 如:45,可选
-
locateNoConstraint(coords, heading)
-
用于真实导航, 设置定位系统所返回的真实定位坐标, 内部无路径约束, 同时触发walking事件, walking事件中返回如下结果: {remain: 到终点的剩余距离, walk: 已经走过的距离, distanceToNext: 是下一个转角处的距离, angle: 当前路线与正北方向的角度, index: 当前路段的索引, point: 路径约束后的点, level, 当前的楼层id} 此方法与locate的区别为使用未约束的定位原始坐标显示定位位置, 内部仍会进行约束计算。
Name Type Description coordsObject 定位系统返回并经过坐标转换后的地图坐标点如:{x:,y:,level:1}
headingnumber 角度值, 如: 45,可选参数。
-
naviConstraint(coords){Object}
-
在路径规划完成后,得到当前实际的定位点与路径上的最近点及与这个点之间的距离
Name Type Description coordsObject {x: ,y: , level: }
Returns:
Type Description Object {coord: , distance:, index:, remain, angle} coord: 垂点的坐标 {x:, y:, level}, distance: 指定点与垂点的距离, index: 当前的点所在的线段索引,返回-1时表示约束失败,位置点无法正确到达规划路线。 remain: 导航的剩余距离, angle: 所在路段与正北方向的角度值 -
off(type, callback)
-
导航事件销毁
Name Type Description typestring 支持'walking'、'transit'、'complete'。
callbackfunction 事件回调函数
-
on(type, callback)
-
导航事件注册 同一事件支持多次绑定
Name Type Description typestring 支持'walking'、'transit'、'complete'。
callbackfunction 事件回调函数
-
overview(options, callback)
-
自适应路线全览
Name Type Description optionsObject 自适应参数
Name Type Description ratioObject 全览比率,1.0为铺满全屏,小于1时占用屏幕更小的范围进行显示。
rotationObject 地图旋转角度。默认为0。
tiltObject 地图倾斜角度。默认为30。
callbackfunction 自适应全览动画结束回调。
-
pathConstraint(coords){Object}
-
全路网路径约束
Name Type Description coordsObject {x: ,y: , level: }
Returns:
Type Description Object {coords: , distance:, angle} coords: 垂点的坐标 {x:, y:, level}, distance: 指定点与垂点的距离, angle: 所在路段与正北方向的角度值 -
pause()
-
暂停模拟导航
-
resume()
-
恢复模拟导航
-
route(options, sucess, failed)
-
路径规划计算方法,设置好起终点后需要调用该方法进行路径规划计算。
Name Type Description optionsObject 计算参数对象
Name Type Description toDoorsboolean 路径计算结果是否到达门点停止。默认为false。
modefengmap.FMNaviMode 路径规划策略,默认受构造函数参数影响, 详情参考FMNaviMode。
priorityfengmap.FMNaviPriority 路径规划梯类优先级, 默认受构造函数参数影响, 详情参考FMNaviPriority。
sucessfunction 计算成功回调,返回计算结果。计算结果可以通过naviResult属性获取。
failedfunction 计算失败回调,返回fengmap.FMRouteResult枚举。
-
setDestPoint(data, noMarker){fengmap.FMImageMarker}
-
设置终点
Name Type Description dataObject 导航终点参数对象。
Name Type Description xnumber 终点地图坐标X。
ynumber 终点地图坐标Y。
levelnumber 终点楼层level。
heightnumber 终点地图坐标距离楼层地面的高度. 如果不设置该属性, 使用FMNavigaiton的属性imageMarkerHeight。
urlstring 终点标注图片路径, 如不设置, 且使用之前设置的图片, 只是设置其位置。
sizenumber 终点标注图片大小。
noMarkerbool 是否不生成Marker对象, 不设置或者为true时, 设置起点不会生成图片标注。
Returns:
Type Description fengmap.FMImageMarker 返回添加成功的imageMarker对象, noMarker不设置或者为true时, 返回null。 -
setLanguage(language)
-
设置当前导航中的文字描述语言类型。
Name Type Description languagefengmap.FMLanguageType 目前支持中英文。如果路径规划成功, 会自动更新naviDescriptions和naviDescriptionDatas数据。
-
setStartPoint(data, noMarker){fengmap.FMImageMarker}
-
设置起点
Name Type Description dataObject 导航起点参数对象。
Name Type Description xnumber 起点地图坐标X。
ynumber 起点地图坐标Y。
levelnumber 起点楼层level。
heightnumber 起点地图坐标距离楼层地面的高度. 如果不设置该属性, 使用FMNavigaiton的属性imageMarkerHeight。
urlstring 起点标注图片路径, 如不设置, 且使用之前设置的图片, 只是设置其位置。
sizenumber 起点标注图片大小。
noMarkerbool 是否不生成Marker对象, 不设置或者为true时, 设置起点不会生成图片标注。
Returns:
Type Description fengmap.FMImageMarker 返回添加成功的FMImageMarker对象, noMarker不设置或者为true时, 返回null。 -
simulate(options)
-
Name Type Description optionsObject 模拟导航参数。
Name Type Description speednumber 模拟导航定位图标行进的速度, 单位m/s。默认5m/s。
followPositionboolean 模拟导航中在位置发生变化时, 地图是否跟随位置居中显示。默认true。
followAngleboolean 模拟导航中在方向发生变化时, 地图是否跟随方向变化, 保持路线朝向屏幕上方。 默认false。
changeTiltAngleboolean 模拟导航中楼层发生变化时是否改变地图的倾斜角度, 并执行动画。默认为true。
zoomnumber 模拟导航开始时地图的显示缩放级别, 默认值为21, 表示1:282的地图比例尺。
maxZoomnumber 模拟导航开始时地图的显示最大缩放级别, 默认值为22, 表示1:141的地图比例尺。防止视角过近。
-
stop()
-
停止模拟导航
Events
-
complete
-
模拟导航结束事件, 真实导航不会触发该事件。需要开发者根据waliking事件的返回内容, 进行业务处理。
Type:
- void
-
transit
-
模拟导航中的跨层事件
Type:
- number
Properties:
Name Type Description levelnumber 当前楼层ID.
-
walking
-
导航过程中位置发生变化时触发的事件, 模拟导航与真实导航调用locate后都都会触发。
Type:
- Object
Properties:
Name Type Description walknumber 已经走过的距离。
remainnumber 到终点的剩余距离。
distancenumber 定位点的路线偏移距离。
distanceToNextnumber 到下一个转角处的距离。
anglenumber 当前路线与正北方向的角度。
pointObject 导航约束后的点。
levelnumber 当前的楼层id。
indexnumber 当前路段的索引。