35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const axios = require("axios")
|
|
const getRegions = require("../models/getRegions.js")
|
|
|
|
const fields = "geometry" // Parameters for Google Places API
|
|
|
|
module.exports = async (dbConn) => {
|
|
const regions = await getRegions(dbConn)
|
|
|
|
for (let region of regions) {
|
|
try {
|
|
const q = region.name
|
|
|
|
const place = await axios.get(
|
|
`https://maps.googleapis.com/maps/api/place/findplacefromtext/json?inputtype=textquery&fields=geometry&input=${q}&key=${process.env.GOOGLE_CLOUD_APIS}`)
|
|
|
|
const region_id = region.region_id
|
|
const lon = parseFloat(place.data.candidates[0].geometry.location.lng)
|
|
const lat = parseFloat(place.data.candidates[0].geometry.location.lat)
|
|
|
|
await dbConn.query(
|
|
`UPDATE regions
|
|
SET lon=${lon}, lat=${lat}
|
|
WHERE id = ${region_id}`
|
|
);
|
|
|
|
console.log("Updating coordinates for region: ", region_id, q, " ", "lon:", lon, "lat", lat)
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
}
|
|
|
|
const res = "lon lat update finished"
|
|
return res
|
|
}
|