shiveh/mapir

官方 Map.ir Laravel 扩展包

v1.1.1 2020-05-30 11:55 UTC

This package is auto-updated.

Last update: 2024-09-29 04:26:06 UTC


README

官方 Laravel 扩展包 for map.ir

最新稳定版本 总下载次数 许可证 每月下载次数 每日下载次数 服务文档

你好,如果你在 map.ir 有账户,你可以使用这个扩展包来支持 Laravel

如何安装

 composer require shiveh/mapir 
 php artisan vendor:publish --tag=mapir

配置

Laravel 安装

在你的 app.php 提供者中添加此行

 Shiveh\Mapir\MapirLaravelServiceProvider::class,

并在 app.php 别名中添加此行

'Mapir' => Shiveh\Mapir\MapirLaravelFacade::class,

发布扩展包文件后,你必须打开配置文件夹中的 mapir.php 并设置 API 密钥。

如下所示

'webservice-url' => env('MAPIR_WEBSERVICE_URL','https://map.ir'),
'api-key' => env('MAPIR_API_KEY','Your map.ir api key'),

Lumen 安装

在 bootstrap/app.php 中添加包提供者

$app->register(Shiveh\Mapir\MapirLaravelServiceProvider::class);
class_alias(Shiveh\Mapir\MapirLaravelFacade::class, 'Mapir');

将包配置目录 vendor/shiveh/mapir/config 复制到根目录,与 app 目录并列。

通过在 bootstrap/app.php 中的 注册配置文件 部分添加此行来更新 bootstrap/app.php

$app->configure('mapir');

通过在 bootstrap/app.php 中取消注释此行,使 Lumen 通过外观工作。

$app->withFacades();

注意

你可以在 .env 文件中设置密钥

如下所示

 MAPIR_WEBSERVICE_URL=https://map.ir

 MAPIR_API_KEY=your api-key

方法

Mapir::search()

  \Mapir::search(
          'ساوجینیا',
          Select::POI,
          Filter::distance('20km'),
          [
              "type"=> "Point",
              "coordinates"=> [
                  51.3361930847168,
                  35.7006311416626
              ]
          ]
      );

搜索方法有四个参数。

文本(必需)

此参数用作文本,你想要在地图上找到其位置。例如(ساوجینیا)

选择(可选)

为了将你的搜索请求应用于特定实体组。

 Select :: POI

为了选择这些土地效果中的每一个,首先写 "Select::" 然后根据以下表格写上土地效果的名字

过滤器(可选)

为了过滤搜索结果,例如,只获取德黑兰的结果。

Filter :: city ('تهران')

更多过滤器功能

地理坐标(必需)

使用此格式进行坐标,以获得更好的结果。在此网站查找其他可能的格式 geojson.io

[
  "type"=> "Point",
  "coordinates"=> [
             51.3361930847168,
             35.7006311416626
    ]
]

Mapir::searchAutocomplete()

\Mapir::searchAutocomplete(
        'ساوجی',  
        Select::POI,
        Filter::distance('20km'),
        [
            "type"=> "Point",
            "coordinates"=> [
                51.3361930847168,
                35.7006311416626
            ]
        ]
    );

搜索与搜索(实时搜索)在搜索词的结构概念上有所不同。当使用正常搜索时,搜索算法寻找与输入文本完全相同的地址,而实时搜索将输入的一些信息与现有数据匹配,并建议最接近和最有可能的结果。

Mapir::reverse()

   \Mapir::reverse(35.732634, 51.422571);

反向是将地理坐标转换为文本地址

Mapir::fastReverse()

   \Mapir::fastReverse(35.732634, 51.422571);

这两种不同类型地址的主要区别在于细节和响应速度。在完整模式下,除了地址的详细信息外,如果该位置在地图上注册了坐标,响应中还会返回注册的地名,而在此功能的快速状态下则不存在这种情况。快速地址的主要优势在于其速度,因此其响应时间约为20毫秒,而在完整匹配模式下,这大约为70毫秒。

许可

FOSSA Status