mehrdad-dadkhah / open-street-map-api
此软件包最新版本(1.0.0)没有可用的许可证信息。
调用 Open Street Map (OSM) 服务并获取 API 结果
1.0.0
2019-09-03 11:06 UTC
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ^6.3
This package is auto-updated.
Last update: 2024-09-29 05:28:08 UTC
README
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 目录。
致谢
- 感谢 osrm-backend