|
|
|
@ -53,8 +53,63 @@ export class KeDaMap extends KedaBasic implements IMap {
|
|
|
|
|
}) |
|
|
|
|
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() { |
|
|
|
|
this.self.clear() |
|
|
|
|