(mở trong tab mới)gmap cloud
Tư vấn giải phápLiên hệ
Tuyến đườngCơ bản2 phút đọcCó mã mẫu

Vẽ vùng giao hàng 15 phút quanh cửa hàng

Vùng giao hàng vẽ theo bán kính tròn không phản ánh đường đi thật. Isochrone cho bạn vùng có thể đến trong một khoảng thời gian, theo mạng lưới đường.

· GMap Cloud

Gọi API isochrone

contours là các mốc thời gian (phút). Thêm "polygons": true để nhận vùng dạng Polygon, dễ tô màu.

cURL
curl 'https://cloud.gmap.vn/api/tsp/route/isochrone' \
  --header 'x-api-key: public-gmap-cloud-x-api-key-demo' \
  --header 'content-type: application/json' \
  --data '{
    "locations": [{ "lat": 16.0682606, "lon": 108.224093 }],
    "costing": "auto",
    "contours": [{ "time": 15 }],
    "polygons": true
  }'

Kết quả là GeoJSON FeatureCollection; mỗi Feature là một vùng, properties.contour cho biết số phút.

Tô vùng lên bản đồ

Thêm vào bản đồ MapLibre đã tạo ở bài “Hiển thị bản đồ Việt Nam bằng MapLibre GL JS”.

JavaScript
map.on('load', async () => {
  const response = await fetch(
    'https://cloud.gmap.vn/api/tsp/route/isochrone?x-api-key=public-gmap-cloud-x-api-key-demo',
    {
      method: 'POST',
      headers: { 'content-type': 'application/json' },
      body: JSON.stringify({
        locations: [{ lat: 16.0682606, lon: 108.224093 }],
        costing: 'auto',
        contours: [{ time: 15 }, { time: 30 }],
        polygons: true,
      }),
    },
  );
  map.addSource('service-area', { type: 'geojson', data: await response.json() });
  map.addLayer({
    id: 'service-area',
    type: 'fill',
    source: 'service-area',
    paint: { 'fill-color': '#0754ff', 'fill-opacity': 0.18 },
  });
});

Dùng vùng vào việc gì

  • Tính phí giao hàng theo vùng 15 phút, 30 phút thay vì theo km.
  • So sánh vùng phục vụ của các mặt bằng trước khi mở cửa hàng mới.
  • Kiểm tra một địa chỉ có nằm trong vùng giao trong ngày hay không.

Thời gian là ước tính theo mô hình định tuyến, chưa gồm giao thông thời gian thực.