올바른 방법으로 지오코딩 통합
7887 단어 javascriptapigeocodenode
단일 최고의 공급자는 없습니다
지오코딩을 통합할 때 대부분의 개발자는 몇 가지 지오코딩 API 공급자를 비교하는 것으로 시작하여 가장 좋아 보이는 것을 선택하고 앱에서 굽습니다.
그러나 단일 최고의 Geocoding API는 없습니다. 더욱이, 고려되는 모든 공급자에 익숙해지는 데는 시간이 걸리며, 단 하나의 하드 와이어링은 벤더 고정 외에는 아무 것도 달성하지 못합니다.
모두 통합
유니콘을 찾는 대신 런타임에 선호하는 제공자에 액세스하십시오. 이는 많은 API에 대한 범용 인터페이스 역할을 하는 Superface의 오픈 소스 OneSDK를 사용하여 달성할 수 있습니다. 방법은 다음과 같습니다.
Superface OneSDK를 사용하여 지오코딩 통합
다음 단계는 매우 간단하지만 이것이 Superface를 처음 실행하는 경우이거나 후드 아래에서 발생하는 상황을 더 잘 이해하려는 경우read the documentation .
프로젝트 폴더에 Superface OneSDK 패키지를 설치합니다.
npm install @superfaceai/one-sdk
address/geocoding
프로필을 설치합니다.npx @superfaceai/cli install address/geocoding
원하는 제공업체를 구성합니다.
Nominatim
는 API를 공개적으로 제공합니다. 키가 필요하지 않습니다.# Here.com
npx @superfaceai/cli configure here -p address/geocoding
# Google Maps
npx @superfaceai/cli configure google-apis-maps -p address/geocoding
# Azure Maps
npx @superfaceai/cli configure azure -p address/geocoding
# OpenCage
npx @superfaceai/cli configure opencage -p address/geocoding
# TomTom
npx @superfaceai/cli configure opencage -p address/geocoding
# Nominatim
npx @superfaceai/cli configure nominatim -p address/geocoding
다른 공급자가 필요한 경우 let me know.
원하는 공급자의 API 키를 가져와서 환경 변수로 설정합니다.
# Here.com
export HERE_API_KEY=your-value-from-here
# Google Maps
export GOOGLE_APIS_MAPS_API_KEY=your-value-from-google-maps
# Azure Maps
export AZURE_API_KEY=your-value-from-azure
# OpenCage
export OPENCAGE_API_KEY=your-value-from-opencage
# TomTom
export TOMTOM_API_KEY=your-value-from-tomtom
API 키를 얻는 방법: Here.com | Google Maps | Azure Maps | OpenCage | TomTom
Node.js 애플리케이션에서 다음 코드를 사용하고 예제 주소를 입력으로 바꿉니다.
const { SuperfaceClient } = require('@superfaceai/one-sdk');
async function Geocoding() {
const sdk = new SuperfaceClient();
// Load the installed profile
const profile = await sdk.getProfile('address/geocoding');
// Choose the provider
const provider = await sdk.getProvider('nominatim');
// Use the profile
const result = await profile
.getUseCase('Geocode')
.perform({
addressCountry: 'United States',
addressLocality: 'Manhattan',
postalCode: 'NY 10036',
streetAddress: 'Times Square',
},
{ provider }
);
// Check out the result
try {
const data = result.unwrap();
console.log(data);
} catch (error) {
console.error(error);
}
}
Geocoding();
코드를 실행합니다.
Geocoding
함수를 호출하면 비슷한 결과가 반환됩니다.{ latitude: '40.757280550000004', longitude: '-73.98585503545917' }
그리고 그게 다야. 기본 통합이 준비되었습니다.
다음 읽기
Reference
이 문제에 관하여(올바른 방법으로 지오코딩 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/superface/integrate-geocoding-the-right-way-4e7l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)