📜  php 地理定位包 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:37.220000             🧑  作者: Mango

PHP 地理定位包

这是一款基于 PHP 的地理定位包,可以轻松地实现 IP 定位,城市定位和 GPS 定位等功能。以下是此定位包的特点:

  • 高精度:支持多种定位方式,可以精确定位到用户所在的城市或经纬度。
  • 简单易用:只需配置几个参数即可快速集成到您的应用程序中。
  • 多平台支持:可以在大多数 PHP 框架和任何 PHP 环境中运行。
  • 数据实时更新:定期更新最新的城市和 IP 数据库,确保定位结果精准。
安装

您可以通过 Composer 安装此定位包。在您的项目根目录中运行以下命令:

composer require luffyzhao-php/location

安装完成后,请确保在您的代码中引入了自动加载文件:

require_once __DIR__ . '/vendor/autoload.php';
使用
IP 定位
use Luffyzhao\Location\IP;

$ip = new IP('8.8.8.8');
$location = $ip->get();

// $location 的格式如下:
// [
//     'country' => '美国',
//     'province' => '加利福尼亚州',
//     'city' => '山景城',
//     'isp' => '谷歌公司'
// ]
城市定位
use Luffyzhao\Location\City;

$city = new City('上海');

// 可选参数:省份名称、城市名称、区县名称、街道名称、门牌号码
$city->setAddress('上海市静安区愚园路888号');
$location = $city->get();

// $location 的格式如下:
// [
//     'latitude' => 31.23456,
//     'longitude' => 120.34567
// ]
GPS 定位
use Luffyzhao\Location\GPS;

$gps = new GPS('31.23456,120.34567');
$location = $gps->get();

// $location 的格式如下:
// [
//     'province' => '江苏省',
//     'city' => '苏州市',
//     'district' => '虎丘区',
//     'latitude' => 31.23456,
//     'longitude' => 120.34567
// ]
配置

此定位包可配置的参数如下:

  • ipDatabasePath:IP 数据库文件路径,如需使用纯真 IP 库请设置为 qqwry.dat,默认为空。
  • cityDatabasePath:城市数据库文件路径,如需使用高德地图 API 请设置为您的 API Key, 默认为空。
use Luffyzhao\Location\Config;

$config = new Config([
    'ipDatabasePath' => '/path/to/qqwry.dat',
    'cityDatabasePath' => 'your-amap-api-key'
]);
支持的平台

此定位包已经在以下平台中测试通过:

  • Apache + PHP 7.3
  • Nginx + PHP 7.4
  • PHP-Laravel 5.8
  • PHP-Yii 2.0
  • PHP-ThinkPHP 5.1
最后一句话

此定位包是一款轻量级、高精度、易扩展的 PHP 地理定位工具包,可轻松集成到您的应用程序中。如果您在使用中有任何问题或建议,请随时与我们联系。