behinlab / mapir
自定义Map.ir API
Requires
- guzzlehttp/guzzle: >=6.2
This package is not auto-updated.
Last update: 2024-09-23 02:54:32 UTC
README
map.ir官方Laravel软件包
您好,如果您在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,
发布软件包文件后,您必须打开config文件夹中的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,在注册配置文件
部分添加此行
$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毫秒。