-
https://lbs.amap.com/api/webservice/guide/api/district/ 登陆高德lbs官网
查询行政区划 =》 中国 2 base
查询中国的两级行政区的坐标点位置 -
打开控制台 (chrome F12)点击运行 =》 保存请求响应为 js对象
var data = 复制Response内容
-
开始解析处理数据
由于直辖市存在的city列表为市区,直接追加一条当前省份的记录
var dataArray = data.districts.map(item => { return item.districts.map(p => { let province = [{country:item.name,country_center:item.center,province:p.name,province_center: p.center}];let citys=p.districts.map(c => { return {country:item.name,country_center:item.center,province:p.name,province_center: p.center,city: c.name, city_center: c.center} }); return province.concat(citys) }) }).flat(2)
同时,使用js的flat(2),对二维数组展开为一维 -
导出为文件
let jData =JSON.stringify(dataArray); let sblob = new Blob([jData],{type: 'text/plain;charset=UTF-8'}) ; let url = window.URL.createObjectURL(sblob); let link = document.createElement('a'); link.style.display = 'none'; link.href = url; link.setAttribute('download', 'district') ; //这里的filename就是指定浏览器生成的文件名 document.body.appendChild(link); link.click(); //a标签自动触发点击事件
-
导出为excel
//转换函数 function arrayToTable(newarray){ let tbody=""; let head=""; for(let i=0;i<newarray.length;i++){ if (head==""){ for(let key in newarray[i]){ head+="<th>"+key+"</th>"; } head="<tr>"+head+"</tr>"; } let tds=""; for(let key in newarray[i]){ tds+="<td>"+newarray[i][key]+"</td>"; } tbody+="<tr>"+tds+"</tr>" } return "<table>"+head+tbody+"</table>"; }
调用 arrayToTable (dataArray)
复制 输出的html表格 至 excel中
完成