feat(map): پیوند آدرس پروژه از نشان به گوگلمپ — قالب رسمی Maps URLs با مختصات (?api=1&query=lat,lng)، بینیاز از کلید API
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user