php 与Google Geocode API互动。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 与Google Geocode API互动。相关的知识,希望对你有一定的参考价值。

<?php

class GeocodeAPI {

  /**
   * Get address components for a given address.
   *
   * @param string $address
   *
   * @return object|false
   */
  public static function getAddressComponents( $address ) {
    $url = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode( $address );

    try {
      $response = json_encode( @file_get_contents( $url ), true );
      if ( !empty( $response ) ) {
        return $response['results'][0]['address_components'];
      }
    } catch ( Exception $e ) {
      return false;
    }
  }

  /**
   * Compare two addresses.
   *
   * @param string $address_1
   * @param string $address_2
   *
   * @return boolean
   *   Return true if the two addresses match. Otherwise, return false.
   */
  public static function compareAddresses( $address_1, $address_2 ) {
    $address_1 = self::getAddressComponents( $address_1 );
    $address_2 = self::getAddressComponents( $address_2 );

    if ( strcmp( $address_1->formatted_address, $address_2->formatted_address ) ) {
      return true;
    }

    return false;
  }

}

以上是关于php 与Google Geocode API互动。的主要内容,如果未能解决你的问题,请参考以下文章

通过 Zip Google Geocode Api 查找城市和州 [关闭]

Google Maps API v3:使用 IP 地址多个 LatLng 的 Geocoder.geocode

Google maps api geocode web 服务返回一个添加了点的地址

来自 Google Reverse Geocode API 的奇怪结果

google地图地址分段

使用php、API自动获取经纬度