使用高德地圖API獲取最新行政區(qū)域數(shù)據(jù)(省市區(qū)等數(shù)據(jù)json)

文檔:https://lbs.amap.com/api/webservice/guide/api/district/#limit
API: https://restapi.amap.com/v3/config/district?subdistrict=4&key=申請的key
key: 注冊后免費獲取

image.png

瀏覽器端訪問

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>行政區(qū)域數(shù)據(jù)</title>
</head>

<body>

  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script>
    var key = '***';
    var subdistrict = 2; // 數(shù)據(jù)的層級: 2:省市; 3:省市區(qū) ......
    $.get(`https://restapi.amap.com/v3/config/district?subdistrict=${subdistrict}&key=${key}`,
      function (data, textStatus, jqXHR) {
        console.log(data);
      }
    );
  </script>
</body>

</html>

使用node生成json文件,轉換為自己所需的格式

const axios = require('axios');
const fs = require('fs');

const key = '***';
const subdistrict = 2; // 數(shù)據(jù)的層級: 2:省市; 3:省市區(qū) ......
axios
  .get(
    `https://restapi.amap.com/v3/config/district?subdistrict=${subdistrict}&key=${key}`
  )
  .then(function (res) {
    console.log(res.data);

    if (res.status == 200) {
      const data = customData(res.data.districts[0].districts);
      const jsonStr = JSON.stringify(data, '', '\t');

      fs.writeFile('area.json', jsonStr, function (err) {
        if (err) {
          return console.error(err);
        }
        console.log('數(shù)據(jù)寫入成功!');
      });
    }
  })
  .catch(function (error) {
    console.log(error);
  });

function customData(arr) {
  let array = [];
  get(arr, array);
  return array;

  function get(districts, children) {
    districts.forEach(item => {
      children.push({
        value: item.adcode,
        label: item.name,
      });
      if (item.districts.length != 0) {
        children[children.length - 1].children = [];
        get(item.districts, children[children.length - 1].children);
      }
    });
  }
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容