yidas/google-maps-services

Google Maps API Web Services 的 PHP 客户端库(SDK)

1.2.1 2024-03-16 01:26 UTC

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)

Latest Stable Version License Total Downloads Monthly Downloads

概要

演示

$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 密钥

  1. 访问 https://developers.google.com/console 并使用 Google 帐户登录。
  2. 选择您现有的项目之一,或创建一个新的项目。
  3. 启用您计划使用的 Google Maps 服务 API,例如
    • 方向 API
    • 距离矩阵 API
    • 地理编码 API
    • ...
  4. 创建一个新的 服务器密钥
  5. 如果您想限制请求到特定的 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']);

支持的语言列表 - Google Maps Platform

在执行过程中更改语言

$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

获取路线 | Google for Developers

$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

获取路线 | Google for Developers

// 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]);