地理编码器PHP提供一个用于简化地理编码任务的抽象层。 图书馆的架构是模块化的,包括用于处理请求的HTTPADAPTER,多样化的地理编码提供商以及用于输出管理的格式化器/垃圾机。
密钥功能:
为各种地理位置服务提供了简化的抽象层。
>带有HTTPADAPTER,多个提供商和格式化/垃圾机的模块化设计。或者,从地理编码器php网站下载档案。 地理编码地址:
地理编码通常涉及将地址(街道地址,社区等)转换为地理坐标。 结果准确性取决于地理编码器的质量。composer.json
>
{ "require": { "willdurand/geocoder": "@stable" } }
>
>地理编码器: Google Maps,OpenStreetMap,bing Maps,MapQuest等。
IP地理编码器:
freegeoip,hostip,ipinfodb等。
许多是免费的,有些需要API键并且具有使用限制(例如,Google的2500个请求/天)。 地理编码器质量各不相同;有些在特定区域中表现出色。
支持本地特定的结果。 例如,使用俄罗斯地区:
>链接地理编码器:
$address = 'Laan van Meerdervoort, Den Haag, Nederland'; $adapter = new \Geocoder\HttpAdapter\CurlHttpAdapter(); $geocoder = new \Geocoder\Geocoder(); $geocoder->registerProvider(new \Geocoder\Provider\GoogleMapsProvider($adapter)); $result = $geocoder->geocode($address);
$result
反向地理编码: 反向地理编码将坐标(纬度,经度)转换为地址。 记住顺序:纬度,然后是经度。 地理编码IP地址: )很简单: 错误处理:
始终使用障碍来处理潜在的异常:
> GeoCoder提供格式化(基于字符串)和卸货器(诸如Geojson,KML,GPX,WKB,WKT之类的语言输出)。>
地理编码器PHP是一个结构良好,易于使用的库。 尽管强大的,潜在的改进可能包括基于置信度或地址错误余量等标准的高级结果过滤。 这将利用链式地理编码器的全部潜力。 以上是你在哪里?用地理编码器PHP实施地理位置的详细内容。更多信息请关注PHP中文网其他相关文章!{
"require": {
"willdurand/geocoder": "@stable"
}
}
$_SERVER['REMOTE_ADDR']
$address = 'Laan van Meerdervoort, Den Haag, Nederland';
$adapter = new \Geocoder\HttpAdapter\CurlHttpAdapter();
$geocoder = new \Geocoder\Geocoder();
$geocoder->registerProvider(new \Geocoder\Provider\GoogleMapsProvider($adapter));
$result = $geocoder->geocode($address);
try...catch
$geocoder->registerProvider(new \Geocoder\Provider\GoogleMapsProvider($adapter, 'Ru'));
$result = $geocoder->geocode('Laan van Medevoort 7, Den Haag, Nederland');
$chain = new \Geocoder\Provider\ChainProvider([
new \Geocoder\Provider\OpenStreetMapProvider($adapter),
new \Geocoder\Provider\GoogleMapsProvider($adapter),
new \Geocoder\Provider\BingMapsProvider($adapter, $bingApiKey),
]);
$geocoder->registerProvider($chain);