第一步:引入地图api js ,地图容器id,初始化

 <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.3&key=bca3c8db7e16261dadc9b149bb686e71"></script>
<div id="add-notice-container" name="container" tabIndex="0"/>

第二步:

// 获取省市列表信息及当前城市地区代码
export const getMapDate = (_this, id, num) => { // id: 地图容器,num:表示省市区列表即 1:省,2:市,3:区,4:街道// let provinceList = [];// let cityCode = null;_this.setState({mapObj: new window.AMap.Map(id)}, () => {// 获取省区列表_this.state.mapObj.plugin('AMap.DistrictSearch', () => {var districtSearch = new window.AMap.DistrictSearch({level: 'country',subdistrict: num // 1:省,2:市,3:区,4:街道});districtSearch.search('中国', (status, result) => {               _this.setState({provinceList: result.districtList[0].districtList.sort((a, b) => {return a.adcode - b.adcode})});});});// 获取当前城市地区代码// _this.state.mapObj.plugin('AMap.CitySearch', () => {//     var citySearch = new window.AMap.CitySearch();//     citySearch.getLocalCity((status, result) => {//         if (status === 'complete' && result.info === 'OK') {//             cityCode = result.adcode;//         }//     })// })});
};

根据省市区 查找对应的省市区name

// 根据省市区id 查找 省市区name
export const pCAName = (provinceList, adcode) => {const optionsOfCity = [{value: "0", label: "全国"}];//省,市选项生成const optionsOfArea = [{value: "0", label: "全国"}];//省,市,区选项生成let currentCityName = [];let currentCity = [];let currentAreaName = [];let currentArea = [];if (provinceList.length) {        provinceList.forEach((item) => {let childrenCity = [];let childrenArea = [];if (item.districtList) {item.districtList.forEach((subItem) => {let subChildrenArea = [];if (subItem.districtList) {subItem.districtList.forEach((thirdItem) => {subChildrenArea.push({value: thirdItem.adcode, label: thirdItem.name});if (thirdItem.adcode === String(adcode)) {currentArea = [item.adcode, subItem.adcode, thirdItem.adcode];currentAreaName = [item.name, subItem.name, thirdItem.name];}})}if (subItem.adcode === String(adcode)) {currentCity = [item.adcode, subItem.adcode];currentCityName = [item.name, subItem.name];}childrenCity.push({value: subItem.adcode, label: subItem.name});childrenArea.push({value: subItem.adcode, label: subItem.name, children: subChildrenArea});})}optionsOfCity.push({value: item.adcode, label: item.name, children: childrenCity});optionsOfArea.push({value: item.adcode, label: item.name, children: childrenArea});})}return { optionsOfCity, currentCity, currentCityName, optionsOfArea, currentArea, currentAreaName };
};

react 中使用高德地图 获取省市区列表相关推荐

  1. 在vue中使用高德地图获取坐标与地址信息(包含点击+搜索)

    首先 注册登陆高德地图 https://lbs.amap.com/ 划过头像里面有个应用管理点开 进入到应用管理打开我的应用 选择创建应用 然后按照要求填写内容,切记一定要选择web端(JS API) ...

  2. vue项目中使用高德地图获取用户当前位置信息

    项目背景是用vue开发的小程序,需要获取当前用户的地理位置,折腾了好久终于弄好了,今天分享给大家,话不多说,let's go! 第一步:在index.html页面引入高德地图 <script t ...

  3. 使用高德地图获取省市区信息

    最近添加需求需要获取国内省市区三级信息,使用高德开放平台,可以顺利的获取到当前国内省市区信息,如图所示: 操作流程: 先创建web应用,记录应用Key,绑定Web服务 https://console. ...

  4. react 逆地理 高德地图_react中使用高德地图的原生API

    干货,无话 1.react-create-app,创建新react项目: 2.npm install react-amap,引入高德地图的封装: 3.编写组件index.js: import Reac ...

  5. 高德,百度地图获取省市区

    近期,遇到一个根据定位获取省市区的需求,前期用了加载百度地图js的方式,经过实验,https在部分ios手机上都获取不到省市区.后来发现是百度地图API中getCurrentPosition方法提示错 ...

  6. 在vue中使用高德地图的下属省市区查询,实现省市区的联动以及规划范围

    在vue中使用高德地图的下属省市区查询,实现省市区的联动以及规划范围 一.先上效果图 二.高德地图Vue引用 一.先上效果图 二.高德地图Vue引用 1. webpack引入高德 在webpack.b ...

  7. 在Vue中使用高德地图

    在Vue中使用高德地图 一.如何在Vue中引入基础高德地图 1.步骤一:注册并登录高德地图开放平台,申请密钥 2.步骤二:安装高德地图加载器 3.封装一个自定义地图组件,并初始化地图 二.根据关键词搜 ...

  8. 技巧 | 在R语言中使用高德地图的API进行地理/逆地理编码(地址与经纬度的相互转换)...

    高德地图和百度地图都提供了坐标拾取系统,通过坐标查询或坐标反查操作可以查询一个地址对应的经纬度或经纬度对应的地址名称.但是,手动查询的方式效率很低,也不能进行批量查询. 本篇就来介绍在R语言中调用高德 ...

  9. Java从高德地图获取全国地铁站数据

    Java从高德地图获取全国地铁站数据. 数据来源(高德地图):http://map.amap.com/subway/index.html?&4401 采集代码 /*** 从高德地图地铁线路同步 ...

最新文章

  1. Stacking+Blending
  2. workaround for %33 texture memory bug
  3. C语言 void 指针 - C语言零基础入门教程
  4. tensorflow实战学习笔记(1)
  5. Pycharm如何取消自动换行
  6. 终于来了!Win11 预览版镜像提前出世(附 ISO 下载)
  7. 计算机3d打印技术论文,金属3D打印技术探究论文
  8. 工业相机和镜头参数简析
  9. 注意ITUNES与ECLIPSE,TOMCAT冲突
  10. MySQL常用语句(二)
  11. Adyen海外支付 - 直付
  12. Java 9:“拼图计划终于给了我们急需的Java安全带”
  13. Linux内存是怎么工作的?
  14. 什么是Web应用防火墙
  15. 【网课必备】学浪视频下载方法
  16. oracle11g断电后无法启动,电脑突然断电后无法启动
  17. Canvas悟空推箱子
  18. 什么决定了你的自我驱动力
  19. 抖音只能上下滑动吗_仿抖音上下滑动播放视频
  20. Cisco路由器忘记密码

热门文章

  1. RhinoPython绘制随机大小圆
  2. composer安装laravel下载不了
  3. 【MATLAB】绘制三角函数曲线、图像的叠加
  4. 解决ubuntu下kazam录制视频无法在windows播放问题
  5. OpenCORE原理和核心代码破解,增加AVI格式。
  6. win11怎么升级更新显卡驱动
  7. element ui table中想使得其中一列数据拥有横向滚动条的效果
  8. 视频博主都在用的 音频素材网,免费还可商用
  9. fseek函数的应用
  10. 炎症回路和肠道微生物