Chuyển tới nội dung chính
Phiên bản: v1.0

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ộcKiểu dữ liệuMô tả
typestringLoạ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
pointsarrayDanh sách các điểm geofence (ít nhất 1), mỗi điểm gồm id, lon, lat.
points[].idstringMã định danh cho điểm geofence.
points[].lonfloatKinh độ của điểm, giá trị từ -180 đến 180.
points[].latfloatVĩ độ của điểm, giá trị từ -90 đến 90.
lonfloatKinh độ của tâm vùng bán kính. Bắt buộc khi type=radius.
latfloatVĩ độ của tâm vùng bán kính. Bắt buộc khi type=radius.
radiusintegerBá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.
geometryobjectHì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
Bắt buộc khi type=polygon.
admin_codestringMã 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ọnKiểu dữ liệuMô tả
toleranceintegerDung sai mở rộng vùng (đơn vị: mét).
Áp dụng cho type=polygontype=admin.
optionsobjectTùy chọn bổ sung cho xử lý geofence.
options.sort_bystringCá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"
}