creativefactoryrv / google-maps-geocoder
简单轻量级的地理编码器,使用谷歌地图平台API。可选使用PSR缓存。
1.0.3
2022-09-28 16:08 UTC
Requires
- php: >=7.0
- psr/cache: ^1.0
README
一个超级简单的地理编码类,使用谷歌地图平台来完成神奇的操作。
您只需获取谷歌地图平台API(https://developers.google.com/maps)。
可选地,该类可以利用PRS-6缓存实现来仅在必要时查询地图平台。
安装
composer require creativefactoryrv/google-maps-geocoder
如何使用
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); $latLng = $location->getCoordinates(); echo 'Lat: ' . $latLng['lat'] . ' / Lng: ' . $latLng['lng']; echo 'ZIP code: ' . $location->getPostalCode();
获取JSON
直接返回谷歌地图平台API的响应(JSON)。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); $myJSONString = $location->getRaw();
获取数组
以关联数组的形式返回谷歌地图平台API的响应。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); $myArray = $location->toArray();
获取纬度和经度
返回包含所需值的数组。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); $myArray = $location->getCoordinates();
国家
返回国家值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getCountry();
地区(城市)
返回城市或地区值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getLocality();
邮政编码
返回邮政编码或邮编值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getPostalCode();
路线(街道名称)
返回街道名称(谷歌称为"route")。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getRoute();
街道号码
返回街道号码值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getStreetNumber();
行政级别1
返回行政级别1的值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getAdministrativeAreaLevel1();
行政级别2
返回行政级别2的值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getAdministrativeAreaLevel2();
行政级别3
返回行政级别3的值。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getAdministrativeAreaLevel3();
格式化地址
返回表示地址的字符串(谷歌称为"formatted_address")。
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); echo $location->getFormattedAddress();
按需格式化
根据$format返回格式化地址。
- %A1 行政区划级别1
- %a1 行政区划级别1(简短版本)
- %A2 行政区划级别2
- %a2 行政区划级别2(简短版本)
- %A3 行政区划级别3
- %a3 行政区划级别3(简短版本)
- %C 国家
- %L 地区
- %P 邮政编码
- %R 路线
- %N 街道号码
$geocoder = new Geocoder('XXXXXXXXX-My-Google-Maps-Platform-API-Key-XXXXXXXXX', 'en'); $location = $geocoder->query('Duomo, Milano, Italy'); $format = '%R %N, %C'; echo $location->format($format);
许可证
MIT