diff --git a/frontend/src/data/mapProjects.ts b/frontend/src/data/mapProjects.ts index 6b1058d..26db414 100644 --- a/frontend/src/data/mapProjects.ts +++ b/frontend/src/data/mapProjects.ts @@ -145,14 +145,13 @@ export function parseProjectsCsv(raw: string): MapProject[] { export const MAP_PROJECTS: MapProject[] = parseProjectsCsv(RAW_CSV) -/** پیوند نشان روی نقشه برای سرویس نشان */ -export function buildNeshanUrl(project: Pick, zoom = 17): string { - return `https://neshan.org/maps/@${project.lat},${project.lng},${zoom}z` -} - -/** پیوند نقشه گوگل */ +/** + * پیوند نقشهٔ گوگل روی مختصات پروژه — قالب رسمی Maps URLs با پارامتر query، + * بی‌نیاز از کلید API. یک سنجاق دقیق روی همان نقطه می‌نشاند و روی موبایل + * اپلیکیشن گوگل‌مپ را باز می‌کند. + */ export function buildGoogleMapsUrl(project: Pick): string { - return `https://www.google.com/maps?q=${project.lat},${project.lng}` + return `https://www.google.com/maps/search/?api=1&query=${project.lat},${project.lng}` } const NAME_NOISE = ['آرامش', 'پروژه', 'مجتمع', 'گروه', 'ساختمانی', 'برج', 'مجموعه'] @@ -232,7 +231,7 @@ export function csvProjectToCard(project: MapProject, detailHref: string): Proje title: project.name, status: project.isNew ? 'progress' : 'done', detailHref, - addressUrl: buildNeshanUrl(project), + addressUrl: buildGoogleMapsUrl(project), } } @@ -247,6 +246,6 @@ export function apiProjectToCard(project: Project, detailHref: string): ProjectC location: project.location || undefined, image: project.image || undefined, area: project.area || undefined, - addressUrl: matched ? buildNeshanUrl(matched) : undefined, + addressUrl: matched ? buildGoogleMapsUrl(matched) : undefined, } } diff --git a/frontend/src/map/ProjectsMapAll.tsx b/frontend/src/map/ProjectsMapAll.tsx index 0b705dc..ecd5833 100644 --- a/frontend/src/map/ProjectsMapAll.tsx +++ b/frontend/src/map/ProjectsMapAll.tsx @@ -6,7 +6,7 @@ import { ISFAHAN_CENTER, MAP_PROJECTS, boundsForProjects, - buildNeshanUrl, + buildGoogleMapsUrl, type MapProject, } from '../data/mapProjects' import { useLang } from '../i18n/lang' @@ -80,7 +80,7 @@ export function ProjectsMapAll({ {/* منطق دکمهٔ آدرس دست‌نخورده — فقط در ستون عمودی نشسته است */} {/* منطق دکمهٔ آدرس دست‌نخورده است — تنها اکشن این کارت */}