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:
Truy xuất Geofencing API
Loading...
Xác định theo bán kính
Tham số yêu cầu:
| Tham số | Kiểu dữ liệu | Mô tả |
|---|---|---|
type | string | Kiểm tra theo bán kính (mặc định). Giá trị: radius. |
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. |
lat | float | Vĩ độ của tâm vùng bán kính. |
radius | integer | Bán kính tính từ tâm đến ranh giới vùng (đơn vị: mét). |
Mẫu yêu cầu:
{
"type": "radius",
"points": [
{
"id": "1",
"lat": 10.776559514960368,
"lon": 106.70418188049558
},
{
"id": "2",
"lat": 10.715430447196468,
"lon": 106.84253546053299
},
{
"id": "3",
"lat": 10.533942572233116,
"lon": 106.81957924622054
}
],
"radius": 10000,
"lat": 10.76763409297699,
"lon": 106.72748123557483
}
Mẫu phản hồi:
{
"status": "OK",
"message": "Geofencing check passed",
"data": [
{
"id": "1",
"is_inside": true
},
{
"id": "2",
"is_inside": false
},
{
"id": "3",
"is_inside": false
}
],
"licence": "© GTEL Maps"
}
Xác định theo vùng đa giác
Tham số yêu cầu:
| Tham số | Kiểu dữ liệu | Mô tả |
|---|---|---|
type | string | Kiểm tra theo vùng đa giác. Giá trị: polygon. |
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. |
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ác |
Mẫu yêu cầu:
{
"type": "polygon",
"points": [
{
"id": "1",
"lat": 10.776559514960368,
"lon": 106.70418188049558
},
{
"id": "2",
"lat": 10.715430447196468,
"lon": 106.84253546053299
},
{
"id": "3",
"lat": 10.533942572233116,
"lon": 106.81957924622054
}
],
"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]
]
]
}
}
Mẫu phản hồi:
{
"status": "OK",
"message": "Geofencing check passed",
"data": [
{
"id": "1",
"is_inside": true
},
{
"id": "2",
"is_inside": false
},
{
"id": "3",
"is_inside": true
}
],
"licence": "© GTEL Maps"
}
Xác định theo đơn vị hành chính
Tham số yêu cầu:
| Tham số | Kiểu dữ liệu | Mô tả |
|---|---|---|
type | string | Kiểm tra theo đơn vị hành chính. Giá trị: admin. |
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. |
admin_code | string | Mã xác định đơn vị hành chính: - 2 ký tự: cấp quốc gia (VN) - 2 ký tự: cấp tỉnh/thành (01, 79) - 5 ký tự: cấp phường/xã (26485, 27673) |
Mẫu yêu cầu:
{
"type": "admin",
"points": [
{
"id": "1",
"lat": 10.776559514960368,
"lon": 106.70418188049558
},
{
"id": "2",
"lat": 10.715430447196468,
"lon": 106.84253546053299
},
{
"id": "3",
"lat": 10.533942572233116,
"lon": 106.81957924622054
}
],
"admin_code": "79"
}
Mẫu phản hồi:
{
"status": "OK",
"message": "Geofencing check passed",
"data": [
{
"id": "1",
"is_inside": true
},
{
"id": "2",
"is_inside": false
},
{
"id": "3",
"is_inside": true
}
],
"licence": "© GTEL Maps"
}
Tham số tùy chọn
| Tham số | 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 thời gian di chuyển thực tế |
Mẫu yêu cầu:
{
"type": "radius",
"points": [
{
"id": "1",
"lat": 10.776559514960368,
"lon": 106.70418188049558
},
{
"id": "2",
"lat": 10.715430447196468,
"lon": 106.84253546053299
},
{
"id": "3",
"lat": 10.533942572233116,
"lon": 106.81957924622054
}
],
"radius": 10000,
"lat": 10.76763409297699,
"lon": 106.72748123557483,
"options": {
"sort_by": "distance"
}
}
Mẫu phản hồi:
{
"status": "OK",
"message": "Geofencing check passed",
"data": [
{
"id": "1",
"is_inside": true,
"distance": 24.95,
"route": 4.569,
"time": 678
},
{
"id": "2",
"is_inside": false,
"distance": 126.344,
"route": 23.941,
"time": 1424
},
{
"id": "3",
"is_inside": false,
"distance": 251.185,
"route": 40.8,
"time": 5145
}
],
"licence": "© GTEL Maps"
}