feat(map): پیوند آدرس پروژه از نشان به گوگل‌مپ — قالب رسمی Maps URLs با مختصات (?api=1&query=lat,lng)، بی‌نیاز از کلید API

This commit is contained in:
aramesh-site deploy
2026-10-09 17:41:07 +00:00
parent 00abef23df
commit f0f483a9d1
3 changed files with 12 additions and 13 deletions
+8 -9
View File
@@ -145,14 +145,13 @@ export function parseProjectsCsv(raw: string): MapProject[] {
export const MAP_PROJECTS: MapProject[] = parseProjectsCsv(RAW_CSV)
/** پیوند نشان روی نقشه برای سرویس نشان */
export function buildNeshanUrl(project: Pick<MapProject, 'lat' | 'lng'>, zoom = 17): string {
return `https://neshan.org/maps/@${project.lat},${project.lng},${zoom}z`
}
/** پیوند نقشه گوگل */
/**
* پیوند نقشهٔ گوگل روی مختصات پروژه — قالب رسمی Maps URLs با پارامتر query،
* بی‌نیاز از کلید API. یک سنجاق دقیق روی همان نقطه می‌نشاند و روی موبایل
* اپلیکیشن گوگل‌مپ را باز می‌کند.
*/
export function buildGoogleMapsUrl(project: Pick<MapProject, 'lat' | 'lng'>): 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,
}
}