2.2.20 • Published 10 months ago
dtuappsmithmap v2.2.20
DTUAppSmithMap
Thư viện wrapper cho Leaflet, được tùy chỉnh đặc biệt cho Appsmith với các chức năng GIS của DTU.
📦 Cài đặt
NPM
npm install dtuappsmithmap
CDN
<script src="https://cdn.jsdelivr.net/npm/dtuappsmithmap@2.2.16/dist/index.umd.js"></script>
Appsmith
Thêm URL sau vào Resource của Appsmith:
https://cdn.jsdelivr.net/npm/dtuappsmithmap@2.2.16/dist/index.umd.js
🚀 Tính năng
- Tạo và quản lý marker với icon tùy chỉnh từ Font Awesome
- Hiển thị popup thông tin với style DTU
- Vẽ đường đi theo đường phố thực tế
- Tính khoảng cách giữa các điểm
- Vẽ vùng ảnh hưởng với gradient
- Theo dõi vị trí hiện tại
🎯 Sử dụng
Khởi tạo bản đồ
const map = new DTUAppsmithMap('map-container', {
center: [16.0544, 108.2022],
zoom: 13
});
Tạo địa điểm với marker
map.taoDiaDiem(
16.0544, // latitude
108.2022, // longitude
"Đại học Duy Tân", // title
"254 Nguyễn Văn Linh", // content
"fas fa-university", // icon class (Font Awesome)
"#003C71", // icon color
{ // options
marker: {},
popup: {}
}
);
Cập nhật vị trí hiện tại
map.capNhatViTriHienTai(
16.0544,
108.2022,
"Vị trí của bạn",
"Current location"
);
Vẽ đường đi
// Vẽ đường đi giữa 2 điểm
await map.veDuongDi(
16.0544, 108.2022, // điểm bắt đầu
16.0464, 108.2326, // điểm kết thúc
{
color: '#FF0000', // màu đường
weight: 3, // độ dày
opacity: 0.8 // độ trong suốt
}
);
// Vẽ đường đi giữa 2 marker
await map.veDuongDiMarker(marker1, marker2, options);
Tính khoảng cách
// Tính khoảng cách giữa 2 điểm
const distance = map.tinhKhoangCach(
16.0544, 108.2022, // điểm 1
16.0464, 108.2326 // điểm 2
);
// Tính khoảng cách từ vị trí hiện tại đến một điểm
const distance = map.tinhKhoangCachDenDiem(16.0464, 108.2326);
// Lấy danh sách khoảng cách đến tất cả các điểm
const distances = map.tinhKhoangCachDenCacDiem();
Vẽ vùng tròn
map.veVungTron(
16.0544, // latitude
108.2022, // longitude
1000, // bán kính (mét)
'#003C71', // màu
{ // options
weight: 2,
opacity: 1,
fillOpacity: 0.2
}
);
📝 API Reference
Khởi tạo
constructor(containerId, options)
: Khởi tạo bản đồ
Marker và Địa điểm
taoDiaDiem(lat, lng, title, content, iconClass, iconColor, options)
: Tạo marker với popupcapNhatViTriHienTai(lat, lng, title, content)
: Cập nhật vị trí hiện tại
Đường đi
veDuongDi(lat1, lng1, lat2, lng2, options)
: Vẽ đường đi giữa 2 điểmveDuongDiMarker(marker1, marker2, options)
: Vẽ đường đi giữa 2 markerxoaDuongDi()
: Xóa tất cả đường đi
Khoảng cách
tinhKhoangCach(lat1, lng1, lat2, lng2)
: Tính khoảng cách giữa 2 điểmtinhKhoangCachMarker(marker1, marker2)
: Tính khoảng cách giữa 2 markertinhKhoangCachDenDiem(lat, lng)
: Tính khoảng cách từ vị trí hiện tạitinhKhoangCachDenCacDiem()
: Lấy danh sách khoảng cách đến tất cả điểm
Vùng ảnh hưởng
veVungTron(lat, lng, radius, color, options)
: Vẽ vùng tròn với gradientxoaVungTron()
: Xóa tất cả vùng tròn
Tìm kiếm
timKiemDiaChi(address)
: Tìm kiếm địa điểm và trả về tọa độ javascript // Tìm kiếm địa chỉ const coords = await map.timKiemDiaChi("254 Nguyễn Văn Linh"); // Kết quả: {lat: 16.0544, lng: 108.2022}
- `timVaDanhDau(address, options)`: Tìm kiếm và đánh dấu địa điểm trên bản đồ
```javascript
// Tìm và đánh dấu địa điểm
const marker = await map.timVaDanhDau(
"Đại học Duy Tân",
{
iconClass: 'fa-university',
iconColor: '#003C71'
}
);
## 🎨 Tùy chỉnh Style
### Custom Marker Icon
```javascript
const options = {
marker: {
draggable: true,
title: 'Marker title'
},
popup: {
maxWidth: 300,
className: 'custom-popup'
}
};
Custom Route Style
const routeOptions = {
color: '#FF0000',
weight: 3,
opacity: 0.8,
dashArray: '10, 10' // đường nét đứt
};
Custom Circle Style
const circleOptions = {
stroke: true,
color: '#003C71',
weight: 2,
opacity: 1,
fillOpacity: 0.2
};
📄 License
👥 Tác giả
DTU DZ Team - Đại học Duy Tân
Các Hàm Mới
getLocationInfo(locationId)
Trả về thông tin chi tiết về một địa điểm dựa trên ID.
2.2.20
10 months ago
2.2.19
10 months ago
2.2.18
10 months ago
2.2.17
10 months ago
2.2.16
10 months ago
2.2.15
10 months ago
2.2.14
10 months ago
2.2.13
10 months ago
2.2.12
10 months ago
2.2.11
10 months ago
2.2.10
10 months ago
2.2.9
10 months ago
2.2.8
10 months ago
2.2.7
10 months ago
2.2.6
10 months ago
2.2.5
10 months ago
2.2.4
10 months ago
2.2.3
10 months ago
2.2.2
10 months ago
2.2.1
10 months ago
2.2.0
10 months ago
2.1.8
10 months ago
2.1.7
10 months ago
2.1.6
10 months ago
2.1.5
10 months ago
2.1.4
10 months ago
2.1.3
10 months ago
2.1.2
10 months ago
2.1.1
10 months ago
2.1.0
10 months ago
1.1.0
10 months ago
1.0.1
10 months ago
1.0.0
10 months ago