fkr / nominatim-bundle
此软件包已被废弃且不再维护。未建议替代软件包。
将 nominatim api(基于 OpenStreetMap 的地理定位 API)集成到 Symfony2
v1.0.3
2014-08-21 05:04 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=2.1,<2.5
This package is auto-updated.
Last update: 2023-04-28 03:42:39 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: 你应该在此处设置你的电子邮件(如果使用 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 指定的 使用政策。