As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Adicione um mapa interativo de localização da Amazon ao seu aplicativo
Agora que você tem uma estrutura e um espaço reservado para div, pode adicionar o controle de mapa ao seu aplicativo. Este tutorial usa o MapLibre GL JS
Para adicionar um mapa interativo ao seu aplicativo
-
Abra o arquivo
quickstart.html
que você criou na seção anterior. -
Adicione referências às bibliotecas necessárias e ao arquivo de script que você criará. As alterações que você precisa fazer são mostradas em
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>Isso adicionará as seguintes dependências ao seu aplicativo:
-
MapLibre VÁ JS. Essa biblioteca e folha de estilo incluem um controle de mapa que exibe blocos de mapa e inclui interatividade, como panorâmica e zoom. O controle também permite extensões, como desenhar seus próprios atributos no mapa.
-
Cliente do Amazon Location. Isso fornece interfaces para a funcionalidade do Amazon Location necessária para obter dados do mapa e pesquisar lugares no mapa. O cliente Amazon Location é baseado no AWS SDK for JavaScript v3.
-
Assistente de autenticação do Amazon Location. Isso fornece funções úteis para autenticar o Amazon Location Service com API chaves ou o Amazon Cognito.
Essa etapa também adiciona uma referência a
main.js
, que você criará a seguir. -
-
Salve o arquivo
quickstart.html
. -
Crie um novo arquivo chamado
main.js
na mesma pasta que o seu HTML e CSS os arquivos e abra-o para edição. -
Adicione o seguinte script ao seu arquivo. O texto em
red
deve ser substituído pelo valor da API chave, pelo nome do recurso do mapa e pelo nome do recurso do local que você criou anteriormente, bem como pelo identificador da região (comous-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();Esse código configura os recursos de localização da Amazon, depois configura e inicializa um controle de mapa MapLibre GL JS e o coloca em seu
<div>
elemento com o id.map
É importante entender a função
initializeMap()
. Ele cria um novo controle de MapLibre mapa (chamadomlglMap
localmente, mas chamadomap
no resto do código) que é usado para renderizar o mapa em seu aplicativo.// 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 você cria um novo controle de MapLibre mapa, os parâmetros que você passa indicam o estado inicial do controle de mapa. Aqui, definimos os seguintes parâmetros:
-
HTMLcontainer, que usa o elemento map div em nossoHTML.
-
O centro inicial do mapa até um ponto em Washington, DC.
-
O nível de zoom até 16 (ampliado para o nível de um bairro ou quarteirão).
-
O estilo a ser usado para o mapa, que permite MapLibre usar URL para obter os blocos do mapa e outras informações para renderizar o mapa. Observe que isso URL inclui sua API chave para autenticação.
-
-
Salve seu JavaScript arquivo e abra-o com um navegador. Agora você tem um mapa na sua página, onde você pode usar ações de panorâmica e zoom.
nota
Você pode usar este aplicativo para ver como o controle do MapLibre mapa se comporta. Você pode tentar usar Ctrl ou Shift ao usar uma operação de arrastar, para ver outras formas de interagir com o mapa. Toda essa funcionalidade é personalizável.
Seu aplicativo está quase completo. Na próxima seção, você escolherá um local no mapa e mostrará o endereço do local escolhido. Você também mostrará o resultado JSON na página, para ver os resultados completos.