mehrdad-dadkhah/open-street-map-api

此软件包最新版本(1.0.0)没有可用的许可证信息。

调用 Open Street Map (OSM) 服务并获取 API 结果

1.0.0 2019-09-03 11:06 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:08 UTC


README

Packagist Version

Open Street Map (OSM) 服务用于调用并获取 API 结果。

未来将添加新服务。

系统要求

仅支持 >=7.0.0

安装

composer require mehrdad-dadkhah/open-street-map-api

用法

使用坐标选项

use MehrdadDadkhah\OSM\OSMRouteService;

$osm = new OSMRouteService;
        $osm->addCoordinate(35.6998, 51.3310)
            ->addCoordinate(35.7581, 51.5087);
        
        echo $osm->getDuration()->getWithUnit(\MehrdadDadkhah\OSM\Types\Duration::MINUTE_UNIT); // or 'minute'
        echo $osm->getDistance()->getWithUnit(\MehrdadDadkhah\OSM\Types\Distance::KILOMETER_UNIT); // or 'kilometer'

使用折线选项

use MehrdadDadkhah\OSM\OSMRouteService;

$osm = new OSMRouteService;
        $osm->setPolyline('ofp_Ik_vpAilAyu@te@g%60E');
        
        echo $osm->getDuration()->getWithUnit(\MehrdadDadkhah\OSM\Types\Duration::MINUTE_UNIT);
        echo $osm->getDistance()->getWithUnit(\MehrdadDadkhah\OSM\Types\Distance::KILOMETER_UNIT);

如果您有本地的 osm-backend 服务器,您可以通过以下方式更改基本 URL:

        $osm->setBaseUrl('http://your-url.local');

使用 osm 反向定位

$result = $locationService->setBaseUrl('CAN-SET-URL') // it's optional
        ->setPoint($lat, $long)
        ->setLanguage('fa')
        ->reverseLocation();

地理编码

        use use MehrdadDadkhah\OSM\NominatimSearchPlaceService;
        .
        .
        .
        $nomiLocationService = new NominatimSearchPlaceService();
        $nomiLocationService->setLimit(1)
            ->enableAddressDetails()
            ->setSearchQuery($city->name) // name of city
            ->search();

自托管

如果您想自托管 osrm-backend 并 notinimate 可以复制和自定义 docker-compose.yml 到 docker 目录。

致谢

用途