ajur-media / yandex-geo-coder
基于 Yandex.Geocoder 的地理编码 PHP 库
0.9.11
2020-10-21 23:06 UTC
Requires
- php: ^7.0
- ext-curl: *
- ext-json: *
This package is not auto-updated.
Last update: 2024-09-20 16:51:50 UTC
README
Яндекс.Карты提供地理编码服务。它允许通过名称或地址确定地理对象的坐标以及相反,通过坐标确定地图上的对象地址(反向地理编码)。
例如,通过查询“Санкт-Петербург, Невский проспект, 35”,地理编码器将返回该房子的地理坐标:“30.332631, 59.934172”(经度,纬度)。
如果查询中指定房子的地理坐标“30.332631, 50.4452705”,则地理编码器将返回地址:“乌克兰, Киев, Шевченковский район, улица Богдана Хмельницкого, 11”
https://yandex.ru/dev/maps/geocoder/
用于处理服务 Yahoo.Геокодирование的 API
此包实现了访问地理编码器的简单接口。
使用地理编码器需要令牌。可以在开发者控制台中获取它:https://developer.tech.yandex.ru/services/
ajur-media/yandex-geo-coder 包
由于“官方”包 yandex/geo
(https://packagist.org.cn/packages/yandex/geo) 自 2019 年 7 月以来没有更新(尽管有 pull-request'),而且开发者没有回复邮件,我发布了这个版本(进行了一些修正和补充)以适应“АЖУР Медиа”的开发需求。
此包可在仓库中找到
composer require ajur-media/yandex-geo-coder
使用示例
<?php use AJUR\Toolkit\YandexGeoCoder\Api; require_once 'vendor/autoload.php'; // инициализируем API // возвращает mutable object $api = new Api(); // Можно искать по точке (обратное геокодирование) // $api->setPoint(30.5166187, 50.4452705); // Или можно искать по адресу (прямое геокодирование) $api->setQuery('Санкт-Петербург, Невский проспект, 35'); // Настройка фильтров (можно использовать fluent-интерфейс) $api ->setLimit(1) // кол-во результатов ->setLang( Api::LANG_RU) // используемый язык для ответа ->setToken('<token>') // api ключ ->load(); $response = $api->getResponse(); echo "Found: ", $response->getFoundCount(), PHP_EOL; echo "Query: ", $response->getQuery(), PHP_EOL; $object = $response->getFirst(); // получаем первый (самый релевантный) объект в ответе геокодера echo "Lat: ", $object->getLatitude(), PHP_EOL; echo "Lon: ", $object->getLongitude(), PHP_EOL; // Список найденных объектов $collection = $response->getList(); foreach ($collection as $n => $item) { echo "[{$n}] Address: ", $item->getAddress(), PHP_EOL; echo "Lat: ", $item->getLatitude(), PHP_EOL; echo "Lon: ", $item->getLongitude(), PHP_EOL; }
许可证
MIT
TODO
- 将 \Psr\Logger 作为 API 构造函数的第二个参数添加