new fengmap.FMNavigation(options)
构造方法
Name | Type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
|
- Deprecated
- 3.1.5版本及以后版本将不可用。
- See:
-
- FMNavigationWalk
- FMNavigationDrive
Members
-
locationMarker
-
导航所用到的FMLocationMarker对象
Properties:
Name Type Description locationMarker
fengmap.FMLocationMarker -
readonlynaviResult
-
路径规划结果。
Properties:
Name Type Description naviResult
Object Properties
Name Type Description distance
number 路线总距离。
buildings
array 按照起终点顺序依次经过的建筑、楼层和距离信息数组。
buildings[].distance
number 建筑内路线的距离。
buildings[].levels
array 建筑内按照起终点顺序路线所经过的楼层level数组。
buildings[].buildingID
string 建筑ID.
subs
array 路线分段数据。
subs[].distance
number 路段的距离。
subs[].buildingID
string 路段所在的建筑ID。
subs[].levels
object 路段经过的楼层,含两个元素的数组,当元素值不相等的时候,标志着是跨层路段。
subs[].instruction
object 路段描述信息{'zh':中文描述内容,'en':英文描述内容}。
subs[].transfer
fengmap.FMNaviTransfer 路段换乘节点枚举值, 详情参考FMNaviTransfer。
subs[].waypoint
object 路段途经信息。
Properties
Name Type Description direction
object 路段地理方向和相对方位描述。{'zh':[中文方向,中文方位],'en':[英文方向,英文方位]}。
points
array 路段坐标点集合,可用于路线绘制和约束计算。
subs[].viapoint
array 路段经过的途经点,与传入参数内容一致。
door
object 门点
Methods
-
inherited clearAll()
-
清空导航类中的起始点标注, 定位标注及当前路线标注。
-
inherited clearLocationMarker()
-
清除定位标注。
-
inherited clearMarkers()
-
清空导航类中的起终点标注
-
inherited clearNaviLine()
-
清除上次调用drawNaviLine绘制的导航线。
-
inherited dispose()
-
释放fengmap._map对象引用和内存占用。
-
inherited drawNaviLine(options){fengmap.FMLineMarker}
-
设置完起始点后, 如果路径规划成功, 调用此方法画出导航线。需要在画线之前主动调用route方法。
Name Type Description options
Object 线绘制参数
Name Type Description style
Object 线样式, 如不设置则使用初始化设置。详细内容参照FMLineMarker中的参数设置fengmap.FMLineMarker。
height
number 线高度,如不设置则使用初始化设置。
passed
boolean 经过的路线是否置为灰色。如不设置则使用初始化设置。
Returns:
Type Description fengmap.FMLineMarker 返回当前绘制的线对象 -
inherited focusNaviLineSegment(index, options, finish)
-
地图显示范围聚焦到索引为值等于index的路段, 路段信息来至于naviDescriptionsData。
Name Type Description index
int 路段下标
options
Object 聚焦参数
Name Type Description ratio
Object 聚焦比率,1.0为铺满全屏,小于1时占用屏幕更小的范围进行显示。
rotation
Object 地图旋转角度。默认为0。
tilt
Object 地图倾斜角度。默认为30。
finish
function 聚焦动画结束回调。
-
inherited getSpeed()
-
获取当前模拟导航速度
-
inherited locate(coords, heading)
-
用于真实导航, 设置定位系统所返回的真实定位坐标, 内部自动路径约束, 同时触发walking事件, walking事件中返回如下结果: {distance: 定位点到最近路径的距离, remain: 到终点的剩余距离, walk: 已经走过的距离, distanceToNext: 是下一个转角处的距离, angle: 当前路线与正北方向的角度, index: 当前路段的索引, point: 路径约束后的点, level: 当前的楼层id, buildingID: 当前的建筑id}
Name Type Description coords
Object 定位系统返回并经过坐标转换后的定位点坐标如:{x:,y:,level:,buildindID: },当不存在buildingID时,默认为园区。
heading
number 角度值, 如:45,默认使用路径约束结果
-
inherited locateNoConstraint(coords, heading)
-
用于真实导航, 设置定位系统所返回的真实定位坐标, 内部无路径约束, 同时触发walking事件, walking事件中返回如下结果: {distance: 定位点到最近路径的距离, remain: 到终点的剩余距离, walk: 已经走过的距离, distanceToNext: 是下一个转角处的距离, angle: 当前路线与正北方向的角度, index: 当前路段的索引, point: 路径约束后的点, level: 当前的楼层id, buildingID: 当前的建筑id}} 此方法与locate的区别为使用未约束的定位原始坐标显示定位位置, 内部仍会进行约束计算。
Name Type Description coords
Object 定位系统返回并经过坐标转换后的地图坐标点如:{x:,y:,level:,buildindID:},当不存在buildingID时,默认为园区。
heading
number 角度值, 如: 45,可选参数。
-
inherited naviConstraint(coords){object}
-
路径规划完成后, 进行导航约束, 根据传入的定位点坐标, 返回约束点信息, 具体见返回对象的属性
Name Type Description coords
object {x: ,y: , level: ,buildingID: },当不存在buildingID时,默认为园区。
Returns:
Type Description object {coords:, distance:, index:, remain:, angle: } coords: 定位点到离它最近路径的垂点的坐标 {x:, y:, level:, buildingID:,}, distance: 定位点与垂点的距离, index: 垂点所在的路段索引,返回-1时表示约束失败, remain: 导航的剩余距离, angle: 所在路段与正北方向的角度值 -
off(type, callback)
-
导航事件销毁
Name Type Description type
string 支持'walking'、'transit'、'complete'。
callback
function 事件回调函数
-
on(type, callback)
-
导航事件注册 同一事件支持多次绑定
Name Type Description type
string 支持'walking'、'transit'、'complete'。
callback
function 事件回调函数
-
inherited overview(options, callback)
-
自适应路线全览
Name Type Description options
Object 自适应参数
Name Type Description ratio
Object 全览比率,1.0为铺满全屏,值越大全览看到的地图范围越大(对应的显示级别取值越小);值越小全览看到的地图范围越小(对应的显示级别取值越大)
rotation
Object 地图旋转角度。默认为0。
tilt
Object 地图倾斜角度。默认为30。
callback
function 自适应全览动画结束回调。
-
inherited pathConstraint(coords){object}
-
全路网路径约束
Name Type Description coords
object {x: ,y: , level: ,buildingID:} 指定点坐标, 当不存在buildingID时,默认为园区。
Returns:
Type Description object {coords: , distance:, angle, road: } 约束点信息,具体如下 coords: object, 指定点到最近路径的垂点坐标 {x:, y:, level}, 最近的路径为约束路径 distance: number, 指定点与垂点的距离, angle: number, 约束路径与正北方向的角度值 road: object, 约束路径的信息 buildingID: 当不存在buildingID时,默认为园区 -
inherited pause()
-
暂停模拟导航
-
inherited resume()
-
恢复模拟导航
-
inherited route(options, success, failed)
-
路径规划计算方法,设置好起终点后需要调用该方法进行路径规划计算。
Name Type Description options
object 计算参数对象
Name Type Description toDoors
boolean 路径计算结果是否到达门点停止。默认为false。
request.viapoints
array [{x,y,level,buildingID,...},...]途经点数组,除x,y,level途经点坐标必须参数内容,当不存在buildingID时,默认为园区,可以增加扩展信息。
mode
fengmap.FMNaviMode 路径规划策略,默认受构造函数参数影响, 详情参考FMNaviMode。
priority
fengmap.FMNaviPriority 路径规划梯类优先级, 默认受构造函数参数影响, 详情参考FMNaviPriority。
success
function 计算成功回调,返回计算结果。计算结果可以通过naviResult属性获取。
failed
function 计算失败回调,返回fengmap.FMRouteResult枚举。
-
inherited setDestPoint(data, noMarker){fengmap.FMImageMarker}
-
设置终点
Name Type Description data
Object 导航终点参数对象。
Name Type Description x
number 终点地图坐标X。
y
number 终点地图坐标Y。
level
number 终点楼层level。
buildingID
string 终点建筑ID。
height
number 终点地图坐标距离楼层地面的高度. 如果不设置该属性, 使用FMNavigaiton的属性imageMarkerHeight。
url
string 终点标注图片路径, 如不设置, 且使用之前设置的图片, 只是设置其位置。
size
number 终点标注图片大小。
anchor
FMMarkerAnchor {FMMarkerAnchor} 锚点位置,默认为BOTTOM。
depth
bool 渲染深度,true:开启深度,false:关闭深度,默认为false。
collision
bool 避让,true:开启避让,false:关闭避让,默认为false。
noMarker
bool 是否不生成Marker对象, 不设置或者为true时, 设置起点不会生成图片标注。
Returns:
Type Description fengmap.FMImageMarker 返回添加成功的imageMarker对象, noMarker不设置或者为true时, 返回null。 -
inherited setLanguage(language)
-
设置当前导航中的文字描述语言类型。
Name Type Description language
fengmap.FMLanguageType 目前支持中英文。如果路径规划成功, 会自动更新naviDescriptions和naviDescriptionDatas数据。
-
inherited setSpeed(speed)
-
设置模拟导航速度
Name Type Description speed
number 模拟导航速度。
-
inherited setStartPoint(data, noMarker){fengmap.FMImageMarker}
-
设置起点
Name Type Description data
Object 导航起点参数对象。
Name Type Description x
number 起点地图坐标X。
y
number 起点地图坐标Y。
level
number 起点楼层level。
buildingID
string 起点建筑ID, 当起点不在建筑内则不设置。
height
number 起点地图坐标距离楼层地面的高度. 如果不设置该属性, 使用FMNavigaiton的属性imageMarkerHeight。
url
string 起点标注图片路径, 如不设置, 且使用之前设置的图片, 只是设置其位置。
size
number 起点标注图片大小。默认大小64。
anchor
FMMarkerAnchor {FMMarkerAnchor} 锚点位置,默认为BOTTOM。
depth
bool 渲染深度,true:开启深度,false:关闭深度,默认为false。
collision
bool 避让,true:开启避让,false:关闭避让,默认为false。
noMarker
bool 是否不生成Marker对象, 不设置或者为true时, 设置起点不会生成图片标注。
Returns:
Type Description fengmap.FMImageMarker 返回添加成功的FMImageMarker对象, noMarker不设置或者为true时, 返回null。 -
inherited simulate(options)
-
Name Type Description options
Object 模拟导航参数。
Name Type Description speed
number 模拟导航定位图标行进的速度, 单位m/s。默认5m/s。
followPosition
boolean 模拟导航中在位置发生变化时, 地图是否跟随位置居中显示。默认true。
followAngle
boolean 模拟导航中在方向发生变化时, 地图是否跟随方向变化, 保持路线朝向屏幕上方。 默认false。
changeTiltAngle
boolean 模拟导航中楼层发生变化时是否改变地图的倾斜角度, 并执行动画。默认为true。
zoom
number 模拟导航开始时地图的显示缩放级别, 默认值为21, 表示1:282的地图比例尺。
maxZoom
number 模拟导航开始时地图的显示最大缩放级别, 默认值为22, 表示1:141的地图比例尺。防止视角过近。
-
inherited stop()
-
停止模拟导航
Events
-
complete
-
模拟导航结束事件, 真实导航不会触发该事件。需要开发者根据waliking事件的返回内容, 进行业务处理。
Type:
- void
-
transit
-
模拟导航中的跨层事件
Type:
- number
Properties:
Name Type Description level
number 当前楼层ID.
-
walking
-
导航过程中位置发生变化时触发的事件, 模拟导航与真实导航调用locate后都都会触发。
Type:
- Object
Properties:
Name Type Description walk
number 已经走过的距离。
remain
number 到终点的剩余距离。
distance
number 定位点的路线偏移距离。
distanceToNext
number 到下一个转角处的距离。
angle
number 当前路线与正北方向的角度。
point
Object 导航约束后的点。
buildingID
string 当前的建筑id,当不存在时为园区。
level
number 当前的楼层id。
index
number 当前路段的索引。