assghard / php-geocoders
PHP项目地理编码库
0.2.2
2023-04-26 11:00 UTC
Requires
- php: >=8.0
- ext-curl: *
README
一个简单的PHP库,它提供了使用不同的提供者(如Nominatim(OpenStreetMap)、Google等)的地理编码和反向地理编码功能。通过坐标获取地址,通过地址获取坐标
要求
- PHP >= 8.0
- PHP cURL
安装
安装最新版本(适用于PHP 8+)
composer require assghard/php-geocoders
对于较旧版本的PHP
如果您使用PHP 7+:composer require assghard/php-geocoders:dev-php7
如果您使用PHP 5.6:composer require assghard/php-geocoders:dev-php56
用法
Nominatim地理编码器
在uses部分添加GeocodingService
和NominatimGeocoderProvider
use Assghard\PhpGeocoders\GeocodingService; use Assghard\PhpGeocoders\Providers\NominatimGeocoderProvider;
$geocoder = new NominatimGeocoderProvider(); $geocodingService = new GeocodingService($geocoder); // Get coordinates by address $geocodeData = $geocodingService->geocode($addressAsString); // Get address by coordinates $reverseData = $geocodingService->reverse($latitude, $longitude);
您也可以向地理编码器提供者提供国家代码/代码
$geocoder = new NominatimGeocoderProvider('en');
多个国家代码
$geocoder = new NominatimGeocoderProvider(['en', 'pl']);
Google地理编码器
use Assghard\PhpGeocoders\GeocodingService; use Assghard\PhpGeocoders\Providers\GoogleGeocoderProvider;
...
$geocoder = new GoogleGeocoderProvider('GOOGLE_MAPS_API_KEY', 'en'); /** * "en" - English language code. See Google documentation: https://developers.google.com/admin-sdk/directory/v1/languages * * Google Maps javascript API documentation: https://developers.google.com/maps/documentation/javascript/overview */ $geocodingService = new GeocodingService($geocoder); $geocodeData = $geocodingService->geocode($addressAsString); // Get coordinates by address $reverseData = $geocodingService->reverse($latitude, $longitude); // Get address by coordinates
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件