Browse Source

首页行政区划完成

上海一张图
陈鹏飞 4 years ago
parent
commit
948adc50c8
  1. 59
      src/modules/map/declare/keda-map.ts
  2. 2
      src/modules/map/declare/map.d.ts

59
src/modules/map/declare/keda-map.ts

@ -53,8 +53,63 @@ export class KeDaMap extends KedaBasic implements IMap {
}) })
return d; return d;
} }
setAdministrativeAreaStyle(conponent: any, getData?: Function, setData?: Function) { //自定义 行政区划 样式 setAdministrativeAreaStyle(component: any, getData?: Function, setData?: Function) { //自定义 行政区划 样式
let beforeCode = cityCode //当前 城市行政编码
let setTime //延时器
let initMap = ()=>{ //绘制地图
this.self.getGeometryByAdminCode({
code: beforeCode,
callback: function (res) {
this.self.highlightPolygon({
color: 'rgba(255,0,0,0.5)',
area:res.data
});
}
});
} //function
let clickMap = (e)=>{ //点击地图
console.log(e,'点击map')
this.self.getAdminInfoByPoint({
point: e.position,
callback: (res)=>{
if (res.status === 10) {
if (res.data.adminId != beforeCode && res.data.parentId === cityCode) { //当前点击位置已改动
window.clearTimeout(setTime)
beforeCode = res.data.adminId
setTime = window.setTimeout(()=>{ initMap() },100)
let name = { properties:{name: res.data.cityName } }
getData && getData.call(component,name);
return
} else if (res.data.adminId != beforeCode || res.data.parentId != cityCode) {
window.clearTimeout(setTime)
beforeCode = cityCode
setTime = window.setTimeout(()=>{ initMap() },100)
setData && setData.call(component);
}
} else {
if (beforeCode != cityCode) {
window.clearTimeout(setTime)
beforeCode = cityCode
setTime = window.setTimeout(()=>{ initMap() },100)
setData && setData.call(component);
}
}
}
});
}
this.self.addEventOnMap({
event: "load",
handler: ()=>{
initMap()
let level = Number(sessionStorage.getItem("level"))
if (level < 3) {
this.self.addEventOnMap({
event: "click",
handler: clickMap
});
}
}
});
} }
clearMap() { clearMap() {
this.self.clear() this.self.clear()

2
src/modules/map/declare/map.d.ts vendored

@ -26,7 +26,7 @@ export interface IMap extends ISelf {
getCenter(): ILngLat; getCenter(): ILngLat;
getBounds(): any; getBounds(): any;
distance(a:number[],b:number[]): any; distance(a:number[],b:number[]): any;
setAdministrativeAreaStyle(conponent:any,getData?:Function,setData?:Function): any; //自定义 行政区划 样式 setAdministrativeAreaStyle(component:any,getData?:Function,setData?:Function): any; //自定义 行政区划 样式
} }
export interface IMapOptions { export interface IMapOptions {

Loading…
Cancel
Save