기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
애플리케이션에 Amazon Location 대화형 맵 추가
이제 프레임워크와 div 자리 표시자가 있으니 애플리케이션에 맵 컨트롤을 추가할 수 있습니다. 이 자습서에서는 MapLibre GL JS
애플리케이션에 대화형 맵을 추가하려면
-
이전 섹션에서 생성한
quickstart.html
파일을 엽니다. -
필요한 라이브러리에 대한 참조와 생성할 스크립트 파일을 추가합니다. 변경해야 하는 내용은
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>이것은 앱에 다음 종속 항목을 추가합니다.
-
MapLibre GL JS . 이 라이브러리와 스타일시트에는 맵 타일을 표시하고 이동 및 확대/축소와 같은 대화형 기능을 포함하는 맵 컨트롤이 포함되어 있습니다. 컨트롤을 사용하면 맵에 직접 특징을 그리는 등 확장 기능도 사용할 수 있습니다.
-
Amazon Location 클라이언트. 맵 데이터를 가져오고 맵에서 장소를 검색하는 데 필요한 Amazon Location 기능을 위한 인터페이스를 제공합니다. Amazon Location 클라이언트는 JavaScript v3 AWS SDK용 를 기반으로 합니다.
-
Amazon Location Authentication Helper. 이렇게 하면 API 키 또는 Amazon Cognito 를 사용하여 Amazon Location Service를 인증하는 데 유용한 함수가 제공됩니다.
또한 이 단계에서는 다음에 생성할
main.js
에 대한 참조도 추가합니다. -
-
quickstart.html
파일을 저장합니다. -
HTML 및 파일과 동일한 폴더에
main.js
라는 새 CSS 파일을 생성하고 편집을 위해 엽니다. -
다음ㅍ 스크립트를 파일에 추가합니다. 의 텍스트
red
는 이전에 생성한 API 키 값, 맵 리소스 이름 및 위치 리소스 이름과 리전의 리전 식별자(예: )로 대체되어야 합니다us-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();이 코드는 Amazon Location 리소스를 설정한 다음 MapLibre GL JS 맵 제어를 구성 및 초기화하고 ID 를 사용하여
<div>
요소에 배치합니다map
.initializeMap()
함수를 이해하는 것이 중요합니다. 애플리케이션에서 MapLibre 맵을 렌더링하는 데 사용되는 새 맵 제어(mlglMap
로컬이라고 하지만 코드의 나머지map
부분에서 호출됨)를 생성합니다.// 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 });
새 MapLibre 맵 컨트롤을 생성할 때 전달하는 파라미터는 맵 컨트롤의 초기 상태를 나타냅니다. 이제 다음 파라미터를 설정합니다.
-
HTML 컨테이너 - 의 맵 div 요소를 사용합니다HTML.
-
맵의 초기 중앙부터 워싱턴 DC의 특정 지점까지
-
16까지의 확대/축소 레벨(주변 지역 또는 블록 수준으로 확대/축소).
-
맵에 사용할 스타일로, 맵 타일을 가져오는 데 사용할 와 맵을 렌더링 MapLibre URL하는 데 사용할 기타 정보를 제공합니다. 여기에는 인증을 위한 API 키가 URL 포함됩니다.
-
-
JavaScript 파일을 저장하고 브라우저로 엽니다. 이제 페이지에 이동 및 확대/축소 동작을 사용할 수 있는 맵이 생겼습니다.
참고
이 앱을 사용하여 MapLibre 맵 제어가 어떻게 작동하는지 확인할 수 있습니다. 드래그 작업을 사용하는 동안 Ctrl 또는 Shift를 사용하면 맵과 상호 작용하는 다른 방법을 확인할 수 있습니다. 이 모든 기능을 사용자 정의할 수 있습니다.
앱이 거의 완성되었습니다. 다음 섹션에서는 맵에서 위치를 선택하고 선택한 위치의 주소를 표시하는 방법에 대해서 살펴봅니다. 또한 JSON 페이지에 결과도 표시하여 전체 결과를 볼 수 있습니다.