Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez MapLibre des outils et des bibliothèques avec Amazon Location
L'un des outils importants pour créer des applications interactives avec Amazon Location est MapLibre. MapLibre
Note
Pour utiliser n'importe quel aspect d'Amazon Location, installez AWS SDKle dans la langue que vous souhaitez utiliser.
-
Cartes
Pour afficher des cartes dans votre application, vous avez besoin d'un moteur de rendu cartographique qui utilise les données fournies par Amazon Location et dessine à l'écran. Les moteurs de rendu de carte fournissent également des fonctionnalités permettant de déplacer et de zoomer la carte, ou d'ajouter des marqueurs, des punaises et d'autres annotations à la carte.
Amazon Location Service recommande de rendre les cartes à l'aide du moteur de MapLibre
rendu. MapLibre GL JS est un moteur d'affichage de cartes JavaScript, tandis que MapLibre Native fournit des cartes pour iOS ou Android. MapLibre dispose également d'un écosystème de plug-ins pour étendre les fonctionnalités de base. Pour plus d'informations, rendez-vous sur https://maplibre. org/maplibre-gl-js-docs/plugins
/. -
Recherche de lieux
Pour simplifier la création d'une interface utilisateur de recherche, vous pouvez utiliser le MapLibre géocodeur
pour le Web (les applications Android peuvent utiliser le plug-in Android Places ). Utilisez la bibliothèque de géocodeur Amazon Location for Maplibre
pour simplifier le processus d'utilisation d'Amazon Location dans les amazon-location-for-maplibre-gl-geocoder
applications. JavaScript -
Itinéraires
Pour afficher les itinéraires sur la carte, utilisez MapLibreles directions
. -
Geofences et traceurs
MapLibre ne dispose pas d'outils de rendu ou d'outils spécifiques pour les géofences et le suivi, mais vous pouvez utiliser la fonctionnalité de rendu et les plug-ins
pour afficher les géofences et les appareils suivis sur la carte. Les appareils suivis peuvent utiliser MQTTou envoyer manuellement des mises à jour à Amazon Location Service. Les événements Geofence peuvent être traités à l'aide de. AWS Lambda
De nombreuses bibliothèques open source sont disponibles pour fournir des fonctionnalités supplémentaires à Amazon Location Service, par exemple Turf
De nombreuses bibliothèques utilisent le standard ouvert de données Geo JSON
Plug-in Amazon Location MapLibre Geocoder
Le plugin de MapLibre géocodeur Amazon Location est conçu pour vous permettre d'intégrer plus facilement les fonctionnalités Amazon Location dans vos JavaScript applications lorsque vous travaillez sur le rendu de cartes et le géocodage à l'aide de la maplibre-gl-geocoder
- Installation
Vous pouvez installer le plugin de MapLibre géocodeur Amazon Location depuis NPM pour l'utiliser avec les modules, à l'aide de cette commande :
npm install @aws/amazon-location-for-maplibre-gl-geocoder
Vous pouvez importer dans un HTML fichier pour l'utiliser directement dans le navigateur, à l'aide d'un script :
<script src="https://www.unpkg.com/@aws/amazon-location-for-maplibre-gl-geocoder@1">/script<
- Utilisation avec le module
Ce code permet de configurer une JavaScript carte Maplibre GL avec les fonctionnalités de géocodage d'Amazon Location. Il utilise l'authentification via le pool d'identités Amazon Cognito pour accéder aux ressources Amazon Location. La carte est rendue avec un style et des coordonnées centrales spécifiés, et permet de rechercher des lieux sur la carte.
// Import MapLibre GL JS import maplibregl from "maplibre-gl"; // Import from the AWS JavaScript SDK V3 import { LocationClient } from "@aws-sdk/client-location"; // Import the utility functions import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; // Import the AmazonLocationWithMaplibreGeocoder import { buildAmazonLocationMaplibreGeocoder, AmazonLocationMaplibreGeocoder } from "@aws/amazon-location-for-maplibre-gl-geocoder" const identityPoolId = "
Identity Pool ID
"; const mapName = "Map Name
"; const region = "Region
"; // region containing the Amazon Location resource const placeIndex = "PlaceIndexName
" // Name of your places resource in your AWS Account. // Create an authentication helper instance using credentials from Amazon Cognito const authHelper = await withIdentityPoolId("Identity Pool ID
"); const client = new LocationClient({ region: "Region
", // Region containing Amazon Location resources ...authHelper.getLocationClientConfig(), // Configures the client to use credentials obtained via Amazon Cognito }); // Render the map const map = new maplibregl.Map({ container: "map", center: [-123.115898, 49.295868], zoom: 10, style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor`, ...authHelper.getMapAuthenticationOptions(), }); // Gets an instance of the AmazonLocationMaplibreGeocoder Object. const amazonLocationMaplibreGeocoder = buildAmazonLocationMaplibreGeocoder(client, placeIndex, {enableAll: true}); // Now we can add the Geocoder to the map. map.addControl(amazonLocationMaplibreGeocoder.getPlacesGeocoder());- Utilisation avec un navigateur
-
Cet exemple utilise le client de localisation Amazon pour effectuer une demande d'authentification à l'aide d'Amazon Cognito.
Note
Certains de ces exemples utilisent le client Amazon Location. Le client Amazon Location est basé sur le AWS SDKfor JavaScript V3
et permet de passer des appels vers Amazon Location via un script référencé dans un HTML fichier. Incluez les éléments suivants dans un HTML fichier :
< Import the Amazon Location With Maplibre Geocoder> <script src="https://www.unpkg.com/@aws/amazon-location-with-maplibre-geocoder@1"></script> <Import the Amazon Location Client> <script src="https://www.unpkg.com/@aws/amazon-location-client@1"></script> <!Import the utility library> <script src="https://www.unpkg.com/@aws/amazon-location-utilities-auth-helper@1"></script>
Incluez les éléments suivants dans un JavaScript fichier :
const identityPoolId = "
Identity Pool ID
"; const mapName = "Map Name
"; const region = "Region
"; // region containing Amazon Location resource // Create an authentication helper instance using credentials from Amazon Cognito const authHelper = await amazonLocationAuthHelper.withIdentityPoolId(identityPoolId); // Render the map const map = new maplibregl.Map({ container: "map", center: [-123.115898, 49.295868], zoom: 10, style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor`, ...authHelper.getMapAuthenticationOptions(), }); // Initialize the AmazonLocationMaplibreGeocoder object const amazonLocationMaplibreGeocoderObject = amazonLocationMaplibreGeocoder.buildAmazonLocationMaplibreGeocoder(client, placesName, {enableAll: true}); // Use the AmazonLocationWithMaplibreGeocoder object to add a geocoder to the map. map.addControl(amazonLocationMaplibreGeocoderObject.getPlacesGeocoder());
Les fonctions et commandes utilisées dans le plug-in de MapLibre géocodeur Amazon Location sont répertoriées ci-dessous :
buildAmazonLocationMaplibreGeocoder
Cette classe crée une instance
AmazonLocationMaplibreGeocder
qui est le point d'entrée de tous les autres appels :const amazonLocationMaplibreGeocoder = buildAmazonLocationMaplibreGeocoder(client, placesIndex, {enableAll: true});
getPlacesGeocoder
Renvoie un IControl objet prêt à l'emploi qui peut être ajouté directement à une carte.
const geocoder = getPlacesGeocoder(); // Initialize map let map = await initializeMap(); // Add the geocoder to the map. map.addControl(geocoder);