shiveh / mapir
官方 Map.ir Laravel 扩展包
Requires
- guzzlehttp/guzzle: ~6.0
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毫秒。