rinat-gizatullin/fkr-nominatim-bundle

将 nominatim api(基于 OpenStreetMap 的地理位置 API)集成到 Symfony2 中

安装: 112

依赖者: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 9

类型:symfony-bundle

v1.0.4 2015-12-18 07:43 UTC

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:如果没有找到任何内容
  • 位置对象:如果只找到一个结果
  • 包含位置对象的数组:如果找到多个结果

许可证

Resources/meta/LICENSE

Nominatim 使用政策

请尊重 Open Street Map 为使用 Geocoding API 所指定的 使用政策