rinat-gizatullin / fkr-nominatim-bundle
将 nominatim api(基于 OpenStreetMap 的地理位置 API)集成到 Symfony2 中
v1.0.4
2015-12-18 07:43 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.1
This package is not auto-updated.
Last update: 2024-09-18 18:48:53 UTC
README
将 nominatim api(基于 OpenStreetMap 的地理位置 API)集成到 Symfony2。
所需条件
您的服务器必须启用 curl。
安装
引入供应商库
这可以通过三种不同的方式完成
方法 #1)使用 composer
"require": {
"fkr/nominatim-bundle": "*"
}
方法 #2)使用 git 子模块
git submodule add git://github.com/fkrauthan/FkrNominatimBundle.git vendor/bundles/Fkr/NominatimBundle
方法 #3)使用 deps 文件
[FkrNominatimBundle]
git=git://github.com/fkrauthan/FkrNominatimBundle.git
target=bundles/Fkr/NominatimBundle
注册 Fkr 命名空间
// app/autoload.php
$loader->registerNamespaces(array(
'Fkr' => __DIR__.'/../vendor/bundles',
// your other namespaces
));
将 FkrNominatimBundle 添加到您的应用程序内核
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Fkr\NominatimBundle\FkrNominatimBundle(),
// ...
);
}
配置
# app/config.yml
fkr_nominatim:
app_name:
app_mail:
- app_name: 您必须在此处设置您的应用程序名称(这是 OpenStreetMap API 所必需的)
- app_mail: 您应该在此处设置您的邮箱(如果使用 OpenStreetMap API 时发生任何错误,OpenStreetMap 可以联系您)
使用方法
要获取 GeolocationApi 类实例,请使用以下代码
$this->get('fkr_nominatim.geolocation_api')->locateAddress('My Street, 8888 MyCity');
$this->get('fkr_nominatim.geolocation_api')->locateAddress(array('My Street', '8888', 'MyCity'));
结果将是
- null:如果没有找到任何内容
- 位置对象:如果只找到一个结果
- 包含位置对象的数组:如果找到多个结果
许可证
Nominatim 使用政策
请尊重 Open Street Map 为使用 Geocoding API 所指定的 使用政策。