@@ -281,6 +413,30 @@ export default function ReportRoutePage() {
+ {isSuccessOpen && (
+
+ 새로운 길 제보를 완료했어요!
+
+
제보는 바로 반영되지만,
+
+ 더 정확한 정보를 위해 추후 수정될 수 있어요.
+
+
+
+ )}
+ {isFailOpen && (
+
+ 경로를 생성하는데 실패하였습니다!
+
+
+ 선택하신 경로는 생성이 불가능합니다.
+
+
+ 선 위에서 시작하여, 빈 곳을 이어주시기 바랍니다.
+
+
+
+ )}
);
}
diff --git a/uniro_frontend/src/utils/coordinates/centerCoordinate.ts b/uniro_frontend/src/utils/coordinates/centerCoordinate.ts
index 8fc52a2..1e16b47 100644
--- a/uniro_frontend/src/utils/coordinates/centerCoordinate.ts
+++ b/uniro_frontend/src/utils/coordinates/centerCoordinate.ts
@@ -1,7 +1,6 @@
-export default function centerCoordinate(
- point1: google.maps.LatLngLiteral,
- point2: google.maps.LatLngLiteral,
-): google.maps.LatLngLiteral {
+import { Coord } from "../../data/types/coord";
+
+export default function centerCoordinate(point1: Coord, point2: Coord): Coord {
return {
lat: (point1.lat + point2.lat) / 2,
lng: (point1.lng + point2.lng) / 2,
diff --git a/uniro_frontend/src/utils/markers/createAdvanedMarker.ts b/uniro_frontend/src/utils/markers/createAdvanedMarker.ts
index 27509ca..28fb887 100644
--- a/uniro_frontend/src/utils/markers/createAdvanedMarker.ts
+++ b/uniro_frontend/src/utils/markers/createAdvanedMarker.ts
@@ -30,8 +30,11 @@ export function createUniversityMarker(
"py-1 px-3 text-kor-caption font-medium text-gray-100 bg-primary-500 text-center rounded-200";
container.appendChild(markerTitle);
const markerImage = document.createElement("img");
+
+ const markerImages = import.meta.glob("/src/assets/markers/*.svg", { eager: true });
+
markerImage.className = "border-0 translate-y-[-1px]";
- markerImage.src = "/src/assets/markers/university.svg";
+ markerImage.src = (markerImages[`/src/assets/markers/university.svg`] as { default: string })?.default;
container.appendChild(markerImage);
const newMarker = new AdvancedMarker({
diff --git a/uniro_frontend/src/utils/polylines/createSubnodes.ts b/uniro_frontend/src/utils/polylines/createSubnodes.ts
index dac974d..4560fd3 100644
--- a/uniro_frontend/src/utils/polylines/createSubnodes.ts
+++ b/uniro_frontend/src/utils/polylines/createSubnodes.ts
@@ -1,9 +1,10 @@
import { EDGE_LENGTH } from "../../constant/edge";
+import { Coord } from "../../data/types/coord";
import { LatLngToLiteral } from "../coordinates/coordinateTransform";
import distance from "../coordinates/distance";
/** 구면 보간 없이 계산한 결과 */
-export default function createSubNodes(polyLine: google.maps.Polyline): google.maps.LatLngLiteral[] {
+export default function createSubNodes(polyLine: google.maps.Polyline): Coord[] {
const paths = polyLine.getPath();
const [startNode, endNode] = paths.getArray().map((el) => LatLngToLiteral(el));
@@ -19,7 +20,7 @@ export default function createSubNodes(polyLine: google.maps.Polyline): google.m
const subNodes = [];
for (let i = 0; i < subEdgesCount; i++) {
- const subNode: google.maps.LatLngLiteral = {
+ const subNode: Coord = {
lat: startNode.lat + interval.lat * i,
lng: startNode.lng + interval.lng * i,
};
diff --git a/uniro_frontend/src/utils/polylines/findNearestEdge.ts b/uniro_frontend/src/utils/polylines/findNearestEdge.ts
index ceeaf80..64ccc99 100644
--- a/uniro_frontend/src/utils/polylines/findNearestEdge.ts
+++ b/uniro_frontend/src/utils/polylines/findNearestEdge.ts
@@ -1,18 +1,21 @@
+import { Coord } from "../../data/types/coord";
+import { Node } from "../../data/types/node";
+import { CoreRoute } from "../../data/types/route";
import centerCoordinate from "../coordinates/centerCoordinate";
import distance from "../coordinates/distance";
export default function findNearestSubEdge(
- edges: [google.maps.LatLngLiteral, google.maps.LatLngLiteral][],
- point: google.maps.LatLngLiteral,
+ edges: CoreRoute[],
+ point: Coord,
): {
- edge: [google.maps.LatLngLiteral, google.maps.LatLngLiteral];
- point: google.maps.LatLngLiteral;
+ edge: CoreRoute;
+ point: Node;
} {
const edgesWithDistance = edges
- .map(([startNode, endNode]) => {
+ .map((edge) => {
return {
- edge: [startNode, endNode] as [google.maps.LatLngLiteral, google.maps.LatLngLiteral],
- distance: distance(point, centerCoordinate(startNode, endNode)),
+ edge,
+ distance: distance(point, centerCoordinate(edge.node1, edge.node2)),
};
})
.sort((a, b) => {
@@ -21,9 +24,10 @@ export default function findNearestSubEdge(
const nearestEdge = edgesWithDistance[0].edge;
- const distance0 = distance(nearestEdge[0], point);
- const distance1 = distance(nearestEdge[1], point);
- const nearestPoint = distance0 > distance1 ? nearestEdge[1] : nearestEdge[0];
+ const { node1, node2 } = nearestEdge;
+ const distance0 = distance(node1, point);
+ const distance1 = distance(node2, point);
+ const nearestPoint = distance0 > distance1 ? node2 : node1;
return {
edge: nearestEdge,