Partager via


Azure Maps Recherche de la bibliothèque cliente pour JavaScript - version 1.0.0-beta.2

/TypeScript

Le service de recherche d’Azure Maps est un ensemble d’API RESTful conçu pour aider les développeurs à rechercher des adresses, des lieux et des listes d’entreprises par nom, catégorie et autre information géographique. En plus de prendre en charge le géocodage traditionnel, les services peuvent aussi géocoder en sens inverse les adresses et intersections en fonction des latitudes et longitudes. Les valeurs de latitude et de longitude renvoyées par la recherche peuvent être utilisées comme paramètres dans d’autres services d’Azure Maps, tels que les services Itinéraire et Météo.

Ce package contient un KIT de développement logiciel (SDK) isomorphe (s’exécute à la fois dans Node.js et dans les navigateurs) pour Azure Maps client Search.

| Code sourcePackage (NPM) | Échantillons | Informations sur le produit

Prise en main

Environnements actuellement pris en charge

Prérequis

Si vous utilisez Azure CLI, remplacez <resource-group-name> et <map-account-name> de votre choix, puis sélectionnez un niveau tarifaire approprié en fonction de vos besoins via le <sku-name> paramètre . Pour plus d’informations, consultez cette page.

az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>

Installez le package @azure/maps-search

Installez la bibliothèque cliente de recherche Azure Maps avec npm:

npm install @azure/maps-search

Créez et authentifiez unMapsSearchClient

Pour créer un objet client afin d’accéder aux API de recherche Azure Maps, vous avez besoin d’un credential objet. Le client recherche Azure Maps peut utiliser des informations d’identification Azure Active Directory ou des informations d’identification de clé Azure pour s’authentifier.

Utilisation d’informations d’identification Azure Active Directory

Vous pouvez vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, installez le @azure/identity package :

npm install @azure/identity

Vous devez également inscrire une nouvelle application AAD et accorder l’accès à Azure Maps en attribuant le rôle approprié à votre principal de service. Reportez-vous à la page Gérer l’authentification .

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Vous devez également spécifier la ressource Azure Maps que vous envisagez d’utiliser en spécifiant dans clientId les options du client. L’ID client de ressource Azure Maps se trouve dans les sections Authentification de la ressource Azure Maps. Reportez-vous à la documentation pour savoir comment le trouver.

const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");

const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");

Utilisation d’informations d’identification de clé d’abonnement

Vous pouvez vous authentifier avec votre clé d’abonnement Azure Maps.

const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");

const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);

Concepts clés

MapsSearchClient

MapsSearchClientest l’interface principale pour les développeurs qui utilisent la bibliothèque cliente recherche Azure Maps. Explorez les méthodes de cet objet client pour comprendre les différentes fonctionnalités du Azure Maps service Search auquel vous pouvez accéder.

Exemples

Les sections suivantes fournissent plusieurs extraits de code couvrant certaines des tâches de recherche Azure Maps les plus courantes, notamment :

Demander des coordonnées de latitude et de longitude pour une adresse

Vous pouvez utiliser un client authentifié pour convertir une adresse en coordonnées de latitude et de longitude. Ce processus est également appelé géocodage. En plus de retourner les coordonnées, la réponse retourne également des propriétés détaillées de l’adresse telles que la rue, le code postal, la commune et les informations relatives au pays ou à la région.

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

Rechercher une adresse ou un point d’intérêt

Vous pouvez utiliser la recherche approximative pour rechercher une adresse ou un point d’intérêt (POI). L’exemple suivant montre comment rechercher pizza sur l’étendue d’un pays spécifique (Francedans cet exemple).

const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
  console.log(result);
}

Effectuer une recherche d’adresse inversée pour traduire l’emplacement des coordonnées en adresse postale

Vous pouvez traduire des coordonnées en adresses postales lisibles par l’homme. Ce processus est également appelé géocodage inverse. Il est souvent utilisé pour les applications qui utilisent des flux GPS et qui souhaitent découvrir des adresses à des points de coordonnées spécifiques.

const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]

const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Traduire l’emplacement de coordonnées en une rue croisée compréhensible par l’homme

Traduisez l’emplacement des coordonnées en une intersection compréhensible en utilisant de l’API Search Address Reverse Cross Street. Le plus souvent, cela est nécessaire dans les applications de suivi qui reçoivent le flux GPS d’un appareil ou d’une ressource et qui souhaitent connaître l’emplacement auquel correspondent les coordonnées.

const coordinates: LatLon = [47.59118, -122.3327];

const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Résolution des problèmes

Journalisation

L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans @azure/logger :

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

Pour obtenir des instructions plus détaillées sur l’activation des journaux, consultez les documents relatifs au package @azure/logger.

Étapes suivantes

Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.

Contribution

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions