2022年实时最新省市区县乡镇街道geojson行政边界数据获取方法

geojson 数据下载地址:https://hxkj.vip/demo/echartsMap/
可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据(可精确到乡镇/街道级)
一、通过API接口,实时获取最新中国省市区县geoJSON格式地图数据,可用于Echarts地图展示1、效果图如下

2022年实时最新省市区县乡镇街道geojson行政边界数据获取方法

文章插图
2022年实时最新省市区县乡镇街道geojson行政边界数据获取方法

文章插图
2、示例代码
downloadMapCode() {// 下载mapCode数据let mapCode = [], cityMapCode = [], provinceMapCode = [], provinceList = [], cityList = [],districtList = [];provinceList = this.codeList.filter(item => {return item.level === 'province'})cityList = this.codeList.filter(item => {return item.level === 'city'})districtList = this.codeList.filter(item => {return item.level === 'district'})districtList.forEach(item => {mapCode.push({name: item.name,cityCode: item.code,fatherCode: `${item.code.substring(0, 4)}00`,children: []})})// 筛选出直辖市下面的区县let direct = mapCode.filter(item => {return item.fatherCode.includes('0000');})for (let i in cityList) {let children = []for (let j in mapCode) {if (mapCode[j].fatherCode == cityList[i].code) {children.push(mapCode[j])}}cityMapCode.push({name: cityList[i].name,cityCode: cityList[i].code,fatherCode: `${cityList[i].code.substring(0, 2)}0000`,children: children})}cityMapCode = cityMapCode.concat(direct);for (let i in provinceList) {let children = []for (let j in cityMapCode) {if (cityMapCode[j].fatherCode == provinceList[i].code) {children.push(cityMapCode[j])}}provinceMapCode.push({name: provinceList[i].name,cityCode: provinceList[i].code,fatherCode: '100000',children: children})}if (provinceMapCode.length === 0) returnthis.zip.file(`mapCode.json`, JSON.stringify(provinceMapCode));this.downloadTips = '文件打包压缩中...';this.zip.generateAsync({ type: "blob" }).then((content) => {saveAs(content, "mapCode.zip");});},// 下载全国地名和编码(不包含边界数据)downloadNameAndCode() {let opts = {subdistrict: 3, //返回下一级行政区showbiz: false, //最后一级返回街道信息};let district = new AMap.DistrictSearch(opts); //注意:需要使用插件同步下发功能才能这样直接使用district.search('中国', function (status, result) {if (status === 'complete') {getData(result.districtList[0]);}});let _this = thisfunction getData(data) {let districtList = data.districtList;let blob = new Blob([JSON.stringify(districtList)], {type: 'text/plain;charset=utf-8',});let filename = '全国省市区县街道和编码(不包含边界数据)';_this.$ba.trackEvent('echartsMap', '全国省市区县街道和编码(不包含边界数据)下载', filename);saveAs(blob, `${filename}.json`); //filename}},echartsMapClick(params) {//地图点击事件this.$ba.trackEvent('echartsMap', '点击地图', `${params.data.name}-${params.data.cityCode}`);if (params.data.level == 'street') return;//清除地图上所有覆盖物for (var i = 0, l = this.polygons.length; i < l; i++) {this.polygons[i].setMap(null);}this.cityName = params.data.name;this.cityCode = params.data.cityCode;this.district.setLevel(params.data.level); //行政区级别this.district.setExtensions('all');//行政区查询//按照adcode进行查询可以保证数据返回的唯一性this.district.search(this.cityCode, (status, result) => {if (status === 'complete') {this.getData(result.districtList[0], params.data.level, this.cityCode);}});},loadMapData(areaCode) {AMapUI.loadUI(['geo/DistrictExplorer'], DistrictExplorer => {//创建一个实例var districtExplorer = window.districtExplorer = new DistrictExplorer({eventSupport: true, //打开事件支持map: this.map});districtExplorer.loadAreaNode(areaCode, (error, areaNode) => {if (error) {console.error(error);return;}let mapJson = {};mapJson.type = "FeatureCollection";mapJson.features = areaNode.getSubFeatures();this.loadMap(this.cityName, mapJson);this.geoJsonData = https://www.huyubaike.com/biancheng/mapJson;});});},

经验总结扩展阅读