定制 ajur-media/yandex-geo-coder 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ajur-media/yandex-geo-coder

Composer 安装命令:

composer require ajur-media/yandex-geo-coder

包简介

PHP Library for geo-coding using Yandex.Geocoder

README 文档

README

Яндекс.Карты предоставляют сервис геокодирования. Он позволяет определять координаты и получать сведения о географическом объекте по его названию или адресу и наоборот, определять адрес объекта на карте по его координатам (обратное геокодирование).

Например, по запросу «Санкт-Петербург, Невский проспект, 35» геокодер возвратит географические координаты этого дома: «30.332631, 59.934172» (долгота, широта).

Если в запросе указать географические координаты дома «30.332631, 50.4452705», то геокодер вернет адрес: «Украина, Киев, Шевченковский район, улица Богдана Хмельницкого, 11»

https://yandex.ru/dev/maps/geocoder/

API для работы с сервисом Яндекс.Геокодирование

Этот пакет реализует простой интерфейс для доступа к геокодеру.

Для работы с геокодером нужен токен. Получить его можно в кабинете разработчика: https://developer.tech.yandex.ru/services/

Пакет ajur-media/yandex-geo-coder

Так как «официальный» пакет yandex/geo (https://packagist.org/packages/yandex/geo) не обновлялся с июля 2019 года (несмотря на наличие 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

  • add \Psr\Logger as second argument to API constructor

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-10-21

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固