Azure Maps JavaScript용 클라이언트 라이브러리 검색 - 버전 1.0.0-beta.2
/TypeScript
Azure Maps Search Service는 개발자가 이름, 범주 및 기타 지리적 정보를 사용하여 주소, 장소 및 비즈니스 목록을 검색할 수 있도록 설계한 RESTful API 집합입니다. 관련 서비스는 기존의 지오코딩을 지원할 뿐만 아니라 위도와 경도를 바탕으로 주소와 교차로를 역으로 지오코딩할 수 있습니다. 검색에서 얻은 위도와 경도 값을 Route 및 Weather와 같은 다른 Azure Maps 서비스에서 매개 변수로 사용할 수 있습니다.
이 패키지에는 Azure Maps Search 클라이언트에 대한 등형 SDK(Node.js 및 브라우저에서 모두 실행됨)가 포함되어 있습니다.
시작
현재 지원되는 환경
- Node.js의 LTS 버전
- Safari, Chrome, Edge 및 Firefox의 최신 버전입니다.
사전 요구 사항
- Azure 구독.
- Azure Maps 계정입니다. Azure Portal, Azure PowerShell 또는 Azure CLI를 통해 리소스를 만들 수 있습니다.
Azure CLI <resource-group-name>
를 사용하는 경우 및 <map-account-name>
를 선택하고 매개 변수를 통해 요구 사항에 따라 적절한 가격 책정 계층 을 <sku-name>
선택합니다. 자세한 내용은 이 페이지를 참조하세요.
az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>
@azure/maps-search
패키지를 설치합니다.
를 사용하여 Azure Maps Search 클라이언트 라이브러리를 npm
설치합니다.
npm install @azure/maps-search
MapsSearchClient
만들기 및 인증
Azure Maps Search API에 액세스할 클라이언트 개체를 만들려면 개체가 credential
필요합니다. Azure Maps Search 클라이언트는 Azure Active Directory 자격 증명 또는 Azure 키 자격 증명을 사용하여 인증할 수 있습니다.
Azure Active Directory 자격 증명 사용
Azure ID 라이브러리를 사용하여 Azure Active Directory로 인증할 수 있습니다. 아래에 표시된 DefaultAzureCredential 공급자 또는 Azure SDK와 함께 제공되는 다른 자격 증명 공급자를 사용하려면 패키지를 설치 @azure/identity
하세요.
npm install @azure/identity
또한 서비스 주체에 적절한 역할을 할당하여 새 AAD 애플리케이션을 등록하고 Azure Maps 대한 액세스 권한을 부여해야 합니다. 인증 관리 페이지를 참조하세요.
AAD 애플리케이션의 클라이언트 ID, 테넌트 ID 및 클라이언트 암호 값을 환경 변수로 설정합니다. AZURE_CLIENT_ID
, , AZURE_TENANT_ID
AZURE_CLIENT_SECRET
.
또한 클라이언트 옵션에서 를 지정하여 사용하려는 Azure Maps 리소스를 clientId
지정해야 합니다.
Azure Maps 리소스 클라이언트 ID는 Azure Maps 리소스의 인증 섹션에서 찾을 수 있습니다. 찾는 방법에 대한 설명서를 참조하세요.
const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");
구독 키 자격 증명 사용
Azure Maps 구독 키로 인증할 수 있습니다.
const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");
const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);
주요 개념
MapsSearchClient
MapsSearchClient
는 Azure Maps Search 클라이언트 라이브러리를 사용하는 개발자를 위한 기본 인터페이스입니다. 이 클라이언트 개체의 메서드를 탐색하여 액세스할 수 있는 Azure Maps Search Service 다양한 기능을 이해합니다.
예
다음 섹션에서는 다음과 같은 가장 일반적인 Azure Maps Search 작업을 다루는 몇 가지 코드 조각을 제공합니다.
주소에 대한 요청 위도 및 경도 좌표
인증된 클라이언트를 사용하여 주소를 위도 및 경도 좌표로 변환할 수 있습니다. 이 프로세스를 ‘지오코딩’이라고도 합니다. 응답은 좌표뿐만 아니라 거리, 우편 번호, 시, 국가/지역 정보와 같은 자세한 주소 속성까지 반환합니다.
const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
position: { lat, lon },
} of searchResult.results) {
console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}
주소 또는 관심 지점 검색
유사 항목 검색을 사용하여 주소 또는 POI(관심 지점)를 검색할 수 있습니다. 다음 예제에서는 특정 국가의 범위를 검색하는 pizza
방법을 보여 줍니다(France
이 예제에서는).
const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
console.log(result);
}
역방향 주소 검색을 만들어 좌표 위치를 거리 주소로 변환
좌표를 사람이 읽을 수 있는 거리 주소로 변환할 수 있습니다. 이 프로세스를 역방향 지오코딩이라고도 합니다. 이는 GPS 피드를 사용하고 특정 좌표점에서 주소를 검색하려는 애플리케이션에 자주 사용됩니다.
const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]
const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
좌표 위치를 사람이 이해할 수 있는 교차로로 변환
Search Address Reverse Cross Street API를 사용하여 좌표 위치를 사람이 이해할 수 있는 교차로로 변환합니다. 대부분의 경우 이는 디바이스나 자산에서 GPS 피드를 수신하고 좌표의 위치를 알고자 하는 추적 애플리케이션에 필요합니다.
const coordinates: LatLon = [47.59118, -122.3327];
const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
문제 해결
로깅
로깅을 사용하도록 설정하면 실패에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL
환경 변수를 info
로 설정합니다. 또는 @azure/logger
에서 setLogLevel
을 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
로그를 사용하는 방법에 대한 자세한 내용은 @azure/logger package docs를 참조하세요.
다음 단계
이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 참조하세요.
참여
이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
관련된 프로젝트
Azure SDK for JavaScript