Geofencing API
Geofencing API GTEL MAPS được thiết kế nhằm hỗ trợ xác định vị trí của các điểm (tọa độ GPS) so với một vùng địa lý xác định, giúp đánh giá liệu các điểm đó có nằm bên trong hay bên ngoài khu vực quan tâm. Vùng geofence có thể được khai báo linh hoạt theo nhiều hình thức:
Bán kính từ một tọa độ trung tâm (type=radius)
Đa giác không gian dựa trên tọa độ (type=polygon)
Đơn vị hành chính như tỉnh, huyện, xã (type=admin)
Truy xuất Geofencing API
Loading...
| Tham số bắt buộc | Kiểu dữ liệu | Mô tả |
|---|---|---|
type | string | Loại vùng geofence cần kiểm tra: - radius: theo bán kính (mặc định)- polygon: theo vùng đa giác- admin: theo đơn vị hành chính |
points | array | Danh sách các điểm geofence (ít nhất 1), mỗi điểm gồm id, lon, lat. |
points[].id | string | Mã định danh cho điểm geofence. |
points[].lon | float | Kinh độ của điểm, giá trị từ -180 đến 180. |
points[].lat | float | Vĩ độ của điểm, giá trị từ -90 đến 90. |
lon | float | Kinh độ của tâm vùng bán kính. Bắt buộc khi type=radius. |
lat | float | Vĩ độ của tâm vùng bán kính. Bắt buộc khi type=radius. |
radius | integer | Bán kính tính từ tâm đến ranh giới vùng (đơn vị: mét). Bắt buộc khi type=radius. |
geometry | object | Hình học vùng geofence, định dạng theo GeoJSON: - Polygon: đa giác- MultiPolygon: tập hợp nhiều đa giácBắt buộc khi type=polygon. |
admin_code | string | Mã xác định đơn vị hành chính: - 2 ký tự: cấp tỉnh/thành - 3 ký tự: cấp quận/huyện - 5 ký tự: cấp phường/xã Bắt buộc khi type=admin. |
| Tham số tuỳ chọn | Kiểu dữ liệu | Mô tả |
|---|---|---|
tolerance | integer | Dung sai mở rộng vùng (đơn vị: mét). Áp dụng cho type=polygon và type=admin. |
options | object | Tùy chọn bổ sung cho xử lý geofence. |
options.sort_by | string | Cách sắp xếp kết quả (chỉ dùng khi type=radius):- distance: theo khoảng cách - route: theo tuyến đường di chuyển - time: theo theo thời gian di chuyển thực tế |
Yêu cầu mẫu: Truy xuất Geofencing API
Loading...
Request Body:
{
"type": "radius",
"points": [
{
"id": "1",
"lon": 106.70418188049558,
"lat": 10.776559514960368
},
{
"id": "2",
"lon": 106.84253546053299,
"lat": 10.715430447196468
},
{
"id": "3",
"lon": 106.81957924622054,
"lat": 10.533942572233116
}
],
"radius": 10000,
"lon": 106.72748123557483,
"lat": 10.76763409297699,
"geometry": {
"type": "Polygon",
"coordinates": [
[
[106.46685214236334, 10.74397525752805],
[106.525585009223, 10.711087934746033],
[106.54947851849204, 10.671956728720346],
[106.60323891434945, 10.658259615738643],
[106.63907917825475, 10.62694961599388],
[106.67292831638736, 10.640648136476273],
[106.70677745452002, 10.66021638391301],
[106.73266208956176, 10.630863541730463],
[106.71673308338245, 10.587807602378774],
[106.74261771842413, 10.572149396216034],
[106.75655559883205, 10.456645533277822],
[106.82226274932452, 10.374396224091157],
[106.88597472075236, 10.356777312813549],
[106.96164138628427, 10.372437890231154],
[106.99947294307617, 10.42335676131087],
[107.0094285719398, 10.497762028750827],
[107.03132871222522, 10.533001927403745],
[107.01739028014549, 10.554534771321599],
[107.02734331510305, 10.585853243588915],
[107.00345150746665, 10.62303730995555],
[106.98284633232339, 10.588354944537187],
[106.9063923586757, 10.60469044020202],
[106.88312208308992, 10.653699497726478],
[106.82993330380094, 10.634096782700325],
[106.77674439606244, 10.670034019266538],
[106.75007736486486, 10.714996136590429],
[106.7734126938999, 10.750428950890381],
[106.8306903197132, 10.758765479603468],
[106.87541257107586, 10.767776323652257],
[106.88540096065367, 10.807312336991885],
[106.83757151789541, 10.897446038454731],
[106.7936150280375, 10.868526679677885],
[106.69119550563528, 10.911624419694164],
[106.64242500000307, 10.940353789158962],
[106.65217776487214, 10.983439326035352],
[106.59853070978329, 11.050451529684167],
[106.53025410289081, 11.064811569432322],
[106.54000776535742, 11.12701767534972],
[106.4571009868227, 11.155730048232584],
[106.39857447116583, 11.02653691921006],
[106.33517077215686, 10.99303451044159],
[106.37418747444025, 10.945154679817279],
[106.41320475147643, 10.973880086674797],
[106.53025423044897, 10.902049719737562],
[106.50586884464673, 10.811050085848322],
[106.46685214236334, 10.74397525752805]
]
]
},
"admin_code": "79",
"tolerance": 1000,
"options": {
"sort_by": "distance"
}
}
Phản hồi mẫu: Truy xuất Geofencing API
{
"status": "OK",
"message": "Geofencing check passed",
"data": [
{
"id": "1",
"is_inside": true,
"distance": 24.95,
"route": 4.572,
"time": 351
},
{
"id": "2",
"is_inside": false,
"distance": 126.344,
"route": 39.261,
"time": 2096
},
{
"id": "3",
"is_inside": false,
"distance": 251.185,
"route": 40.799,
"time": 3659
}
],
"licence": "© GTEL Maps"
}