vovanmix / google-places-api
Google Places Api
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ^6.1
- illuminate/container: ~5.0
- illuminate/support: ~5.0
- laravel/framework: ~5.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-14 18:20:44 UTC
README
这是对 https://github.com/SachinAgarwal1337/google-places-api 的一个分支。
我添加了结果模型类、获取照片的API和缓存。
Google Places APi。
这是一个针对 Google Places Api Web Service 的PHP包装器。并且对 Laravel 框架 友好。
关于包
只需2行代码,您就可以请求任何Google Places API功能。无需手动执行任何curl请求。
以下地点请求可用
- 地点搜索 根据用户的位置或搜索字符串返回地点列表。
- 地点详情 请求返回有关特定地点的更详细信息,包括用户评论。
- 地点自动完成 可以在您输入时自动填写地点的名称和/或地址。
- 查询自动完成 可以用于提供基于文本的地理搜索的查询预测服务,通过在您输入时返回建议的查询。
安装
使用composer安装
composer require vovanmix/google-places-api
用法
Laravel用户可以查看 Laravel用法 部分
步骤1 - 使用命名空间导入类
use Vovanmix\GoogleApi\PlacesApi;
步骤2 - 初始化对象
$googlePlaces = new PlacesApi('API KEY');
注意:您还可以在初始化类后使用 setKey('KEY')
方法设置 API密钥。您可以将此与任何其他方法链在一起。
步骤3 - 开始使用API。
示例
$response = $googlePlaces->placeAutocomplete('some Place');
如前所述,只需2行代码即可执行任何请求。
完整示例
use Vovanmix\GoogleApi\PlacesApi; function () { $googlePlaces = new PlacesApi('API_KEY') # line 1 $response = $googlePlaces->placeAutocomplete('some input'); # line 2 }
与Laravel一起使用
步骤1
在 config\app.php 中设置服务提供者和外观
'providers' => [ .... .... Vovanmix\GoogleApi\ServiceProvider::class, ]; 'aliases' => [ .... .... 'GooglePlaces' => Vovanmix\GoogleApi\Facade::class, ];
步骤2
使用以下artisan命令发布配置文件
php artisan vendor:publish --provider="Vovanmix\GoogleApi\ServiceProvider"
这将创建配置目录中的 google.php 文件。
在此配置文件中设置 API密钥。
设置3
开始使用包,使用外观。
$response = GooglePlaces::placesAutocomplete('some city');
响应
返回的响应是 Laravel的集合,因此您可以在其上执行任何可用的集合方法。
如果您不熟悉 Laravel的集合,您可以参考此处 的文档,或者您可以使用 response 作为简单的数组。
可用方法
地点搜索
nearbySearch($location, $radius = null, $params = [])
location
— 检索地点信息所在的纬度/经度。这必须指定为纬度,经度。- 'radius' — 定义返回地点结果的范围(以米为单位)。允许的最大半径为50,000米。注意,如果指定了
rankby=distance
(在以下 可选参数 中描述),则不需要包括radius
。 - 如果指定了
rankby=distance
(在以下 可选参数 中描述),则必须指定一个或多个keyword
、name
或types
。 params
- 可选参数 您可以参考Google的官方网站 上的所有可用的可选参数
textSearch($query, $params = [])
query
— 要搜索的文本字符串,例如:“餐厅”。Google 地点服务将根据此字符串返回候选匹配项,并根据它们感知的相关性排序结果。params
- 可选参数 您可以参考Google的官方网站 上的所有可用的可选参数
radarSearch($location, $radius, array $params)
location
— 检索地点信息所在的纬度/经度。这必须指定为纬度,经度。radius
— 定义返回地点结果的范围(以米为单位)。允许的最大半径是 50,000 米。params
- 可选参数 您可以参考Google的官方网站 上的所有可用的可选参数
注意:雷达搜索请求必须包含至少一个 keyword
、name
或 types
。
地点详情
placeDetails($placeId, $params = [])
placeId
— 一个文本标识符,唯一地标识一个地点,由地点搜索返回。params
- 可选参数 您可以在Google 官方网页上找到所有可用的可选参数。
地点自动补全
placeAutocomplete($input, $params = [])
input
— 要搜索的文本字符串。地点自动补全服务将根据此字符串返回候选匹配项,并根据它们感知的相关性排序结果。params
- 可选参数 您可以在Google 官方网页上找到所有可用的可选参数。
查询自动补全
queryAutocomplete($input, $params = [])
input
— 要搜索的文本字符串。地点服务将根据此字符串返回候选匹配项,并根据它们感知的相关性排序结果。params
- 可选参数 您可以在Google 官方网页上找到所有可用的可选参数。
其他方法
getStatus()
这将返回 Google API 发送响应的状态。在任何请求之后使用它。
getKey()
这将返回与请求一起使用的 API KEY
。
setKey($key)
这将设置 API KEY
。
贡献
请随意报告问题或发起拉取请求。如果您发现此文档可以在任何方面得到改进,请随意为此打开一个问题。
许可证
Google 地点 API 是开源软件,根据MIT 许可证授权。