dotzero/gmaps-geocode

此包已被废弃且不再维护。未建议替代包。

一个用于通过 Google Maps Geocoding API 地码坐标的 PHP5 库

0.6.0 2016-04-12 09:09 UTC

This package is auto-updated.

Last update: 2022-06-04 08:41:24 UTC


README

Build Status Latest Stable Version License

一个实现通过 Google Maps Geocoding API 进行地理编码和反向地理编码的 PHP5 库。

地理编码是将地址(如“1600 Amphitheatre Parkway, Mountain View, CA”)转换为地理坐标(如纬度 37.423021 和经度 -122.083739)的过程。反向地理编码是将地理坐标转换为人类可读地址的过程。

使用方法

要使用 Google Maps Geocoding API,您需要一个 API 密钥。获取 API 密钥请遵循 说明

地理编码(纬度/经度查找)

try {
    $result = (new GMapsGeocode('YOUR_GOOGLE_API'))
        ->setAddress('Helsinki')
//        ->setRegion('FI')
        ->setComponents(array(
            'route' => 'Annegatan',
            'administrative_area' => 'Helsinki',
            'country' => 'Finland'
        ))
        ->search();

    print_r($result);
} catch (GMapsException $e) {
    printf('Error (%d): %s', $e->getCode(), $e->getMessage());
}

必需方法是在地理编码请求中使用 setAddresssetComponents,而 setRegion 是可选的。

官方文档 包含更多关于组件过滤的信息。

反向地理编码(地址查找)

try {
    $geo = (new GMapsGeocodeReverse('YOUR_GOOGLE_API'))
        ->setLatLng('40.714224', '-73.961452')
//        ->setPlaceId('ChIJd8BlQ2BZwokRAFUEcm_qrcA')
        ->search();

    print_r($result);
} catch (GMapsException $e) {
    printf('Error (%d): %s', $e->getCode(), $e->getMessage());
}

必需方法是在反向地理编码请求中使用 setLatLngsetPlaceId

安装

通过 composer

$ composer require dotzero/gmaps-geocode

不使用 composer

使用以下命令克隆项目

$ git clone https://github.com/dotzero/gmaps-geocode-php/

然后使用以下命令包含源文件

    require_once("gmaps-geocode-php/src/GMapsException.php");
    require_once("gmaps-geocode-php/src/GMapsGeocodeBase.php");
    require_once("gmaps-geocode-php/src/GMapsGeocode.php");
    require_once("gmaps-geocode-php/src/GMapsGeocodeReverse.php");

测试

首先安装依赖项,然后可以运行

GOOGLE_API=YOUR_GOOGLE_API vendor/bin/phpunit

许可

MIT 许可下授权:https://open-source.org.cn/licenses/mit-license.php