geocoder-php / arcgis-online-provider
Geocoder ArcGIS Online 适配器
4.4.0
2022-07-30 12:09 UTC
Requires
- php: ^7.4 || ^8.0
- geocoder-php/common-http: ^4.0
- willdurand/geocoder: ^4.0
Requires (Dev)
- geocoder-php/provider-integration-tests: ^1.0
- php-http/curl-client: ^2.2
- php-http/message: ^1.0
- phpunit/phpunit: ^9.5
Provides
README
这是 PHP Geocoder 的 ArcGIS 提供程序。这是一个只读仓库。有关信息和文档,请参阅主仓库。
ArcGIS 提供了 2 个地址地理编码 API
geocodeAddresses
findAddressCandidates
- 该 API 说明
应用程序在合同上被禁止存储地理编码交易的成果,除非它们通过传递值为
true
的forStorage
参数和有效的 ArcGIS Onlinetoken
参数来请求。
由于 geocodeAddresses
API 需要令牌,因此 geocodeQuery
方法检查 token
属性
- 如果
token
为NULL
,则使用findAddressCandidates
API。 - 如果
token
不是NULL
,则使用geocodeAddresses
API。- 如果
token
值无效或已过期,您将收到错误。 - 令牌的最大有效期是 14 天。
- 生成 ArcGIS 令牌的说明
- 如果
用法
无令牌
$httpClient = new \Http\Discovery\Psr18Client(); $provider = new \Geocoder\Provider\ArcGISList\ArcGISList($httpClient); // Uses the `findAddressCandidates` operation. Result storage is prohibited. $result = $geocoder->geocodeQuery(GeocodeQuery::create('Buckingham Palace, London'));
有令牌
$httpClient = new \Http\Discovery\Psr18Client(); // Your token is required. $provider = \Geocoder\Provider\ArcGISList\ArcGISList::token($httpClient, 'your-token'); // Uses the `geocodeAddresses` operation. Result storage is permitted. $result = $geocoder->geocodeQuery(GeocodeQuery::create('Buckingham Palace, London'));
安装
composer require geocoder-php/arcgis-online-provider
注意
可以指定一个 sourceCountry
来限制结果只针对这个特定的国家,从而减少请求时间(请注意,这不适用于反向地理编码)。