当前位置:首页 > 技术分享

GEO 定位,根据地理坐标获取所在城市信息,城市逆地址解析 根据城市名称获取中心坐标 开源免费

admin4小时前技术分享3

当前地图太贵,有些时候比较不需要太精准的时候可以考虑使用本接口。

GeoLocator 是一个基于经纬度坐标获取城市信息的 PHP 库,支持多种坐标系转换,提供高性能的地理定位功能。

a.JPEG

演示地址:https://tool.bitefu.net/geo/ apikey:关注公众号回复【坐标】获取 

qrcode.jpg

仓库地址

https://gitee.com/web/city_geo

主要功能

  • 根据经纬度坐标获取所在城市信息

  • 根据城市名称获取城市中心点坐标

  • 支持多种坐标系转换(GCJ02、WGS84、BD09LL)

  • 高性能设计,使用单文件 JSON 数据

  • 提供 RESTful API 接口

目录结构

city_geo/
├── data/
│   └── geojson/        # 原始 GeoJSON 数据文件
├── GeoLocator.php      # 主类文件(单文件 JSON 版本)
├── GeoLocatorJson.php  # 旧版本(多文件 JSON 版本)
├── index.php           # API 接口入口
├── geo.json            # 合并后的压缩 JSON 数据
├── merge_geojson.php   # JSON 文件合并脚本
├── benchmark.php       # 性能对比脚本
├── demo.php            # 使用示例
├── API_DOCS.md         # API 文档
├── README.md           # 中文项目说明
└── README_en.md        # 英文项目说明

安装使用

1. 环境要求

  • PHP 5.6 及以上版本

  • 支持 gzip 扩展(用于读取压缩的 JSON 文件)

2. 数据准备

运行 JSON 文件合并脚本,生成 geo.json 文件:

php merge_geojson.php

3. 基本使用

// 引入类文件
require_once 'GeoLocator.php';

// 创建实例
$geoLocator = new GeoLocator();

// 根据坐标获取城市
$city = $geoLocator->getCityByCoordinates(31.310623, 120.592528);
echo "城市: " . $city['name'] . " (" . $city['code'] . ")\n";

// 根据城市名称获取中心点坐标
$center = $geoLocator->getCityCenterByCityName("北京市");
echo "中心点坐标: " . $center[0] . ", " . $center[1] . "\n";

详细的 API 文档请参考 https://gitee.com/web/city_geo/blob/master/API_DOCS.md 文件。

支持的坐标系

  • gcj02: 高德/腾讯坐标系

  • wgs84: GPS 坐标系

  • gps: 等同于 WGS84

  • bd09ll: 百度坐标系

数据来源

GeoJSON 数据来源于公开的地理信息数据,包含了中国的省份、城市和区县边界信息。


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/739.html

分享给朋友:

“GEO 定位,根据地理坐标获取所在城市信息,城市逆地址解析 根据城市名称获取中心坐标 开源免费” 的相关文章

mysql update不支持set子查询更新 的解决办法

mysql update不支持set子查询更新 的解决办法

先看示例:SELECT uin,account,password,create_user_uin_tree FROM sys_user结果:表中的create_user_uin_tree标识该条记录由谁创建。创…

[教程] WTG备份新方法——FFU镜像格式

[教程] WTG备份新方法——FFU镜像格式

FFU(Full Flash Update) 格式是一种基于扇区的磁盘镜像文件格式,默认使用快速哈夫曼压缩(Xpress-Huffman)算法压缩,在捕获和部署时会生成哈希表进行校验,并可以使用DISM修改捕获的镜像。FFU格式很适合WTG…

微软版Ghost Win10:FFU映像备份和还原

微软版Ghost Win10:FFU映像备份和还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原…

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,…

php Aes 加密模式ECB填充pkcs5padding base64

最近做支付项目用到了aes加密不过试了好多办法总是和官方给出的结果不一样,找了很久终于找到了测试结果同 http://tool.chacuo.net/cryptaes/ <?php /**  * [Aes&nb…

PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题:一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。