@ expofp/ 公路搜索
ExpoFP SDK框架中立的路径搜索: 路由/吸附引擎
和场景渲染器 没有 组合到
effp商店或MobX. core 财务报告和审定财务报表 runtime 环境不可知; 场景
渲染器假设类似浏览器的环境( :requestAnimationFrame, (中文(简体) ), document, (中文(简体) ),
因此软件包不适合节点/SSR作为-is. 三层都坐在两层后面
切入点: initWayfindingLayers,用于构建主机的层块
要挂载,和 createWayfinding在现场找到它并填满它.
安装
pnpm add @expofp/wayfinding @expofp/renderer
@expofp/renderer 是一个 同伴依赖 消费者必须安装:
包的公用类型(例如:. RenderableDef 打开 Wayfinding编号 :RendererPort(中文(简体) )
因此,它的类型必须解决 @expofp/wayfinding是因为 .d.ts 要编译.
层
| 层 | 这是什么 |
|---|---|
core | 图形构建 + A* 路径勘察,路线几何,快取,过渡点. 纯功能. |
runtime | 紧急指挥员setRoute 编号 : setPosition 编号 : notifyFloorChanged发动机上. |
renderer | 场景变异器(相机、小径、路线线)对抗被注射者 RendererPort。 。 。 . |
这些地层是内部的. 软件包只输出 createWayfinding
伪装, initWayfindingLayers (它进入的层块,供主机使用)
挂载) resolveWayfindingLayers (又在一幕中发现了那个街区),
端口接口
CURRENT_POSITION_POINT_ID 协议发送器和 optimizeWaypointOrder
帮手.
端口( 主机工具)
软件包对主机渲染器、图表数据或应用程序一无所知
状态。 东道主通过下列途径供应四个港口: WayfindingConfig数字 :
dataSource(单位:千美元)GraphDataSource)——图行+行尾进行路径查找.renderer(单位:千美元)RendererPort)——东道主的"红外线"规则与承诺.iconProvider(单位:千美元)IconProvider)——画布取出图标名称.floorContext(单位:千美元)FloorContext) ——活地层/能见度上游.
@expofp/renderer 是一个 仅类型端点 (其类型出现在公共API
混凝土成像器通过 RendererPort) (中文(简体) ). @expofp/geometry 是一个常规
运行时间依赖( e)Rect, (中文(简体) ), Box,几何帮助).
使用量
import { createWayfinding } from '@expofp/wayfinding';
const wayfinding = createWayfinding({
dataSource, // GraphDataSource
renderer, // RendererPort
iconProvider, // IconProvider
floorContext, // FloorContext
layers, // WayfindingLayers, from resolveWayfindingLayers(scene.rootLayer)
gpsConfig, // optional GPS calibration + snap/reroute thresholds
onTransitionClick: (point) => {
/* switch active floor */
},
onRouteUpdate: (lines, bounds) => {
/* fit camera, update UI */
},
onRouteDistance: (distance) => {
/* show remaining distance */
},
});
// Drive it with route/position/floor updates:
wayfinding.setRoute({ from, to, accessible: false });
wayfinding.setPosition(position); // or null to hide
wayfinding.notifyFloorChanged();
// Forward pointer events:
wayfinding.handleClick(pickedDefs);
wayfinding.destroy();
optimizeWaypointOrder 单独导出,以便在一个字段前订购位点
createWayfinding 实例存在(它支持 SDK ) getOptimizedRoutes) (中文(简体) ).