Browse Source

修复 回调函数中 this指向问题.

上海一张图
赵旭 4 years ago
parent
commit
c701c4a275
  1. 962
      src/app/statistic-analysis/home/home.component.ts
  2. 198
      src/modules/map/declare/gaode-map.ts

962
src/app/statistic-analysis/home/home.component.ts

File diff suppressed because it is too large Load Diff

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

@ -14,7 +14,7 @@ export class GaoDeMap extends GaodeBasic implements IMap {
this.self = new AMap.Map(container, options); this.self = new AMap.Map(container, options);
} }
setBounds(zoom?: any, x?: any, y?: any, is?: boolean) { setBounds(zoom?: any, x?: any, y?: any, is?: boolean) {
return this.self.setBounds(zoom,x,y,is) return this.self.setBounds(zoom, x, y, is)
} }
setFitView(options: any) { setFitView(options: any) {
return this.self.setFitView(options) return this.self.setFitView(options)
@ -52,7 +52,7 @@ export class GaoDeMap extends GaodeBasic implements IMap {
setZoom(zoom) { setZoom(zoom) {
return this.self.setZoom(zoom) return this.self.setZoom(zoom)
} }
setCenter(pos:any) { setCenter(pos: any) {
return this.self.setCenter(pos) return this.self.setCenter(pos)
} }
getCenter() { getCenter() {
@ -64,10 +64,10 @@ export class GaoDeMap extends GaodeBasic implements IMap {
on(eventName: string, callback: Function): void { on(eventName: string, callback: Function): void {
return this.self.on(eventName, callback); return this.self.on(eventName, callback);
} }
setAdministrativeAreaStyle(component:any,getData?:Function, setData?:Function) {//自定义 行政区划 样式 setAdministrativeAreaStyle(component: any, getData?: Function, setData?: Function) {//自定义 行政区划 样式
let that = this let that = this
let level = sessionStorage.getItem("level") let level = sessionStorage.getItem("level")
AMapUI.loadUI(['geo/DistrictExplorer'], (DistrictExplorer)=> { AMapUI.loadUI(['geo/DistrictExplorer'], (DistrictExplorer) => {
let colors = [ let colors = [
"#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00", "#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00",
@ -82,7 +82,7 @@ export class GaoDeMap extends GaodeBasic implements IMap {
}); });
let adcode = 310000 //上海行政编码 let adcode = 310000 //上海行政编码
districtExplorer.loadAreaNode(adcode, (error, areaNode)=> { districtExplorer.loadAreaNode(adcode, (error, areaNode) => {
//更新地图视野 //更新地图视野
that.setBounds(areaNode.getBounds(), null, null, true); that.setBounds(areaNode.getBounds(), null, null, true);
@ -95,7 +95,7 @@ export class GaoDeMap extends GaodeBasic implements IMap {
districtExplorer.clearFeaturePolygons(); districtExplorer.clearFeaturePolygons();
//绘制子区域 //绘制子区域
districtExplorer.renderSubFeatures(areaNode, (feature, i) =>{ districtExplorer.renderSubFeatures(areaNode, (feature, i) => {
let fillColor = colors[i % colors.length]; let fillColor = colors[i % colors.length];
let strokeColor = colors[colors.length - 1 - i % colors.length]; let strokeColor = colors[colors.length - 1 - i % colors.length];
return { return {
@ -124,101 +124,101 @@ export class GaoDeMap extends GaodeBasic implements IMap {
that.setFitView(districtExplorer.getAllFeaturePolygons()); that.setFitView(districtExplorer.getAllFeaturePolygons());
}); });
if(level=="0"||level=="1"||level=="2"){ if (level == "0" || level == "1" || level == "2") {
//区域内点击 //区域内点击
districtExplorer.on('featureClick', (e, feature) =>{ districtExplorer.on('featureClick', (e, feature) => {
getData && getData(feature); getData && getData.call(component, feature);
let props = feature.properties; let props = feature.properties;
adcode = props.adcode adcode = props.adcode
let fillColor2 let fillColor2
if(props.level == 'city'){ if (props.level == 'city') {
fillColor2 = null fillColor2 = null
}else{ } else {
fillColor2 = '#d0daee' fillColor2 = '#d0daee'
} }
districtExplorer.loadAreaNode(adcode, (error, areaNode)=> { districtExplorer.loadAreaNode(adcode, (error, areaNode) => {
//设置定位节点,支持鼠标位置识别 //设置定位节点,支持鼠标位置识别
//注意节点的顺序,前面的高优先级 //注意节点的顺序,前面的高优先级
districtExplorer.setAreaNodesForLocating(areaNode); districtExplorer.setAreaNodesForLocating(areaNode);
//清除已有的绘制内容 //清除已有的绘制内容
districtExplorer.clearFeaturePolygons(); districtExplorer.clearFeaturePolygons();
//绘制子区域 //绘制子区域
districtExplorer.renderSubFeatures(areaNode, (feature, i) =>{ districtExplorer.renderSubFeatures(areaNode, (feature, i) => {
let fillColor = colors[i % colors.length]; let fillColor = colors[i % colors.length];
let strokeColor = colors[colors.length - 1 - i % colors.length]; let strokeColor = colors[colors.length - 1 - i % colors.length];
return { return {
cursor: 'default', cursor: 'default',
bubble: true, bubble: true,
strokeColor: strokeColor, //线颜色 strokeColor: strokeColor, //线颜色
strokeOpacity: 1, //线透明度 strokeOpacity: 1, //线透明度
strokeWeight: 1, //线宽 strokeWeight: 1, //线宽
fillColor: fillColor, //填充色 fillColor: fillColor, //填充色
fillOpacity: 0.5, //填充透明度 fillOpacity: 0.5, //填充透明度
}; };
}); });
//绘制父区域 //绘制父区域
districtExplorer.renderParentFeature(areaNode, { districtExplorer.renderParentFeature(areaNode, {
cursor: 'default', cursor: 'default',
bubble: true, bubble: true,
strokeColor: 'black', //线颜色 strokeColor: 'black', //线颜色
strokeOpacity: 1, //线透明度 strokeOpacity: 1, //线透明度
strokeWeight: 1, //线宽 strokeWeight: 1, //线宽
fillColor: fillColor2, //填充色 fillColor: fillColor2, //填充色
fillOpacity: 0.5, //填充透明度 fillOpacity: 0.5, //填充透明度
});
// 更新地图视野以适合区划面
that.setFitView(districtExplorer.getAllFeaturePolygons());
});
}); });
// 更新地图视野以适合区划面 districtExplorer.on('outsideClick', (e) => {
that.setFitView(districtExplorer.getAllFeaturePolygons()); setData && setData.call(component);
}); let adcode = 310000
}); districtExplorer.loadAreaNode(adcode, (error, areaNode) => {
districtExplorer.on('outsideClick', (e) => { //设置定位节点,支持鼠标位置识别
setData && setData(component); //注意节点的顺序,前面的高优先级
let adcode = 310000 districtExplorer.setAreaNodesForLocating(areaNode);
districtExplorer.loadAreaNode(adcode, (error, areaNode)=> {
//清除已有的绘制内容
//设置定位节点,支持鼠标位置识别 districtExplorer.clearFeaturePolygons();
//注意节点的顺序,前面的高优先级
districtExplorer.setAreaNodesForLocating(areaNode); //绘制子区域
districtExplorer.renderSubFeatures(areaNode, (feature, i) => {
//清除已有的绘制内容 let fillColor = colors[i % colors.length];
districtExplorer.clearFeaturePolygons(); let strokeColor = colors[colors.length - 1 - i % colors.length];
return {
//绘制子区域 cursor: 'default',
districtExplorer.renderSubFeatures(areaNode, (feature, i) =>{ bubble: true,
let fillColor = colors[i % colors.length]; strokeColor: strokeColor, //线颜色
let strokeColor = colors[colors.length - 1 - i % colors.length]; strokeOpacity: 1, //线透明度
return { strokeWeight: 1, //线宽
cursor: 'default', fillColor: fillColor, //填充色
bubble: true, fillOpacity: 0.5, //填充透明度
strokeColor: strokeColor, //线颜色 };
strokeOpacity: 1, //线透明度 });
strokeWeight: 1, //线宽
fillColor: fillColor, //填充色 //绘制父区域
fillOpacity: 0.5, //填充透明度 districtExplorer.renderParentFeature(areaNode, {
}; cursor: 'default',
}); bubble: true,
strokeColor: 'black', //线颜色
//绘制父区域 strokeOpacity: 1, //线透明度
districtExplorer.renderParentFeature(areaNode, { strokeWeight: 1, //线宽
cursor: 'default', fillColor: null, //填充色
bubble: true, fillOpacity: 0.5, //填充透明度
strokeColor: 'black', //线颜色 });
strokeOpacity: 1, //线透明度
strokeWeight: 1, //线宽 // 更新地图视野以适合区划面
fillColor: null, //填充色 that.setFitView(districtExplorer.getAllFeaturePolygons());
fillOpacity: 0.5, //填充透明度 });
}); })
// 更新地图视野以适合区划面
that.setFitView(districtExplorer.getAllFeaturePolygons());
});
})
} }
}); //end }); //end
@ -360,7 +360,7 @@ export class GaodePlaceSearch extends GaodeBasic implements IPlaceSearch {
this.self = new AMap.PlaceSearch() this.self = new AMap.PlaceSearch()
} }
search(text: string, callback: Function) { search(text: string, callback: Function) {
return this.self.search(text,callback) return this.self.search(text, callback)
} }
} }

Loading…
Cancel
Save