Skip to content

Commit 1ee24ad

Browse files
2 parents 3dbe56f + 06d7cff commit 1ee24ad

File tree

10 files changed

+135
-50
lines changed

10 files changed

+135
-50
lines changed

build/jsdocs/classic/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"src/common/REST.js"
5151
],
5252
"exclude": [
53+
"src/common/thirdparty/ai",
5354
"src/classic/libs",
5455
"src/classic/theme",
5556
"src/classic/resource",

build/jsdocs/leaflet/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
],
2525
"exclude": [
2626
"src/common/overlay/levelRenderer",
27+
"src/common/thirdparty/ai",
2728
"src/common/lang/locales",
2829
"src/common/iPortal/iPortalQueryResult",
2930
"src/common/online/OnlineServiceBase",

build/jsdocs/mapboxgl/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
],
2424
"exclude": [
2525
"src/common/overlay/levelRenderer",
26+
"src/common/thirdparty/ai",
2627
"src/common/lang/locales",
2728
"src/common/iPortal/iPortalQueryResult",
2829
"src/common/online/OnlineServiceBase",

build/jsdocs/openlayers/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
],
2424
"exclude": [
2525
"src/common/overlay/levelRenderer",
26+
"src/common/thirdparty/ai",
2627
"src/common/lang/locales",
2728
"src/common/iPortal/iPortalQueryResult",
2829
"src/common/online/OnlineServiceBase",

build/jsdocs/template/publish.js

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,27 @@ function attachModuleSymbols(doclets, modules) {
243243
function buildNav(members, view, templatePath) {
244244
var sorted = sortNav(members);
245245
view.categories = buildCategories(sorted, templatePath);
246-
view.navMap = buildNavMap(sorted);
246+
view.navMap = buildNavMap(sorted,view.linkto);
247+
var methods = {};
248+
for (const key in view.navMap ) {
249+
if (Object.hasOwnProperty.call(view.navMap , key)) {
250+
const element = view.navMap[key];
251+
const m = element.methods.map(e => {
252+
return e.name;
253+
});
254+
if(!element.fileName && m.length>0){
255+
console.log("没有文件名的类:", element.longname,element.type,m)
256+
}
257+
if(methods[element.fileName]){
258+
console.log("重复的文件名:", element.longname,element.fileName,element.type,m)
259+
}else{
260+
methods[element.fileName] = m;
261+
}
262+
263+
}
264+
}
265+
var methodsPath = path.join(outdir, 'methods.json');
266+
fs.writeFileSync(methodsPath, JSON.stringify(methods), 'utf8');
247267
}
248268

249269
function sortNav(members) {
@@ -291,12 +311,13 @@ function buildCategories(members, templatePath) {
291311
* @param {array<object>} members.events
292312
* @return {string} The HTML for the navigation sidebar.
293313
*/
294-
function buildNavMap(members) {
314+
function buildNavMap(members,linkto) {
295315
this.navMap = {};
296316
_.each(members, function (v) {
297317
var nav;
298318
if (v.kind == 'namespace') {
299319
nav = {
320+
fileName:`${linkto(v.meta.filename)}#${v.name}`,
300321
type: 'namespace',
301322
longname: v.longname,
302323
version: v.version,
@@ -320,6 +341,7 @@ function buildNavMap(members) {
320341
};
321342
} else if (v.kind == 'class') {
322343
nav = {
344+
fileName:`${linkto(v.meta.filename)}#${v.name}`,
323345
type: 'class',
324346
longname: v.longname,
325347
name: v.name,
@@ -344,6 +366,7 @@ function buildNavMap(members) {
344366
};
345367
} else if (v.scope === 'global') {
346368
nav = {
369+
fileName:`${linkto(v.meta.filename)}#${v.name}`,
347370
type: 'global',
348371
longname: v.longname,
349372
version: v.version,

build/jsdocs/template/tmpl/navigation.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function build(nav,navOrder,level){
6969
}
7070
function buildLi(obj){
7171
?>
72-
<li class="item" data-name="<?js= obj.longname ?>">
72+
<li class="item" file-name="<?js= obj.fileName ?>" data-name="<?js= obj.longname ?>">
7373
<span class="title" title="<?js= obj.longname ?>">
7474
<?js= self.linkto(obj.longname, obj.longname) ?>
7575
</span>

src/common/format/JSON.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ export class JSONFormat extends Format {
234234
object = JSON.parse(json, filter);
235235
} catch (e) {
236236
// Fall through if the regexp test fails.
237+
return { data: json}
237238
}
238239
}
239240

src/common/iServer/CommonServiceBase.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ export class CommonServiceBase {
143143
options.crossOrigin = options.crossOrigin != undefined ? options.crossOrigin : me.crossOrigin;
144144
options.headers = options.headers || me.headers;
145145
options.isInTheSameDomain = me.isInTheSameDomain;
146+
options.withoutFormatSuffix = options.scope.withoutFormatSuffix || false;
146147
//为url添加安全认证信息片段
147148
options.url = SecurityManager.appendCredential(options.url);
148149

@@ -277,6 +278,7 @@ export class CommonServiceBase {
277278
}
278279
FetchRequest.commit(options.method, options.url, options.params, {
279280
headers: options.headers,
281+
withoutFormatSuffix: options.withoutFormatSuffix,
280282
withCredentials: options.withCredentials,
281283
crossOrigin: options.crossOrigin,
282284
timeout: options.async ? 0 : null,

src/common/util/MapCalculateUtil.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,42 @@ export function conversionDegree(degrees) {
111111
second = parseInt(second / 10) === 0 ? `0${second}` : second;
112112
return `${degree}°${fraction}'${second}`;
113113
}
114+
115+
export function scalesToResolutions(scales, bounds, dpi, unit, level = 22) {
116+
var resolutions = [];
117+
if (scales && scales.length > 0) {
118+
for (let i = 0; i < scales.length; i++) {
119+
resolutions.push(scaleToResolution(scales[i], dpi, unit));
120+
}
121+
} else {
122+
const maxReolution = Math.abs(bounds.left - bounds.right) / 256;
123+
for (let i = 0; i < level; i++) {
124+
resolutions.push(maxReolution / Math.pow(2, i));
125+
}
126+
}
127+
return resolutions.sort(function (a, b) {
128+
return b - a;
129+
});
130+
}
131+
132+
export function getZoomByResolution(resolution, resolutions) {
133+
let zoom = 0;
134+
let minDistance;
135+
for (let i = 0; i < resolutions.length; i++) {
136+
if (i === 0) {
137+
minDistance = Math.abs(resolution - resolutions[i]);
138+
}
139+
if (minDistance > Math.abs(resolution - resolutions[i])) {
140+
minDistance = Math.abs(resolution - resolutions[i]);
141+
zoom = i;
142+
}
143+
}
144+
return zoom;
145+
}
146+
147+
export function scaleToResolution(scale, dpi, mapUnit) {
148+
const inchPerMeter = 1 / 0.0254;
149+
const meterPerMapUnitValue = getMeterPerMapUnit(mapUnit);
150+
const resolution = 1 / (scale * dpi * inchPerMeter * meterPerMapUnitValue);
151+
return resolution;
152+
}
Lines changed: 63 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
/* Copyright© 2000 - 2022 SuperMap Software Co.Ltd. All rights reserved.
22
* This program are made available under the terms of the Apache License, Version 2.0
33
* which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
4-
import {ServiceBase} from './ServiceBase';
4+
import { ServiceBase } from './ServiceBase';
55
import { MapService as CommonMapService } from '@supermap/iclient-common/iServer/MapService';
66
import { TilesetsService } from '@supermap/iclient-common/iServer/TilesetsService';
7-
87
/**
98
* @class MapService
109
* @category iServer Map
@@ -23,52 +22,69 @@ import { TilesetsService } from '@supermap/iclient-common/iServer/TilesetsServic
2322
* @usage
2423
*/
2524
export class MapService extends ServiceBase {
25+
constructor(url, options) {
26+
super(url, options);
27+
}
2628

27-
constructor(url, options) {
28-
super(url, options);
29-
}
29+
/**
30+
* @function MapService.prototype.getMapInfo
31+
* @description 地图信息查询服务。
32+
* @param {RequestCallback} callback - 回调函数。
33+
* @returns {MapService} 获取服务信息。
34+
*/
35+
getMapInfo(callback) {
36+
var me = this;
37+
var getMapStatusService = new CommonMapService(me.url, {
38+
proxy: me.options.proxy,
39+
withCredentials: me.options.withCredentials,
40+
crossOrigin: me.options.crossOrigin,
41+
headers: me.options.headers,
42+
eventListeners: {
43+
scope: me,
44+
processCompleted: callback,
45+
processFailed: callback
46+
},
47+
projection: me.options.projection
48+
});
49+
getMapStatusService.processAsync();
50+
}
3051

31-
/**
32-
* @function MapService.prototype.getMapInfo
33-
* @description 地图信息查询服务。
34-
* @param {RequestCallback} callback - 回调函数。
35-
* @returns {MapService} 获取服务信息。
36-
*/
37-
getMapInfo(callback) {
38-
var me = this;
39-
var getMapStatusService = new CommonMapService(me.url, {
40-
proxy: me.options.proxy,
41-
withCredentials: me.options.withCredentials,
42-
crossOrigin: me.options.crossOrigin,
43-
headers: me.options.headers,
44-
eventListeners: {
45-
scope: me,
46-
processCompleted: callback,
47-
processFailed: callback
48-
}, projection: me.options.projection
49-
});
50-
getMapStatusService.processAsync();
51-
}
52+
getWkt(callback) {
53+
var me = this;
54+
var getMapStatusService = new CommonMapService(`${me.url}/prjCoordSys.wkt`, {
55+
proxy: me.options.proxy,
56+
withCredentials: me.options.withCredentials,
57+
withoutFormatSuffix: true,
58+
crossOrigin: me.options.crossOrigin,
59+
headers: me.options.headers,
60+
eventListeners: {
61+
scope: me,
62+
processCompleted: callback,
63+
processFailed: callback
64+
}, projection: me.options.projection
65+
});
66+
getMapStatusService.processAsync();
67+
}
5268

53-
/**
54-
* @function MapService.prototype.getTilesets
55-
* @description 切片列表信息查询服务。
56-
* @param {RequestCallback} callback - 回调函数。
57-
* @returns {MapService} 获取服务信息。
58-
*/
59-
getTilesets(callback) {
60-
var me = this;
61-
var tilesetsService = new TilesetsService(me.url, {
62-
proxy: me.options.proxy,
63-
withCredentials: me.options.withCredentials,
64-
crossOrigin: me.options.crossOrigin,
65-
headers: me.options.headers,
66-
eventListeners: {
67-
scope: me,
68-
processCompleted: callback,
69-
processFailed: callback
70-
}
71-
});
72-
tilesetsService.processAsync();
73-
}
69+
/**
70+
* @function MapService.prototype.getTilesets
71+
* @description 切片列表信息查询服务。
72+
* @param {RequestCallback} callback - 回调函数。
73+
* @returns {MapService} 获取服务信息。
74+
*/
75+
getTilesets(callback) {
76+
var me = this;
77+
var tilesetsService = new TilesetsService(me.url, {
78+
proxy: me.options.proxy,
79+
withCredentials: me.options.withCredentials,
80+
crossOrigin: me.options.crossOrigin,
81+
headers: me.options.headers,
82+
eventListeners: {
83+
scope: me,
84+
processCompleted: callback,
85+
processFailed: callback
86+
}
87+
});
88+
tilesetsService.processAsync();
89+
}
7490
}

0 commit comments

Comments
 (0)