Вы можете использовать библиотеку turf.js
, передавая ей географический JSON, а затем выполнить пространственный анализ.
Идея в том, чтобы передать объект гео JSON в turf
и используйте функцию length
:
var geojson = /** get your shape from API */;
var length = turf.length(geojson, {units: 'kilometers'});
Вот пример непосредственно из MapBox: https://docs.mapbox.com/mapbox-gl-js/example/measure/
Редактировать: поскольку есть duration
и distance
в маршрутах, указанных в mapbox api, вы можете обработать объект geojson.routes
, например:
var duration = geojson.routes.reduce(
(d, route) => d + route.duration
0
);
Таким образом, вы даже можете использовать поле route.distance
для получения общее расстояние.
РЕДАКТИРОВАТЬ n.2: НЕ ДЕЛАЙТЕ ЭТОГО! Я все испортил, маршруты - это просто массив альтернатив , слава Стиву Бе nnet за указание на это.