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
- Versions LTS de Node.js
- Dernières versions de Safari, Chrome, Edge et Firefox.
Prérequis
- Un abonnement Azure.
- Un compte Azure Maps. Vous pouvez créer la ressource via le portail Azure, le Azure PowerShell ou Azure CLI.
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
MapsSearchClient
est 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
- Rechercher une adresse ou un point d’intérêt
- Effectuer une recherche d’adresse inversée pour traduire l’emplacement des coordonnées en adresse postale
- Traduire l’emplacement de coordonnées en une rue croisée compréhensible par l’homme
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 (France
dans 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.
Projets associés
Azure SDK for JavaScript