안녕하세요. 혀코입니다.
오늘은 Node.js에서 callback function을 사용해서 새로운 지역의 위도와 경도를 얻는 방법에 대해서 알아보겠습니다.
const geocode = (address, callback) => {
const url = 'https://api.mapbox.com/geocoding/v5/mapbox.places/' + address + '.json?access_token={{api-key}}'
request({ url: url, json: true}, (error, response) => {
if (error) {
callback('Unable to connect to location services!', undefined)
} else if (response.body.features.length === 0) {
callback('Unable to find location. Try another search', undefined)
} else {
callback(undefined, {
latitude: response.body.features[0].geometry.coordinates[1],
longitude: response.body.features[0].geometry.coordinates[0],
location: response.body.features[0].place_name
})
}
})
}
geocode('Philadelphia', (error, data) => {
console.log('Error', error)
console.log('Data', data)
})
여기서 address 부분을 보안하자면 아래와 같이 작성할 수 있습니다. encodeURIComponent는 물음표 문자가 %3F로 인코딩해서 적용해주는 역할을 합니다.
const geocode = (address, callback) => {
const url = 'https://api.mapbox.com/geocoding/v5/mapbox.places/' + encodeURIComponent(address) + '.json?access_token={{api-key}}'
request({ url: url, json: true}, (error, response) => {
if (error) {
callback('Unable to connect to location services!', undefined)
} else if (response.body.features.length === 0) {
callback('Unable to find location. Try another search', undefined)
} else {
callback(undefined, {
latitude: response.body.features[0].geometry.coordinates[1],
longitude: response.body.features[0].geometry.coordinates[0],
location: response.body.features[0].place_name
})
}
})
}
geocode('Philadelphia', (error, data) => {
console.log('Error', error)
console.log('Data', data)
})
이렇게 Node.js에서 callback function을 사용해서 새로운 지역의 위도와 경도의 정보를 얻는 방법에 대해서 알아보았습니다.
유용하셨다면, 공감과 구독 부탁 드립니다.
감사합니다.
댓글