leaflet-coord-converter-xiaoai
Version:
一个 Leaflet 坐标转换插件,支持GPS84、GCJ02、BD09坐标系之间的转换,提供简单易用的 API 和完整的 TypeScript 类型定义。
67 lines (47 loc) • 1.81 kB
Markdown
# TypeScript 类型测试结果
## ✅ 测试成功!
经过修正,TypeScript 类型定义现在可以正常工作了。
## 主要修复
1. **修改了 `tsconfig.json`**:
- 添加了 `examples/**/*` 到 `include` 中
- 移除了 `examples` 从 `exclude` 中
- 这样 TypeScript 编译器可以正确识别类型扩展
2. **类型定义文件 `src/CoordConverter.d.ts`** 已正确扩展了 Leaflet 的接口:
```typescript
interface TileLayerOptions {
coordType?: "gps84" | "gcj02" | "bd09";
}
interface GridLayerOptions {
coordType?: "gps84" | "gcj02" | "bd09";
}
```
## ✅ 现在可以正常使用的语法
```typescript
// 这些用法现在都不会有 TypeScript 错误了:
L.tileLayer("tiles/{z}/{x}/{y}.png", {
attribution: "Leaflet高德离线地图",
coordType: "gcj02", // ✅ 类型安全
tms: true,
}).addTo(map);
// 或者使用变量:
const tileLayerOptions: L.TileLayerOptions = {
attribution: "高德地图",
coordType: "gcj02", // ✅ 类型安全
maxZoom: 18,
tms: true,
};
// GridLayer 选项也支持:
const gridLayerOptions: L.GridLayerOptions = {
coordType: "bd09", // ✅ 类型安全
tileSize: 256,
};
```
## 测试文件
- **`examples/typescript-demo.ts`** - TypeScript 类型测试示例,没有编译错误
- **`examples/typescript-test.html`** - 浏览器中的测试页面
## 支持的坐标系
- `"gps84"` - GPS84/WGS84 坐标系
- `"gcj02"` - 火星坐标系(高德、腾讯等)
- `"bd09"` - 百度坐标系
## 结论
TypeScript 类型定义现在完全正常工作!你可以安全地使用 `coordType` 属性,TypeScript 会提供完整的类型检查和智能提示。