dmitrymomot/geocode

此包已被放弃,不再维护。未建议替代包。

Google 地理编码 API for Laravel 4(基于 jcf/geocode 并更新了 guzzle)

1.0.1 2015-11-26 15:22 UTC

This package is auto-updated.

Last update: 2024-03-12 21:08:10 UTC


README

需要新版本 guzzle 的分支

Latest Stable Version Total Downloads License

一个简单的 Laravel 4 服务提供程序,用于 Google 地理编码 API。

安装

可以通过在项目的 composer.json 中要求 jcf/geocode 包,通过 Composer 安装此包。

{
    "require": {
        "dmitrymomot/geocode": "1.0.*"
    }
}

然后运行 composer update

php composer.phar update

更新 composer 后,将 ServiceProvider 添加到 app/config/app.php 中的 providers 数组

'Jcf\Geocode\GeocodeServiceProvider',

在同一个文件中,添加别名 Geocode 并将其外观添加到 aliases 数组

'Geocode' => 'Jcf\Geocode\Facades\Geocode'

使用方法

您可以从地址中查找数据

$response = Geocode::make()->address('1 Infinite Loop');

if ($response) {
    echo $response->latitude();
    echo $response->longitude();
    echo $response->formattedAddress();
    echo $response->locationType();
}

// Output
// 37.331741
// -122.0303329
// 1 Infinite Loop, Cupertino, CA 95014, USA
// ROOFTOP

或从纬度/经度

$response = Geocode::make()->latLng(40.7637931,-73.9722014);
if ($response) {
    echo $response->latitude();
    echo $response->longitude();
    echo $response->formattedAddress();
    echo $response->locationType();
}

// Output
// 40.7637931
// -73.9722014
// 767 5th Avenue, New York, NY 10153, USA
// ROOFTOP

如果您需要除格式化地址、纬度、经度或位置类型以外的其他数据,可以使用 raw() 方法

$response = Geocode::make()->latLng(40.7637931,-73.9722014);
if ($response) {
    echo $response->raw()->address_components[8]['types'][0];
    echo $response->raw()->address_components[8]['long_name'];
}

// Output
// postal_code
// 10153

就是这些。欢迎提交拉取请求。