dmitrymomot / geocode
此包已被放弃,不再维护。未建议替代包。
Google 地理编码 API for Laravel 4(基于 jcf/geocode 并更新了 guzzle)
1.0.1
2015-11-26 15:22 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5
This package is auto-updated.
Last update: 2024-03-12 21:08:10 UTC
README
需要新版本 guzzle 的分支
一个简单的 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
就是这些。欢迎提交拉取请求。