2.2.20 • Published 7 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
7 months ago
2.2.19
7 months ago
2.2.18
7 months ago
2.2.17
7 months ago
2.2.16
7 months ago
2.2.15
7 months ago
2.2.14
7 months ago
2.2.13
7 months ago
2.2.12
7 months ago
2.2.11
7 months ago
2.2.10
7 months ago
2.2.9
7 months ago
2.2.8
7 months ago
2.2.7
7 months ago
2.2.6
7 months ago
2.2.5
7 months ago
2.2.4
7 months ago
2.2.3
7 months ago
2.2.2
7 months ago
2.2.1
7 months ago
2.2.0
7 months ago
2.1.8
7 months ago
2.1.7
7 months ago
2.1.6
7 months ago
2.1.5
7 months ago
2.1.4
7 months ago
2.1.3
7 months ago
2.1.2
8 months ago
2.1.1
8 months ago
2.1.0
8 months ago
1.1.0
8 months ago
1.0.1
8 months ago
1.0.0
8 months ago