Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiungi una mappa interattiva di Amazon Location alla tua applicazione
Ora che hai un framework e un segnaposto div, puoi aggiungere il controllo della mappa alla tua applicazione. Questo tutorial utilizza MapLibre GL JS
Per aggiungere una mappa interattiva alla tua applicazione
-
Apri il
quickstart.html
file che hai creato nella sezione precedente. -
Aggiungete i riferimenti alle librerie necessarie e al file di script che creerete. Le modifiche da apportare sono mostrate in
green
.<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Quick start tutorial</title> <!-- Styles -->
<link href="https://unpkg.com/maplibre-gl@3.x/dist/maplibre-gl.css" rel="stylesheet" />
<link href="main.css" rel="stylesheet" /> </head> <body> ... <footer>This is a simple Amazon Location Service app. Pan and zoom. Click to see details about entities close to a point.</footer><!-- JavaScript dependencies --> <script src="https://unpkg.com/maplibre-gl@3.x/dist/maplibre-gl.js"></script> <script src="https://unpkg.com/@aws/amazon-location-client@1.x/dist/amazonLocationClient.js"></script> <script src="https://unpkg.com/@aws/amazon-location-utilities-auth-helper@1.x/dist/amazonLocationAuthHelper.js"></script> <!-- JavaScript for the app --> <script src="main.js"></script>
</body> </html>Ciò aggiunge le seguenti dipendenze all'app:
-
MapLibre VAI JS. Questa libreria e questo foglio di stile includono un controllo cartografico che mostra i riquadri della mappa e include elementi interattivi, come panoramica e zoom. Il controllo consente anche estensioni, come disegnare caratteristiche personalizzate sulla mappa.
-
Client Amazon Location. Ciò fornisce interfacce per la funzionalità Amazon Location necessaria per ottenere dati cartografici e cercare luoghi sulla mappa. Il client Amazon Location è basato su AWS SDK for JavaScript v3.
-
Amazon Location Authentication Helper. Ciò fornisce funzioni utili per l'autenticazione di Amazon Location Service con API chiavi o Amazon Cognito.
Questo passaggio aggiunge anche un riferimento a
main.js
, che verrà creato in seguito. -
-
Salvare il file
quickstart.html
. -
Crea un nuovo file chiamato
main.js
nella stessa cartella dei tuoi CSS file HTML e aprilo per modificarlo. -
Aggiungi il seguente script al tuo file. Il testo in
red
deve essere sostituito con il valore della API chiave, il nome della risorsa della mappa e il nome della risorsa del luogo creati in precedenza, nonché con l'identificatore della regione (ad esempious-east-1
).// Amazon Location Service resource names: const mapName = "
explore.map
"; const placesName = "explore.place
"; const region = "your_region
"; const apiKey = "v1.public.a1b2c3d4...
// Initialize a map async function initializeMap() { const mlglMap = new maplibregl.Map({ container: "map", // HTML element ID of map element center: [-77.03674, 38.891602], // Initial map centerpoint zoom: 16, // Initial map zoom style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`, // Defines the appearance of the map and authenticates using an API key }); // Add navigation control to the top left of the map mlglMap.addControl(new maplibregl.NavigationControl(), "top-left"); return mlglMap; } async function main() { // Initialize map and Amazon Location SDK client: const map = await initializeMap(); } main();Questo codice configura le risorse di Amazon Location, quindi configura e inizializza un controllo mappa MapLibre GL JS e lo inserisce nel tuo
<div>
elemento con l'id.map
La
initializeMap()
funzione è importante da capire. Crea un nuovo controllo della MapLibre mappa (chiamatomlglMap
localmente, ma chiamatomap
nel resto del codice) che viene utilizzato per eseguire il rendering della mappa nell'applicazione.// Initialize the map const mlglMap = new maplibregl.Map({ container: "map", // HTML element ID of map element center: [-77.03674, 38.891602], // Initial map centerpoint zoom: 16, // Initial map zoom style: `https://maps.geo.${region}.amazonaws.com/maps/v0/maps/${mapName}/style-descriptor?key=${apiKey}`, // Defines the appearance of the map and authenticates using an API key });
Quando si crea un nuovo controllo di MapLibre mappa, i parametri passati indicano lo stato iniziale del controllo della mappa. Qui impostiamo i seguenti parametri.
-
HTMLcontainer, che utilizza l'elemento map div nel nostroHTML.
-
Il centro iniziale della mappa fino a un punto a Washington, DC.
-
Il livello di zoom a 16 (ingrandito a livello di quartiere o blocco).
-
Lo stile da usare per la mappa, che fornisce MapLibre uno strumento URL per ottenere i riquadri della mappa e altre informazioni per renderizzare la mappa. Nota che questo URL include la tua API chiave per l'autenticazione.
-
-
Salva il JavaScript file e aprilo con un browser. Ora hai una mappa sulla pagina, in cui puoi usare le azioni di panoramica e zoom.
Nota
Puoi usare questa app per vedere come si comporta il controllo della MapLibre mappa. Puoi provare a usare Ctrl o Shift mentre usi un'operazione di trascinamento, per vedere altri modi di interagire con la mappa. Tutte queste funzionalità sono personalizzabili.
La tua app è quasi completa. Nella sezione successiva, gestirai la scelta di una posizione sulla mappa e mostrerai l'indirizzo della posizione scelta. Mostrerai anche il risultato JSON sulla pagina, per vedere i risultati completi.