본문 바로가기
Programming/Node.js

Node.js에서 Callback function을 사용해서 새로운 지역의 위도와 경도를 얻는 방법

by 혀코 2020. 1. 6.

안녕하세요. 혀코입니다.

오늘은 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을 사용해서 새로운 지역의 위도와 경도의 정보를 얻는 방법에 대해서 알아보았습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다.

댓글