Distance.tsx 539 B

1234567891011121314151617181920
  1. import { useState } from 'react';
  2. const useDistance = () => {
  3. const [distance, setDistance] = useState(0);
  4. const onDistance = (data: number[][]) => {
  5. if ((window as any).AMap && data && data.length >= 2) {
  6. const pointArr = data.map((point) => new (window as any).AMap.LngLat(point[0], point[1]));
  7. const distanceOfLine = (window as any).AMap.GeometryUtil.distanceOfLine(pointArr);
  8. setDistance(Math.round(distanceOfLine));
  9. }
  10. };
  11. return {
  12. distance,
  13. onDistance,
  14. };
  15. };
  16. export default useDistance;