Học nhanh Goong Maps – Part 2

Tiếp nối bài viết kỳ trước, để giúp các bạn có thể theo dõi các bài trong series thực hành với Goong Maps, mình tiếp tục cung cấp tới các bạn những lý thuyết quan trọng cần biết trước khi bước vào “thực chiến” Noted: Các phần lý thuyết trong phần 2 này sẽ tập

Tiếp nối bài viết kỳ trước, để giúp các bạn có thể theo dõi các bài trong series thực hành với Goong Maps, mình tiếp tục cung cấp tới các bạn những lý thuyết quan trọng cần biết trước khi bước vào “thực chiến”

Noted: Các phần lý thuyết trong phần 2 này sẽ tập trung vào hỗ trợ các bạn xây dựng tấm bản đồ nhiệt trong project.

STYLE SPECIFICATION (Tiếp)

Layers (Tiếp)

Heatmap

Heatmap là một kiểu layers. Giúp bạn tạo một bản đồ nhiệt bằng cách hiển thị một dải màu biểu thị mật độ của các điểm trong một khu vực.

Dưới đây là các thuộc tính của Heatmap:

Thuộc tính Giải thích
heatmap-weight

Giá trị tùy chọn – Nhận vào một số nguyên lớn hơn hoặc bằng 0
Giá trị mặc định: 1
Hỗ trợ sử dụng expression loại: feature-state và interpolate

Xây dựng thước đo mức độ đóng góp của một điểm riêng lẻ vào bản đồ nhiệt.

VD: Giá trị 10 sẽ tương đương với việc có 10 điểm có trọng số 1 ở cùng một vị trí.

heatmap-intensity

Giá trị tùy chọn – Nhận vào một số nguyên (lớn hơn hoặc bằng 0)
Giá trị mặc định: 1
Hỗ trợ sử dụng expression loại: interpolate

Tương tự như heatmap-weight nhưng kiểm soát cường độ của bản đồ nhiệt dựa trên mức thu phóng.
heatmap-color

Giá trị tùy chọn – Nhận vào một dải mã màu
Giá trị mặc định:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"]
Hỗ trợ sử dụng expression loại: interpolate

Xác định màu của mỗi pixel dựa trên giá trị mật độ trong bản đồ nhiệt.

Lưu ý: Giá trị của thuộc tính này thường sử dụng expression loại interpolate (Mình sẽ giới thiệu ở phần sau của bài viết này)

heatmap-radius

Giá trị tùy chọn – Nhận vào một số nguyên (lớn hơn hoặc bằng 1)
Giá trị mặc định: 30
Đơn vị: px
Hỗ trợ sử dụng expression loại: feature-state, interpolate

Bán kính ảnh hưởng của một điểm lên bản đồ nhiệt tính bằng pixel.

Tips: Tăng giá trị heatmap-radius làm cho bản đồ nhiệt mượt mà hơn, nhưng ít chi tiết hơn.

heatmap-opacity

Giá trị tùy chọn – Nhận các giá trị trong đoạn [0,1]Giá trị mặc định: 1
Hỗ trợ sử dụng expression loại: interpolate

Thiết lập độ trong suốt của lớp layers bản đồ nhiệt.

Expression

interpolate

Tạo ra kết quả liên tục, mượt mà bằng cách “nội suy” giữa các cặp giá trị đầu vào và đầu ra values ("stops")

  • Đầu vào có thể là bất kỳ biểu thức số nào (e.g., ["get", "population"]). Các giá trị mốc dừng phải là biểu thức numeric tăng dần.
  • Đầu ra là number, array<number>, hoặc color.

Các loại nội suy:

  • ["linear"]: Nội suy tuyến tính
  • ["exponential", base]: Nội suy theo cấp số nhân Trong đó thuộc tính base tốc độ tăng của giá trị. Nếu bạn đặt base = 1, thì output sẽ tăng tăng tuyến tính.
  • ["square-bezier", x1, y1, x2, y2]: Nội suy bằng cách sử dụng square-bezier với 4 điểm x1,y1,x2,y2 tương ứng.

Cú pháp

["interpolate",
    interpolation: ["linear"] | ["exponential", base] | ["cubic-bezier", x1, y1, x2, y2],
    input: number,
    stop_input_1: number, stop_output_1: OutputType,
    stop_input_n: number, stop_output_n: OutputType, ...
]: OutputType (number, array<number>, or Color)

Vi dụ:

'interpolate',
['linear'],
['get', 'mag'],
1, 'rgba(33,102,172,0)',
2, 'rgb(103,169,207)',
3, 'rgb(209,229,240)',
4, 'rgb(253,219,199)',
5, 'rgb(239,138,98)',
6, 'rgb(178,24,43)'

Nguồn: viblo.asia

Bài viết liên quan

7 Cách Tăng Tốc Ứng Dụng React Hiệu Quả Mà Bạn Có Thể Làm Ngay

React là một thư viện JavaScript phổ biến trong việc xây dựng giao diện người d

Trung Quốc “thả quân bài tẩy”: hàng loạt robot hình người!

MỘT CUỘC CÁCH MẠNG ROBOT ĐANG HÌNH THÀNH Ở TRUNG QUỐC Thượng Hải, ngày 13/5 –

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con