次の方法で共有


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 とブラウザーの両方で実行されます) が含まれています。

ソースコード | パッケージ (NPM) | サンプル | 製品情報

はじめに

現在サポートされている環境

前提条件

Azure CLI を使用する場合は、 と <map-account-name> を任意に置き換え<resource-group-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 Key 資格情報を使用して認証できます。

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_IDAZURE_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検索タスクをカバーするいくつかのコード スニペットを示します。

住所の緯度と経度の座標を要求する

認証されたクライアントを使用して、アドレスを緯度と経度の座標に変換できます。 このプロセスはジオコーディングとも呼ばれています。 応答では、座標が返されるだけでなく、番地、郵便番号、地方自治体、国または地域の情報などの詳細な住所プロパティも返されます。

const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
  position: { lat, lon },
} of searchResult.results) {
  console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}

住所または目的地を検索する

あいまい検索を使用して、住所または目的地 (POI) を検索できます。 次の例では、特定の国 (Franceこの例では) の範囲を検索pizzaする方法を示します。

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);
}

座標位置を人間が理解できるクロスストリートに変換する

交差点住所の逆引き検索 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_LEVELinfo に設定します。 または、@azure/loggersetLogLevel を呼び出して、実行時にログ記録を有効にすることもできます。

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

ログを有効にする方法の詳細については、@azure/logger パッケージに関するドキュメントを参照してください。

次のステップ

このライブラリの使用方法の詳細な例については、 samples ディレクトリを参照してください。

共同作成

このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。

インプレッション数