Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7
提交
35feb2ce
提交
35feb2ce
编写于
11月 09, 2020
作者:
KK
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
地图逻辑调整
上级
148cc27b
变更
1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
24 行增加
和
50 行删除
+24
-50
CONTROL-BASE.vue.ftl
@CONTROL/地图/CONTROL-BASE.vue.ftl
+24
-50
未找到文件。
@CONTROL/地图/CONTROL-BASE.vue.ftl
浏览文件 @
35feb2ce
...
...
@@ -55,14 +55,6 @@ import { Http } from "@/ibiz-core/utils";
*/
public items:Array<any> =[];
/**
* map数据
*
* @param {Array<any>}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public geoCoordMap:any = [];
/**
* 获取单项树
*
...
...
@@ -143,9 +135,10 @@ import { Http } from "@/ibiz-core/utils";
this.$emit('load', (response.data && response.data) ? response.data : []);
this.items = [];
this.items = response.data;
this.series.forEach((temp:any) => {
temp.data = this.convertDat(temp.name);
});
for (let index = 0; index < this.series.length; index++) {
const element:any = this.series[index];
element.data = await this.convertDat(element.name);
}
this.setOptions();
return response;
}
...
...
@@ -310,9 +303,6 @@ import { Http } from "@/ibiz-core/utils";
Object.assign(this.option, { tooltip: this.tooltip }, { visualMap: this.visualMap }, { geo: this.geo }, { series: this.series })
let element: any = document.getElementById(this.mapId);
this.map = echarts.init(element);
this.loadCityList().then((res:any)=>{
this.geoCoordMap = res;
});
}
// 绘制
...
...
@@ -324,53 +314,37 @@ import { Http } from "@/ibiz-core/utils";
this.map.setOption(this.option);
}
/**
* 获取城市坐标
*
* @memberof AppCustomize
*/
public loadCityList(): Promise<any> {
return new Promise((resolve: any, reject: any) => {
Http.getInstance()
.get("./assets/json/city.json")
.then((response: any) => {
if (response && response.status === 200 && response.data) {
let result: Array<any> = [];
if (typeof response.data == "string") {
const index: number = response.data.lastIndexOf(",");
result = JSON.parse(response.data);
} else {
result = response.data;
}
resolve(result);
}
})
.catch((response: any) => {
});
});
}
// 定位数据位置
public convertDat (tag:any) {
if( !this.geoCoordMap){
return []
}
let res:any = []
let mapItemModel = this.mapItems[tag];
let mapItemData :any= this.items[tag];
mapItemData.forEach((item:any) => {
let latitude = item[mapItemModel.latitude];
let longitude = item[mapItemModel.longitude];
let geoCoord:number = this.geoCoordMap.findIndex((temp:any)=>{return temp.latitude == latitude && temp.longitude == longitude});
if (geoCoord > -1) {
for (let index = 0; index < mapItemData.length; index++) {
const element = mapItemData[index];
let latitude = element[mapItemModel.latitude];
let longitude = element[mapItemModel.longitude];
if(longitude && latitude){
let cityName = await this.getCityName(`${longitude},${latitude}`);
res.push({
name: this.geoCoordMap[geoCoord].n
ame,
name: cityN
ame,
value: [longitude,latitude].concat(mapItemData.filter((temp:any)=>{return temp[mapItemModel.latitude] == latitude && temp[mapItemModel.longitude]==longitude }).length,mapItemModel.code)
});
}
}
);
}
return res;
}
/**
* 获取城市坐标
*/
public async getCityName(location:string) {
let cityInfo = await Http.getInstance().get("api/v3/geocode/regeo",{key:"f24180cec13fe7e72472dcb9fcd26c0e",location:location})
if (cityInfo && cityInfo.status === 200 && cityInfo.data) {
if(cityInfo.data.infocode == 10000 && cityInfo.data.regeocode && cityInfo.data.regeocode.addressComponent){
return cityInfo.data.regeocode.addressComponent.city.length != 0?cityInfo.data.regeocode.addressComponent.city:cityInfo.data.regeocode.addressComponent.province;
}
}
}
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录