主题
合并图件
mergeFile (lpszFileName, lpszFileExtension, bAutoProjection, callback, RelevantFiles)
说明
合并图件,通常在打开图件之前使用,通过合并模板文件来修饰之后打开的图件
参数
Name | Type | Description |
---|---|---|
lpszFileName | string | 合并图件文件路径 |
lpszFileExtension | string | 图件后缀名 |
bAutoProjection | number | 是否自动投影 |
callback | function | 读取成后需要执行的操作 |
RelevantFiles | array | 关联文件地址 |
示例
javascript
// 合并图件
gdfCtrl.ctrl.file.mergeFile('http://www.xxx.xxx.dfd', '.dfd', 1, function (obj) {
gdfCtrl.ctrl.viewRefresh(0x01 | 0x02 | 0x04, function () {
gdfCtrl.ctrl.mainCanvas.viewFitCenter();
});
});
扩展
在添加 DFDraw 文件时,通常包含点线面三种类型文件,此时用合并图件来添加点线面文件
若需要指定根图层名,则将 mergeFile
替换为 mergeFileRoot 方法即可
javascript
// DFDrwa文件列表
var files = [
// FileUrl中的文件名与实际文件名不一致时需要额外添加上FileName参数
{
// 点文件
FileUrl: `http://www.xxx.xxx/DFDraw1_point.shp`,
RelevantFiles: [
{
FileUrl: `http://www.xxx.xxx/DFDraw1_point.dbf`,
FileName:"DFDraw1_point.dbf"
},
{
FileUrl: `http://www.xxx.xxx/DFDraw1_point.shx`,
FileName:"DFDraw1_point.shx"
},
],:""
},
{
// 面文件
FileUrl: `http://www.xxx.xxx/DFDraw1_polygon.shp`,
RelevantFiles: [
{
FileUrl: `http://www.xxx.xxx/DFDraw1_polygon.dbf`,
FileName:"DFDraw1_polygon.dbf"
},
{
FileUrl: `http://www.xxx.xxx/DFDraw1_polygon.shx`,
FileName:"DFDraw1_polygon.shx"
},
],
},
{
// 线文件
FileUrl: `http://www.xxx.xxx/DFDraw1_polyline.shp`,
RelevantFiles: [
{
FileUrl: `http://www.xxx.xxx/DFDraw1_polyline.dbf`,
FileName:"DFDraw1_polyline.dbf"
},
{
FileUrl: `http://www.xxx.xxx/DFDraw1_polyline.shx`,
FileName:"DFDraw1_polyline.shx"
},
],
},
];
// 递归合并图件
function openMaps(list, i) {
var item = list[i];
gdfCtrl.ctrl.file.mergeFile(item.FileUrl, 'shp', 1, function(obj) {
if (list[i + 1]) {
openMaps(list, i + 1)
} else {
gdfCtrl.ctrl.viewRefresh(0x01 | 0x02 | 0x04, function () {
gdfCtrl.ctrl.mainCanvas.viewFitCenter();
});
}
}, item.RelevantFiles);
}
// 添加DFDraw图件
openMaps(files, 0);