diff --git a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/Area/Routing/ShowRoute.jsx b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/Area/Routing/ShowRoute.jsx
index 7d47ba8..b05cc6a 100644
--- a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/Area/Routing/ShowRoute.jsx
+++ b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/Area/Routing/ShowRoute.jsx
@@ -1,4 +1,4 @@
-import { useEffect, useRef } from "react";
+import { useEffect, useRef, useState } from "react";
import { Marker, Polyline, useMap } from "react-leaflet";
import L from "leaflet";
import polyline from "@mapbox/polyline";
@@ -18,14 +18,24 @@ const ShowRoute = ({ area }) => {
});
};
- useEffect(() => {
- if (coords.length > 0) {
- map.flyToBounds(coords, { padding: [50, 50], duration: 1.5 });
- }
- }, [area]);
const sourceIcon = createCustomIcon(defaultIconSize, SourceIcon.src);
const destIcon = createCustomIcon(defaultIconSize, DestIcon.src);
+ const [showRoute, setShowRoute] = useState(false);
+ useEffect(() => {
+ if (!coords.length) return;
+
+ setShowRoute(false);
+
+ map.flyToBounds(coords, {
+ padding: [50, 50],
+ duration: 1.5,
+ });
+
+ map.once("moveend", () => {
+ setShowRoute(true);
+ });
+ }, [area]);
if (!area) return null;
const coords = polyline.decode(area, 6);
@@ -36,7 +46,8 @@ const ShowRoute = ({ area }) => {
return (
<>
-
+ {showRoute && }
+
>
diff --git a/src/components/dashboard/roadMissions/transportation/RowActions/RouteDetail/ShowRoute.jsx b/src/components/dashboard/roadMissions/transportation/RowActions/RouteDetail/ShowRoute.jsx
index 7d47ba8..3998a2f 100644
--- a/src/components/dashboard/roadMissions/transportation/RowActions/RouteDetail/ShowRoute.jsx
+++ b/src/components/dashboard/roadMissions/transportation/RowActions/RouteDetail/ShowRoute.jsx
@@ -1,4 +1,4 @@
-import { useEffect, useRef } from "react";
+import { useEffect, useRef, useState } from "react";
import { Marker, Polyline, useMap } from "react-leaflet";
import L from "leaflet";
import polyline from "@mapbox/polyline";
@@ -18,14 +18,24 @@ const ShowRoute = ({ area }) => {
});
};
- useEffect(() => {
- if (coords.length > 0) {
- map.flyToBounds(coords, { padding: [50, 50], duration: 1.5 });
- }
- }, [area]);
const sourceIcon = createCustomIcon(defaultIconSize, SourceIcon.src);
const destIcon = createCustomIcon(defaultIconSize, DestIcon.src);
+ const [showRoute, setShowRoute] = useState(false);
+ useEffect(() => {
+ if (!coords.length) return;
+
+ setShowRoute(false);
+
+ map.flyToBounds(coords, {
+ padding: [50, 50],
+ duration: 1.5,
+ });
+
+ map.once("moveend", () => {
+ setShowRoute(true);
+ });
+ }, [area]);
if (!area) return null;
const coords = polyline.decode(area, 6);
@@ -34,9 +44,11 @@ const ShowRoute = ({ area }) => {
const sourcePosition = coords[0];
const destPosition = coords[coords.length - 1];
+
return (
<>
-
+ {showRoute && }
+
>