Giới thiệu
Hướng dẫn này trình bày cách thêm bản đồ Google có điểm đánh dấu vào trang web bằng HTML. Dưới đây là bản đồ mà bạn sẽ tạo bằng hướng dẫn này. Hai điểm đánh dấu được đặt, một điểm ở Mountain View, California và một điểm ở Seattle, Washington.
Bắt đầu
Sau đây là các bước chúng ta sẽ đề cập để tạo bản đồ Google có điểm đánh dấu bằng HTML:
Bạn cần có trình duyệt web. Chọn một trình duyệt phổ biến như Google Chrome (nên dùng), Firefox, Safari hoặc Edge, dựa trên nền tảng của bạn trong danh sách trình duyệt được hỗ trợ.
Bước 1: Lấy khoá API
Phần này giải thích cách xác thực ứng dụng của bạn với API Maps JavaScript bằng khoá API của riêng bạn.
Hãy làm theo các bước sau để lấy khoá API:
Chuyển đến Google Cloud Console.
Tạo hoặc chọn một dự án.
Nhấp vào Tiếp tục để bật API và mọi dịch vụ có liên quan.
Trên trang Thông tin xác thực, hãy lấy khoá API (và đặt các quy tắc hạn chế đối với khoá API). Lưu ý: Nếu có khoá API không bị hạn chế hoặc khoá có các quy tắc hạn chế đối với trình duyệt, thì bạn có thể sử dụng khoá đó.
Để ngăn chặn hành vi đánh cắp hạn mức và bảo mật khoá API, hãy xem phần Sử dụng khoá API.
Bật tính năng thanh toán. Hãy xem phần Mức sử dụng và thanh toán để biết thêm thông tin.
Giờ đây, bạn đã có thể sử dụng khoá API.
Bước 2: Tạo HTML, CSS và JS
Sau đây là mã cho một trang web HTML cơ bản:
<html> <head> <title>Add a Map with Markers using HTML</title> <!-- TODO: Add bootstrap script tag. --> </head> <body> <!-- TODO: Add a map with markers. --> </body> </html>
Để tải bản đồ, bạn phải thêm thẻ script
chứa trình tải khởi động cho API JavaScript của Maps, như trong đoạn mã sau (thêm khoá API của riêng bạn):
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=maps,marker&v=beta" defer ></script>
Cảnh báo tiết lộ nội dung: Thử ví dụ đã hoàn thành trên JSFiddle.
Bước 3: Thêm bản đồ
Để thêm bản đồ của Google vào trang, hãy sao chép phần tử HTML gmp-map
rồi dán vào body
của trang HTML:
<gmp-map center="37.4220656,-122.0840897" zoom="10" map-id="DEMO_MAP_ID" style="height: 400px"></gmp-map>
Điều này dẫn đến bản đồ sau:
Bản đồ bạn vừa tạo có tâm là khu vực đô thị San Jose.
Bước 4: Thêm điểm đánh dấu
Để thêm điểm đánh dấu vào bản đồ, hãy sử dụng phần tử HTML gmp-advanced-marker
.
Sao chép đoạn mã sau đây rồi dán vào toàn bộ gmp-map
mà bạn đã thêm ở bước trước.
<gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map>
Mã trước đó thêm hai điểm đánh dấu và thay đổi các tham số zoom
và center
trên gmp-map
để hiển thị rõ hơn các điểm đánh dấu đó. Bạn cần có mã bản đồ để sử dụng Điểm đánh dấu nâng cao (có thể sử dụng DEMO_MAP_ID
).
Mẹo và cách khắc phục sự cố
- Bạn có thể tuỳ chỉnh bản đồ bằng kiểu tuỳ chỉnh.
- Sử dụng Bảng điều khiển công cụ dành cho nhà phát triển trong trình duyệt web để kiểm thử và chạy mã, đọc báo cáo lỗi và giải quyết các vấn đề về mã.
- Sử dụng các phím tắt sau để mở bảng điều khiển trong Chrome:
Command+Option+J (trên máy Mac) hoặc Control+Shift+J (trên máy Windows). Hãy làm theo các bước bên dưới để lấy toạ độ vĩ độ và kinh độ của một vị trí trên Google Maps.
- Mở Google Maps trong trình duyệt.
- Nhấp chuột phải vào vị trí chính xác trên bản đồ mà bạn cần tọa độ.
- Chọn Nội dung ở đây trong trình đơn theo bối cảnh xuất hiện. Bản đồ sẽ hiển thị một thẻ ở cuối màn hình. Tìm toạ độ vĩ độ và kinh độ ở hàng cuối cùng của thẻ.
Bạn có thể chuyển đổi địa chỉ thành toạ độ vĩ độ và kinh độ bằng cách sử dụng dịch vụ Mã hoá địa lý. Hướng dẫn dành cho nhà phát triển cung cấp thông tin chi tiết về cách bắt đầu sử dụng Dịch vụ mã hoá địa lý.
Mã ví dụ đầy đủ
Sau đây là bản đồ hoàn chỉnh và mã ví dụ đầy đủ được sử dụng cho hướng dẫn này.
<html> <head> <title>Add a Map with Markers using HTML</title> <link rel="stylesheet" type="text/css" href="./style.css" /> <script type="module" src="./index.js"></script> </head> <body> <gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map> <!-- The `defer` attribute causes the script to execute after the full HTML document has been parsed. For non-blocking uses, avoiding race conditions, and consistent behavior across browsers, consider loading using Promises. See https://developers.google.com/maps/documentation/javascript/load-maps-js-api for more information. --> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&libraries=maps,marker&v=beta" defer ></script> </body> </html>