在瀏覽器端計算地球上兩點之間的距離

Reading time ~1 minute

要達成這件事, 只需要利用turf.js就好, turf.js提供了一大堆處理地理資訊的相關工具, 只拿來算距離, 還真算有點小用 :P

以下是範例:

const { point } = require('@turf/helpers');
const distance = require('@turf/distance').default;

const from = point([120.9758828, 24.8043379]);
const to = point([120.92846560331556, 24.846169955749275]);

const result = distance(from, to, { units: 'kilometers' });

這邊point回傳的是GeoJson的Feature, 由於GeoJson是經度在前緯度在後, 如果你去Google map複製座標來的話, 會剛好相反, 這邊需要注意, 以上就可以算出這兩點到底距離幾公里了

turf.js可以做的相當多, 算距離只是其中之一, 如果你要找出像是包含所有點的最小矩形, 或是合併多個多邊形(像是合併行政區域), 都可拿來使用