ThinkPHP省市区(县)街道四级联动扩展

支持 TP5.0.* 和 TP5.1.* 还有 TP6.0 ,搜索功能支持汉字,支持拼音,首字母搜索。

安装

第一步:安装扩展

Composer 运行扩展安装命令

composer require yupoxiong/region

第二步:创建数据表

复制vendor/yupoxiong/region/database/migrations目录下的数据库迁移文件到TP迁移目录(一般是 /database/migrations/ ),然后运行TP自带迁移命令创建表。

TP5.1 版本可以直接运行以下两个命令完成安装

php think region:publish

php think region:migrate

TP6.0 版本可以直接运行以下命令完成安装

php think region:migrate

添加路由

TP5.0 在 /application/route.php 中追加,TP5.1 在 /route/route.php 中追加。

Route::alias('region','\yupoxiong\region\RegionController');

TP6.0版本已经去掉别名路由,可以在路由配置里添加以下路由(多应用模式在应用路由里添加):

Route::group('region',function (){

Route::any('getRegion','\yupoxiong\region\RegionController@getRegion');

Route::any('getProvince','\yupoxiong\region\RegionController@getProvince');

Route::any('getCity','\yupoxiong\region\RegionController@getCity');

Route::any('getDistrict','\yupoxiong\region\RegionController@getDistrict');

Route::any('getStreet','\yupoxiong\region\RegionController@getStreet');

Route::any('searchRegion','\yupoxiong\region\RegionController@searchRegion');

Route::any('searchProvince','\yupoxiong\region\RegionController@searchProvince');

Route::any('searchCity','\yupoxiong\region\RegionController@searchCity');

Route::any('searchDistrict','\yupoxiong\region\RegionController@searchDistrict');

Route::any('searchStreet','\yupoxiong\region\RegionController@searchStreet');

});

使用

获取地区(最常用的方式)

url /region/getRegion

参数 parent_id ,可不传(默认0)获取省份,传入上级 id 即可获取该 id 对应的下级

获取省

url /region/getProvince

参数 无

获取市

url /region/getCity

参数 parent_id ,传入所属省 id 即可获取该省下面的市

获取区

url /region/getDistrict

参数 parent_id ,传入所属市 id 即可获取该市下面的区(县)

获取街道

url /region/getStreet

参数 parent_id ,传入所属区(县) id 即可获取该市下面的街道

搜索地区

url /region/searchRegion

参数 keywords ,搜索地区的关键字

参数 parent_id ,搜索地区的父级 id ,默认0为搜索省份

搜索省

url /region/searchProvince

参数 keywords ,搜索地区的关键字

搜索市

url /region/searchCity

参数 keywords ,搜索地区的关键字

参数 parent_id ,所属省 id

搜索区

url /region/searchDistrict

参数 keywords ,搜索地区的关键字

参数 parent_id ,所属市 id

搜索街道

url /region/searchStreet

参数 keywords ,搜索街道的关键字

参数 parent_id ,所属区(县) id

可选配置

可在配置文件中添加以下配置,5.0.* 在 /application/config.php 中追加。

//获取省市区街道缓存、查询字段配置

'region' => [

//查询缓存秒数,false为不缓存

'cache' => 20140210,

//查询字段,可选项:id,name,parent_id,initial,pinyin,citycode,adcode,lng_lat

'field' => 'id,name',

//排序,默认为adcode正序

'order' => 'adcode asc',

]

5.1.* 和 6.0 直接运行以下命令即可在 config 目录下生成 region.php 配置文件。

php think region:publish

Facade

TP5.1 和 TP6.0 可以在开发中直接使用以下代码获取数据:

\yupoxiong\region\facade\Region::getProvince();

//更多可参考该类

测试相关

安装配置好之后可以将vendor/yupoxiong/region/tests/region.html放到项目public目录下访问测试扩展是否可用

php 省市区县 四级联动,GitHub - yupoxiong/region: ThinkPHP5/6省市区(县)街道四级联动扩展...相关推荐

  1. 省市区(县)三级联动代码(js 数据源)

    ylbtech-JavaScript-Utility:省市区(县)三级联动代码(js 数据源) 省市区(县)三级联动代码(js 数据源) 1.A,源代码(Source Code)返回顶部 1.A.1, ...

  2. 2023年实时获取地图边界数据方法,省市区县多级联动【附区县乡镇街道geoJson文件下载】

    首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据.市级geojson行政边界数据 ...

  3. 2023年4月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

    首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据.市级geojson行政边界数据 ...

  4. 2023年3月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

    首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据.市级geojson行政边界数据 ...

  5. 2023年6月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

    首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据.市级geojson行政边界数据 ...

  6. echarts地图边界数据的实时获取与应用,省市区县多级联动【附最新geoJson文件下载】...

    首先,来看下效果图 在线体验地址:https://hxkj.vip/demo/echartsMap/,并提供实时geoJson数据文件下载 echarts官方社区链接地址(可在线编辑):https:/ ...

  7. echarts河北省json文件最新的_echarts地图边界数据的实时获取与应用,省市区县多级联动【附最新geoJson文件下载】...

    首先,来看下效果图 前段时间给公司弄了一套基于echarts map的地图数据展示的平台,开发过程中发现百度官方已经不提供地图下载了,于是只能期望能在网上搜到哪位大佬帮忙收集的json文件.找是找到了 ...

  8. 实时最新中国省市区县geoJSON格式地图行政边界数据Echarts地图数据(可精确到街道级)

    geojson 数据下载地址:https://hxkj.vip/demo/echartsMap/ 可下载的数据包含省级geojson行政边界数据.市级geojson行政边界数据.区/县级geojson ...

  9. 根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用

    文章目录 步骤一.下载省市区边界数据 步骤二.解析CSV文件导入数据库 步骤三.在程序中根据坐标解析获得城市 在LBS应用中,根据坐标来解析获得对应是哪个城市是一个很常见的功能,比如App里面通过手机 ...

  10. 免费分享下载最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojson json sql格式

    关键词: 省市区三级, 乡镇四级, 全国, 行政区划, 坐标边界, 矢量数据, 地理围栏, 免费下载, 2018 2019 2020 2021 2022年份, 最新数据, 长期更新, 开源维护, 支持 ...

最新文章

  1. Facebook 开源 Instagram 安全工具 Pysa
  2. java 图片上传
  3. Dubbo 版 Swagger 来啦!
  4. php总结1 ——php简介、工作原理、运行环境、文件构成、语法结构、注释
  5. 数学特级老师:数学除了做习题,这份140G的资料一定要收藏!
  6. 神秘买家6亿元拍走,乐视大厦究竟归谁?
  7. mysql sql语句 datediff_SQL语句中DateDiff函数说明
  8. hdu2063+hdu1083(最大匹配数)
  9. BZOJ 1006: [HNOI2008]神奇的国度( MCS )
  10. 如何卸载 think-cell?丨卸载教程丨卸载办法
  11. Sketch中的快捷键总结
  12. 解决android手机EditText设置光标颜色,android:textCursorDrawable=@drawable/corner_cursor 华为手机无效果的问题
  13. 日常开发中,你需要掌握的git使用报错解决
  14. vue导出excel加一个进度条_vue纯前端导出excel表格
  15. 国内有什么好的前端学习网站推荐?
  16. bugku 0和1的故事 用Excel完成
  17. Java分布式全局ID(一)
  18. uniapp 全局数据(globalData)的设置,获取,更改
  19. 零时科技 || BEGO Token 攻击事件分析
  20. showdoc 安装配置

热门文章

  1. 500强企业专家级面试果然是噩梦级,吐血分享成功经验
  2. Office 之将 PPT 图片完美插入 Word
  3. 安装74cms时出现的错误
  4. 新版个人信息安全规范正式发布:收集生物识别信息前需告知
  5. 串口服务器如何设置485信号,串口服务器485 设置
  6. MatLab中多项式数据拟合(ployfit函数与polyval函数)
  7. win10怎样修改密码及忘记密码了怎么办
  8. 2020年中华人民共和国行政区划代码
  9. attempting to load a 64-bit
  10. Mysql5.7下载安装步骤详解