다음을 통해 공유


Azure Maps JavaScript용 클라이언트 라이브러리 검색 - 버전 1.0.0-beta.2

/TypeScript

Azure Maps Search Service는 개발자가 이름, 범주 및 기타 지리적 정보를 사용하여 주소, 장소 및 비즈니스 목록을 검색할 수 있도록 설계한 RESTful API 집합입니다. 관련 서비스는 기존의 지오코딩을 지원할 뿐만 아니라 위도와 경도를 바탕으로 주소와 교차로를 역으로 지오코딩할 수 있습니다. 검색에서 얻은 위도와 경도 값을 RouteWeather와 같은 다른 Azure Maps 서비스에서 매개 변수로 사용할 수 있습니다.

이 패키지에는 Azure Maps Search 클라이언트에 대한 등형 SDK(Node.js 및 브라우저에서 모두 실행됨)가 포함되어 있습니다.

소스 코드 | 패키지(NPM) | 샘플 | 제품 정보

시작

현재 지원되는 환경

사전 요구 사항

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_IDAZURE_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를 참조하세요.

다음 단계

이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 참조하세요.

참여

이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.

Impressions