23 lines
822 B
JavaScript
23 lines
822 B
JavaScript
'use server'
|
|
|
|
import fs from 'fs/promises'
|
|
|
|
import { NextResponse } from 'next/server'
|
|
import { writeImage, writeImageBuffer } from '@/lib/fileAction'
|
|
|
|
export async function GET(req) {
|
|
const path = 'public/plan-map-images'
|
|
const q = req.nextUrl.searchParams.get('q')
|
|
const fileNm = req.nextUrl.searchParams.get('fileNm')
|
|
const zoom = req.nextUrl.searchParams.get('zoom')
|
|
const targetUrl = `https://maps.googleapis.com/maps/api/staticmap?center=${q}&zoom=${zoom}&maptype=satellite&size=640x640&scale=1&key=AIzaSyDO7nVR1N_D2tKy60hgGFavpLaXkHpiHpc`
|
|
const decodeUrl = decodeURIComponent(targetUrl)
|
|
|
|
const response = await fetch(decodeUrl)
|
|
const data = await response.arrayBuffer()
|
|
const buffer = Buffer.from(data)
|
|
await writeImage(fileNm, buffer)
|
|
|
|
return NextResponse.json({ fileNm: `${fileNm}.png` })
|
|
}
|