yidas / google-maps-services
Google Maps API Web Services 的 PHP 客户端库(SDK)
Requires
- php: >=5.4
- guzzlehttp/guzzle: ~6.5.6|^7.4.3
This package is auto-updated.
Last update: 2024-09-16 02:35:47 UTC
README
PHP 的 Google Maps 服务
Google Maps API Web Services 的 PHP 客户端库(SDK)
概要
演示
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key']); // Geocoding an address $geocodeResult = $gmaps->geocode('Taipei 101, Taipei City, Taiwan 110'); // Look up an address with reverse geocoding $reverseGeocodeResult = $gmaps->reverseGeocode([25.0339639, 121.5644722]); // Request directions via public transit $directionsResult = $gmaps->directions('National Palace Museum', 'Taipei 101', [ 'mode' => "transit", 'departure_time' => time(), ]);
描述
PHP 客户端库是以下 Google Maps API 的客户端库
- 地图
- 路线
- 地点
要求
- PHP 7.0+ 或更高版本
API 密钥
每个 Google Maps Web 服务请求都需要一个 API 密钥或客户端 ID。API 密钥在 Google 帐户中免费可用,请访问 https://developers.google.com/console。您需要的 API 密钥类型是 服务器密钥。
获取 API 密钥
- 访问 https://developers.google.com/console 并使用 Google 帐户登录。
- 选择您现有的项目之一,或创建一个新的项目。
- 启用您计划使用的 Google Maps 服务 API,例如
- 方向 API
- 距离矩阵 API
- 地理编码 API
- ...
- 创建一个新的 服务器密钥。
- 如果您想限制请求到特定的 IP 地址,现在就做。
对于指导帮助,请按照 [方向 API][directions-key] 的说明操作。您只需要一个 API 密钥,但请记住启用您需要的所有 API。有关更多信息,请参阅 [API 密钥][apikey] 指南。
重要:此密钥应在您的服务器上保密。
安装
在您的项目中运行 Composer
composer require yidas/google-maps-services
然后您可以根据您的 PHP 框架在 Composer 加载后调用它
require __DIR__ . '/vendor/autoload.php'; use yidas\googleMaps\Client;
用法
在开始使用任何 Google Maps 服务之前,您首先需要创建一个带有配置的客户端,然后使用客户端访问 Google Maps 服务。
客户端
使用 API 密钥 创建客户端
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key']);
Google Maps APIs 付费计划许可证
如果您使用Google Maps APIs Premium Plan 许可证而不是API密钥,您可以使用客户端ID和客户端密钥(数字签名)来创建用于认证的客户端。
$gmaps = new \yidas\googleMaps\Client([ 'clientID' => 'Your client ID', 'clientSecret' => 'Your digital signature' ]);
语言
您可以设置客户端的所有服务的语言
$gmaps = new \yidas\googleMaps\Client(['key'=>'Your API Key', 'language'=>'zh-TW']);
在执行过程中更改语言
$gmaps->setLanguage('zh-TW'); // ...
API
海拔API
海拔API概述 | Google for Developers
// Get elevation by locations parameter $elevationResult = $gmaps->elevation([25.0339639, 121.5644722]); $elevationResult = $gmaps->elevation('25.0339639, 121.5644722');
路线API
$routes = $gmaps->computeRoutes($originArray, $destinationArray, $fullBodyArray, $fieldMask) // Get the route data between two places simply $routes = $gmaps->computeRoutes([ "location" => [ "latLng" => [ "latitude" => 37.419734, "longitude" => -122.0827784 ] ] ], [ "location" => [ "latLng" => [ "latitude" => 37.41767, "longitude" => -122.079595 ] ] ]); // Get the full route data between two places with full request data $routes = $gmaps->computeRoutes([...], [...], ["travelMode": "DRIVE", ...], '*');
道路API
自动贴合道路 | Google for Developers
$roads = $gmaps->snapToRoads([[-35.27801,149.12958], [-35.28032,149.12907], [-35.28099,149.12929]]);
方向 API
// Request directions via public transit $directionsResult = $gmaps->directions('National Palace Museum', 'Taipei 101', [ 'mode' => "transit", 'departure_time' => time(), ]);
距离矩阵 API
开始使用距离矩阵API | Google for Developers
// Get the distance matrix data between two places $distanceMatrixResult = $gmaps->distanceMatrix('National Palace Museum', 'Taipei 101'); // With Imperial units $distanceMatrixResult = $gmaps->distanceMatrix('National Palace Museum', 'Taipei 101', [ 'units' => 'imperial', ]);
地理编码 API
地理编码API概述 | Google for Developers
// Geocoding an address $geocodeResult = $gmaps->geocode('Taipei 101, Taipei City, Taiwan 110'); // Look up an address with reverse geocoding $reverseGeocodeResult = $gmaps->reverseGeocode([25.0339639, 121.5644722]);
地理位置API
地理位置API概述 | Google for Developers
// Simple geolocate $geolocateResult = $gmaps->geolocate([]);
时区API
时区API概述 | Google for Developers
// requests the time zone data for giving location $timezoneResult = $gmaps->timezone([25.0339639, 121.5644722]);