赞
踩
echarts地图根据地块名称获取地块的中心坐标。实现在中心位置放置标记。
需要放置数据的地块名称的数据格式:
mapData: [
{name: '江苏省', value: 500},
{name: '上海市', value: 10}
],
计算中心代码:
- // this.geoData是中国地图的geojson格式数据
- // this.mapData是需要计算中心点的省份名称数据
- for (let item of this.mapData) {
- //从地图数据中拿到坐标
- for ( let area of this.geoData.features){
- if (item.name === area.properties.name){
- let coordinates;
- // 判断是否是多块的地图
- if (area.geometry.type === 'MultiPolygon') {
- coordinates = area.geometry.coordinates[0][0]
- } else {
- coordinates = area.geometry.coordinates[0]
- }
- //计算中心点
- let x = 0, y = 0, count = 0;
- for (let i = 0; i < coordinates.length; i++) {
- x += coordinates[i][0];
- y += coordinates[i][1];
- count++;
- }
- this.pointData.push({
- name: item.name,
- value: [x / count, y / count],
- data: item.value
- })
-
- // this.pointData.push({
- // name: item.name,
- // value: area.properties.center,
- // data: item.value
- // })
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。