首页 / Turf.js / 使用示例
最近点查找
八个候选设施,一个随机移动的目标点。 每次移动都重新求最近点,并输出它在集合中的序号。
源码与运行效果
说明
候选点组成一个 FeatureCollection,目标点每次随机生成。
turf.nearestPoint 返回最近的要素副本,
它的 properties.featureIndex 就是该点在集合中的位置,
用它可以从原始数组里取回名称等信息。
var near = turf.nearestPoint(target, fc);
var seq = near.properties.featureIndex;
console.log('最近的是', candidates[seq].name);
console.log('距离', turf.distance(target, near, { units: 'kilometers' }));
| 字段 | 含义 |
|---|---|
featureIndex | 最近点在输入集合中的序号,从 0 开始 |
distanceToPoint | 7.x 中的距离字段,单位公里;6.x 里叫 dist |
properties | 原有属性会被保留,可与序号互相印证 |
示例没有直接读距离字段,而是重新调用 turf.distance,
这样既能自主选择单位,也不受版本间字段改名的影响。
最近点不等于路网可达点。直线距离最近的设施可能隔着一条河, 需要真实路径时应当接入路径规划服务,而不是把这个结果当导航依据。