Vietmap Matrix API Playground

    Matrix API

    Tính toán ma trận khoảng cách giữa nhiều điểm, phù hợp cho các ứng dụng logistics và giao hàng (tìm tài xế gần nhất, tìm đường đi ngắn nhất/nhanh nhất giữa nhiều điểm).

    Code mẫu

    Ví dụ với tham số mẫu — điền tham số ở khung bên trái để có code đúng request của bạn.

    curl 'https://maps.vietmap.vn/api/matrix/v4?apikey=YOUR_API_KEY&point=10.776889,106.700806&point=10.818,106.6585&points_encoded=true&vehicle=car&sources=all&destinations=all&annotation=duration'

    Thay YOUR_API_KEY bằng API key của bạn trước khi chạy.

    // Khi đưa vào sản phẩm, đọc key từ biến môi trường thay vì ghi cứng.
    const API_KEY = "YOUR_API_KEY";
    
    const params = new URLSearchParams([
      ["apikey", API_KEY],
      ["point", "10.776889,106.700806"],
      ["point", "10.818,106.6585"],
      ["points_encoded", "true"],
      ["vehicle", "car"],
      ["sources", "all"],
      ["destinations", "all"],
      ["annotation", "duration"],
    ]);
    
    const response = await fetch(`https://maps.vietmap.vn/api/matrix/v4?${params}`);
    if (!response.ok) {
      throw new Error(`Vietmap ${response.status}: ${await response.text()}`);
    }
    const data = await response.json();
    console.log(data);

    Thay YOUR_API_KEY bằng API key của bạn trước khi chạy.

    import requests
    
    # Khi đưa vào sản phẩm, đọc key từ biến môi trường thay vì ghi cứng.
    API_KEY = "YOUR_API_KEY"
    
    params = [
        ("apikey", API_KEY),
        ("point", "10.776889,106.700806"),
        ("point", "10.818,106.6585"),
        ("points_encoded", "true"),
        ("vehicle", "car"),
        ("sources", "all"),
        ("destinations", "all"),
        ("annotation", "duration"),
    ]
    
    response = requests.get("https://maps.vietmap.vn/api/matrix/v4", params=params, timeout=30)
    response.raise_for_status()
    print(response.json())

    Thay YOUR_API_KEY bằng API key của bạn trước khi chạy.

    https://maps.vietmap.vn/api/matrix/v4?apikey=YOUR_API_KEY&point=10.776889,106.700806&point=10.818,106.6585&points_encoded=true&vehicle=car&sources=all&destinations=all&annotation=duration

    Thay YOUR_API_KEY bằng API key của bạn trước khi chạy.

    Tôi cần tích hợp Matrix API v4 của Vietmap vào ứng dụng của mình.
    
    Tài liệu chính thức: https://maps.vietmap.vn/docs/map-api/matrix-version/matrix-v4/
    
    Đây là một request mẫu đã chạy được trên Vietmap API Playground:
    
    GET https://maps.vietmap.vn/api/matrix/v4?apikey=YOUR_API_KEY&point=10.776889,106.700806&point=10.818,106.6585&points_encoded=true&vehicle=car&sources=all&destinations=all&annotation=duration
    
    Tham số đang dùng:
    - point = 10.776889,106.700806
    - point = 10.818,106.6585
    - points_encoded = true
    - vehicle = car
    - sources = all
    - destinations = all
    - annotation = duration
    
    Hãy viết code bằng [ngôn ngữ / framework của tôi] để gọi API này, với các yêu cầu:
    1. Đọc API key từ biến môi trường VIETMAP_API_KEY, không ghi cứng trong code.
    2. Truyền tham số qua query string đúng như request mẫu; tham số lặp lại (như `point`) phải giữ nguyên thứ tự.
    3. Xử lý lỗi theo mã HTTP của Vietmap:
       - 401: API key sai hoặc đã bị thu hồi.
       - 403: key bị giới hạn theo domain / IP không khớp.
       - 423: API chưa được bật cho consumer của key, HOẶC tài khoản hết credit — phân biệt bằng nội dung phản hồi (có cụm "exceeded credit" là hết credit).
       - 429: vượt giới hạn tần suất — thử lại với backoff tăng dần.
    4. Đặt timeout cho request, và định nghĩa kiểu dữ liệu (type / interface / dataclass) cho phản hồi.
    
    Nếu không chắc tên một trường, tra trong tài liệu ở link trên thay vì đoán.

    Dán vào ChatGPT, Claude… để sinh code tích hợp. Prompt không bao giờ chứa API key của bạn.

    Distance Matrix API là gì?

    Matrix API (Distance Matrix API) tính thời gian và quãng đường giữa nhiều điểm xuất phát và nhiều điểm đến trong một lần gọi, thay vì gọi Route cho từng cặp. Có thể chỉ định riêng danh sách điểm xuất phát (sources) và điểm đến (destinations) để chỉ tính những cặp cần thiết. Kết quả là đầu vào cho bài toán điều phối: ghép tài xế gần khách nhất, chọn kho phục vụ từng đơn, hay làm dữ liệu cho thuật toán tối ưu riêng.

    Dùng để làm gì

    • Tìm tài xế gần khách nhất trong app gọi xe.
    • Chọn kho giao hàng cho từng đơn.
    • Lọc cửa hàng trong phạm vi thời gian di chuyển.
    • Dữ liệu đầu vào cho thuật toán xếp tuyến tự viết.

    Request mẫu

    GET https://maps.vietmap.vn/api/matrix/v4?apikey=YOUR_API_KEY&point=10.7768,106.7009&point=10.8018,106.7066&point=10.7725,106.6828&sources=0&destinations=1;2&annotation=duration,distance

    sources và destinations là chỉ số (từ 0) trong danh sách point, nối bằng dấu chấm phẩy.

    Câu hỏi thường gặp về Distance Matrix API

    Distance Matrix API là gì?
    Distance matrix (ma trận khoảng cách) là bảng thời gian và quãng đường di chuyển giữa từng cặp điểm xuất phát và điểm đến. Matrix API tính cả bảng trong một lần gọi thay vì gọi Route cho từng cặp, theo đường đi thực tế chứ không phải đường chim bay.
    Khi nào dùng Matrix, khi nào dùng Route?
    Dùng Matrix khi chỉ cần con số thời gian, quãng đường cho nhiều cặp điểm để so sánh hoặc ra quyết định. Dùng Route khi cần đường đi cụ thể để vẽ lên bản đồ và chỉ dẫn từng chặng.
    Làm sao chỉ tính một số cặp điểm?
    Dùng tham số sources và destinations: liệt kê chỉ số (từ 0) của điểm xuất phát và điểm đến trong danh sách point, nối bằng dấu chấm phẩy. Ví dụ một tài xế và ba khách: sources=0, destinations=1;2;3.
    Dùng thử Distance Matrix API có mất phí không?
    Trên Playground có sẵn API key demo để gọi thử Distance Matrix API ngay trên trình duyệt, không cần đăng ký. Khi tích hợp vào sản phẩm, bạn đăng ký tài khoản VIETMAP để có API key riêng. Phí tính theo transaction, mỗi API quy đổi số request ra transaction theo tỉ lệ riêng; chi tiết và chương trình trải nghiệm miễn phí có trong bảng giá.