Verwenden Sie MapLibre Tools und Bibliotheken mit Amazon Location - Amazon Location Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie MapLibre Tools und Bibliotheken mit Amazon Location

Eines der wichtigsten Tools für die Erstellung interaktiver Anwendungen mit Amazon Location ist MapLibre. MapLibreist in erster Linie eine Rendering-Engine zum Anzeigen von Karten in einer Web- oder Mobilanwendung. Es beinhaltet jedoch auch Unterstützung für Plug-ins und bietet Funktionen für die Arbeit mit anderen Aspekten von Amazon Location. Im Folgenden werden Tools beschrieben, die Sie je nach dem Standort, mit dem Sie arbeiten möchten, verwenden können.

Anmerkung

Um einen beliebigen Aspekt von Amazon Location zu verwenden, installieren Sie den AWS SDK für die Sprache, die Sie verwenden möchten.

  • Landkarten

    Um Karten in Ihrer Anwendung anzuzeigen, benötigen Sie eine Karten-Rendering-Engine, die die von Amazon Location bereitgestellten Daten verwendet und auf den Bildschirm zeichnet. Karten-Rendering-Engines bieten auch Funktionen zum Schwenken und Zoomen der Karte oder zum Hinzufügen von Markierungen, Stecknadeln und anderen Anmerkungen zur Karte.

    Amazon Location Service empfiehlt, Karten mit der MapLibreRendering-Engine zu rendern. MapLibre GL JS ist eine Engine für die Anzeige von Karten in JavaScript, während MapLibre Native Karten entweder für iOS oder Android bereitstellt.

    MapLibre hat auch ein Plug-in-Ökosystem zur Erweiterung der Kernfunktionalität. Weitere Informationen finden Sie unter https://maplibre. org/maplibre-gl-js-docs/plugins/.

  • Suche nach Orten

    Um die Erstellung einer Benutzeroberfläche für die Suche zu vereinfachen, können Sie den MapLibre Geocoder für das Web verwenden (Android-Anwendungen können das Android Places-Plug-In verwenden).

    Verwenden Sie die Geocoder-Bibliothek Amazon Location for Maplibre, um die Verwendung von Amazon Location in Applications zu vereinfachen. amazon-location-for-maplibre-gl-geocoder JavaScript

  • Routen

    Verwenden Sie MapLibreWegbeschreibungen, um Routen auf der Karte anzuzeigen.

  • Geofences und Tracker

    MapLibre bietet keine speziellen Rendering-Funktionen oder Tools für Geofences und Tracking, aber Sie können die Rendering-Funktionen und Plug-ins verwenden, um die Geofences und getrackten Geräte auf der Karte anzuzeigen.

    Die Geräte, die verfolgt werden, können Amazon Location Service verwenden MQTToder manuell Updates an Amazon Location Service senden. Auf Geofence-Ereignisse kann mit reagiert werden. AWS Lambda

Viele Open-Source-Bibliotheken sind verfügbar, um zusätzliche Funktionen für Amazon Location Service bereitzustellen, zum Beispiel Turf, das Funktionen zur räumlichen Analyse bereitstellt.

Viele Bibliotheken verwenden JSONgeoformatierte Daten nach dem offenen Standard. Amazon Location Service bietet eine Bibliothek zur Unterstützung der Verwendung von Geo JSON in JavaScript Anwendungen. Weitere Informationen finden Sie im folgenden Abschnitt, So verwenden Sie Amazon Location SDK und Bibliotheken.

Amazon Location MapLibre Geocoder-Plug-In

Das Amazon Location MapLibre Geocoder-Plugin wurde entwickelt, um Ihnen die Integration von Amazon Location-Funktionen in Ihre JavaScript Anwendungen zu erleichtern, wenn Sie mit dem Rendern und Geokodieren von Karten mithilfe der Bibliothek arbeiten. maplibre-gl-geocoder

Installation

Sie können das Amazon Location MapLibre Geocoder-Plug-In NPM für die Verwendung mit Modulen mit dem folgenden Befehl installieren:

npm install @aws/amazon-location-for-maplibre-gl-geocoder

Sie können mit einem Skript in eine HTML Datei importieren, um sie direkt im Browser zu verwenden:

<script src="https://www.unpkg.com/@aws/amazon-location-for-maplibre-gl-geocoder@1">/script<
Verwendung mit Modul

Dieser Code richtet eine Maplibre JavaScript GL-Karte mit Geokodierungsfunktionen von Amazon Location ein. Es verwendet die Authentifizierung über Amazon Cognito Identity Pool, um auf Amazon Location-Ressourcen zuzugreifen. Die Karte wird mit einem bestimmten Stil und bestimmten Mittelpunktkoordinaten gerendert und ermöglicht die Suche nach Orten auf der Karte.

// 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());
Verwendung mit einem Browser

In diesem Beispiel wird der Amazon Location Client verwendet, um eine Anfrage zu stellen, die sich mit Amazon Cognito authentifiziert.

Anmerkung

Einige dieser Beispiele verwenden den Amazon Location Client. Der Amazon Location Client basiert auf dem AWS SDKfor JavaScript V3 und ermöglicht das Aufrufen von Amazon Location über ein Skript, auf das in einer HTML Datei verwiesen wird.

Nehmen Sie Folgendes in eine HTML Datei auf:

< 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>

Nehmen Sie Folgendes in eine JavaScript Datei auf:

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

Im Folgenden sind die Funktionen und Befehle aufgeführt, die im Amazon Location MapLibre Geocoder-Plugin verwendet werden:

  • buildAmazonLocationMaplibreGeocoder

    Diese Klasse erstellt eine Instanz vonAmazonLocationMaplibreGeocder, die der Einstiegspunkt für alle anderen Aufrufe ist:

    const amazonLocationMaplibreGeocoder = buildAmazonLocationMaplibreGeocoder(client, placesIndex, {enableAll: true});
  • getPlacesGeocoder

    Gibt ein gebrauchsfertiges IControl Objekt zurück, das direkt zu einer Map hinzugefügt werden kann.

    const geocoder = getPlacesGeocoder(); // Initialize map let map = await initializeMap(); // Add the geocoder to the map. map.addControl(geocoder);