Browse Source

[优化] 修正方法名.

上海一张图
赵旭 4 years ago
parent
commit
b216c4c499
  1. 8
      src/modules/map/declare/factory.ts
  2. 26
      src/modules/map/declare/gaode-map.ts
  3. 41
      src/modules/map/declare/map-tools.ts

8
src/modules/map/declare/factory.ts

@ -7,7 +7,7 @@ import MapTools from './map-tools';
export class MapFactory { export class MapFactory {
public static MapInstance(container: string, options: IMapOptions | any): IMap { public static MapInstance(container: string, options: IMapOptions | any): IMap {
let config = MapTools.InstanceConvert(options); let config = MapTools.ExplicitConvert(options);
switch (mapSupplier) { switch (mapSupplier) {
case 1: return new GaoDeMap(container, config); case 1: return new GaoDeMap(container, config);
case 2: return new KeDaMap(container, config); case 2: return new KeDaMap(container, config);
@ -54,7 +54,7 @@ export class MapFactory {
public static SizeInstance(x: number, y: number): ISize { public static SizeInstance(x: number, y: number): ISize {
switch (mapSupplier) { switch (mapSupplier) {
case 1: return new GaodeSize(x,y); case 1: return new GaodeSize(x, y);
default: return null; default: return null;
} }
} }
@ -80,7 +80,7 @@ export class MapFactory {
} }
} }
public static AutocompleteInstance(city:Object): IAutocomplete { public static AutocompleteInstance(city: Object): IAutocomplete {
switch (mapSupplier) { switch (mapSupplier) {
case 1: return new GaodeAutocomplete(city); case 1: return new GaodeAutocomplete(city);
default: return null; default: return null;
@ -94,7 +94,7 @@ export class MapFactory {
} }
} }
public static MouseToolInstance(map:IMap): IMouseTool { public static MouseToolInstance(map: IMap): IMouseTool {
switch (mapSupplier) { switch (mapSupplier) {
case 1: return new GaodeMouseTool(map); case 1: return new GaodeMouseTool(map);
default: return null; default: return null;

26
src/modules/map/declare/gaode-map.ts

@ -27,7 +27,7 @@ export class GaoDeMap extends GaodeBasic implements IMap {
getBounds() { getBounds() {
return this.self.getBounds() return this.self.getBounds()
} }
add(obj: IMarker|any) { add(obj: IMarker | any) {
return this.self.add(obj.self) return this.self.add(obj.self)
} }
remove(obj: any) { remove(obj: any) {
@ -63,7 +63,7 @@ export class GaoDePixel extends GaodeBasic implements IPixel {
export class GaoDeMarker extends GaodeBasic implements IMarker { export class GaoDeMarker extends GaodeBasic implements IMarker {
constructor(options: IMarkOptions) { constructor(options: IMarkOptions) {
super(); super();
let conf = MapTools.InstanceConvert(options); let conf = MapTools.ExplicitConvert(options);
this.self = new AMap.Marker(conf); this.self = new AMap.Marker(conf);
this._position = this.self._position; this._position = this.self._position;
} }
@ -85,13 +85,13 @@ export class GaoDeMarker extends GaodeBasic implements IMarker {
export class GaoDeMarkerCluster extends GaodeBasic implements IMarkerCluster { export class GaoDeMarkerCluster extends GaodeBasic implements IMarkerCluster {
constructor(map: IMap, list: Object[], options: any) { constructor(map: IMap, list: Object[], options: any) {
super(); super();
let conf = MapTools.InstanceConvert(options); let conf = MapTools.ExplicitConvert(options);
this.self = new AMap.MarkerCluster(map.self, list, conf) this.self = new AMap.MarkerCluster(map.self, list, conf)
} }
on(eventName: string, callback: Function): void { on(eventName: string, callback: Function): void {
this.self.on(eventName, callback); this.self.on(eventName, callback);
} }
setData(list:any[]) { setData(list: any[]) {
this.self.setData(list) this.self.setData(list)
} }
} }
@ -123,9 +123,9 @@ export class GaodeIcon extends GaodeBasic implements IIcon {
} }
export class GaodeSize extends GaodeBasic implements ISize { export class GaodeSize extends GaodeBasic implements ISize {
constructor(x:number, y:number) { constructor(x: number, y: number) {
super(); super();
this.self = new AMap.Size(x,y); this.self = new AMap.Size(x, y);
} }
} }
@ -152,21 +152,21 @@ export class GaodeDriving extends GaodeBasic implements IDriving {
clear() { clear() {
this.self.clear() this.self.clear()
} }
search(x:any, y:any, callback:Function) { search(x: any, y: any, callback: Function) {
this.self.search(x.self,y.self,callback) this.self.search(x.self, y.self, callback)
} }
} }
export class GaodeAutocomplete extends GaodeBasic implements IAutocomplete { export class GaodeAutocomplete extends GaodeBasic implements IAutocomplete {
constructor(city:Object) { constructor(city: Object) {
super(); super();
this.self = new AMap.Autocomplete(city) this.self = new AMap.Autocomplete(city)
} }
on(eventName: string, callback: Function) { on(eventName: string, callback: Function) {
this.self.on(eventName,callback) this.self.on(eventName, callback)
} }
search(address: string, callback: Function) { search(address: string, callback: Function) {
this.self.search(address,callback) this.self.search(address, callback)
} }
} }
@ -183,7 +183,7 @@ export class GaodeMouseTool extends GaodeBasic implements IMouseTool {
this.self = new AMap.MouseTool(map.self); this.self = new AMap.MouseTool(map.self);
} }
rule(options: any) { rule(options: any) {
let conf = MapTools.InstanceConvert(options); let conf = MapTools.ExplicitConvert(options);
return this.self.rule(conf) return this.self.rule(conf)
} }
measureArea(options: any) { measureArea(options: any) {
@ -204,7 +204,7 @@ export class GaodeInfoWindow extends GaodeBasic implements IInfoWindow {
return this.self.open(map.self) return this.self.open(map.self)
} }
listen(html: any, event: string, callback: Function) { listen(html: any, event: string, callback: Function) {
return this.self.listen(html,event,callback) return this.self.listen(html, event, callback)
} }
} }

41
src/modules/map/declare/map-tools.ts

@ -1,12 +1,13 @@
export default class MapTools { export default class MapTools {
public static InstanceConvert(data: any): any { //显式转换
public static ExplicitConvert(data: any): any {
if (data == null) { if (data == null) {
return return
} }
let obj = Object.assign({}, data); let obj = Object.assign({}, data);
let convert = (obj: any, data: string) => { let convert = (obj: any, data: string) => {
if(!obj[data])return; if (!obj[data]) return;
if (obj[data].discriminator === "ISelf") { if (obj[data].discriminator === "ISelf") {
obj[data] = obj[data].self; obj[data] = obj[data].self;
} else if (obj[data].discriminator === "ISelfCombine") { } else if (obj[data].discriminator === "ISelfCombine") {
@ -14,27 +15,27 @@ export default class MapTools {
} }
} }
let process = (obj: any,deep:number=0) => { let process = (obj: any, deep: number = 0) => {
try{ try {
deep++; deep++;
if(deep>=4)return; if (deep >= 4) return;
if (obj == undefined) return; if (obj == undefined) return;
if (!(obj instanceof Object)) return; if (!(obj instanceof Object)) return;
for (var name in obj) { for (var name in obj) {
if (obj[name] instanceof Array) { if (obj[name] instanceof Array) {
for (var j in obj[name]) { for (var j in obj[name]) {
convert(obj[name],j); convert(obj[name], j);
process(obj[name][j],deep); process(obj[name][j], deep);
}
continue;
} }
continue; convert(obj, name);
process(obj[name], deep);
} }
convert(obj, name); } catch (e) {
process(obj[name],deep); console.log(e);
debugger
} }
}catch(e){
console.log(e);
debugger
}
} }
process(obj); process(obj);
return obj; return obj;

Loading…
Cancel
Save