За последние 24 часа нас посетили 40090 программистов и 2357 роботов. Сейчас ищут 1224 программиста ...

Не работает yandex/geo

Тема в разделе "PHP для новичков", создана пользователем Dimon2x, 5 май 2017.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Установил через composer

    в файл composer.json поместил всё, как в инструкции

    PHP:
    1. {
    2.     "name": "yandex/geo",
    3.     "type": "library",
    4.     "description": "PHP-library for interactions with geo-coding Yandex.Maps",
    5.     "keywords": ["api", "yandex", "geo", "geocode", "geocoder", "maps"],
    6.     "license": "The MIT License (MIT)",
    7.     "authors": [
    8.         {
    9.             "name": "Dmitry Kuznetsov",
    10.             "email": "kuznetsov2d@gmail.com",
    11.             "homepage": "http://kuznetsov.io"
    12.         }
    13.     ],
    14.     "require": {
    15.         "php": ">=5.3.0"
    16.     },
    17.     "autoload": {
    18.         "psr-0": {
    19.             "Yandex\\Geo": "source/"
    20.         }
    21.     },
    22.     "support": {
    23.         "source": "https://github.com/yandex-php/php-yandex-geo",
    24.         "issues": "https://github.com/yandex-php/php-yandex-geo/issues",
    25.         "wiki": "https://github.com/yandex-php/php-yandex-geo"
    26.     }
    27. }
    index.php

    PHP:
    1. <?php
    2.  
    3. require_once 'vendor/autoload.php';
    4.  
    5. $api = new \Yandex\Geo\Api();
    6.  
    7. // Можно искать по точке
    8. $api->setPoint(30.5166187, 50.4452705);
    9.  
    10. // Или можно икать по адресу
    11. $api->setQuery('Тверская 6');
    12.  
    13. // Настройка фильтров
    14. $api
    15.     ->setLimit(1) // кол-во результатов
    16.     ->setLang(\Yandex\Geo\Api::LANG_US) // локаль ответа
    17.     ->load();
    18.  
    19. $response = $api->getResponse();
    20. $response->getFoundCount(); // кол-во найденных адресов
    21. $response->getQuery(); // исходный запрос
    22. $response->getLatitude(); // широта для исходного запроса
    23. $response->getLongitude(); // долгота для исходного запроса
    24.  
    25. // Список найденных точек
    26. $collection = $response->getList();
    27. foreach ($collection as $item) {
    28.     $item->getAddress(); // вернет адрес
    29.     $item->getLatitude(); // широта
    30.     $item->getLongitude(); // долгота
    31.     $item->getData(); // необработанные данные
    32. }
    --- Добавлено ---
    выдаёт ошибку Fatal error: Uncaught Error: Class 'Yandex\Geo\Api' not found

    Почему?
     
  2. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Сам компосер запустил после этого?
     
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    в смысле запустил?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    От того, что ты создал composer.json, у тебя ничего в проект ещё не добавилось. После этого надо сделать
    Код (Text):
    1. composer update
    (могут быть разные варианты команд, в зависимости от того, как установлен composer)
     
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Пишет Nothing to install or update
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Команду выполняешь в папке с файлом composer.json?
     
  7. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    да, мне кажется проблема в путях из-за этих namespace
     
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Какой ещё инструкции? composer require yandex/geo. Всё.
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @Dimon2x, аааааааааааааааааааааа. Трындеееееееееец. Ты просто скопировал к себе файл composer.json из репозитория яндекса? Ну конечно ничего не будет :) Надо свой создавать composer json. Команда от @romach это сделает за тебя.
     
  10. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Удалил и заново поставил, по совету @romach теперь другая ошибка

    Fatal error: Uncaught Yandex\Geo\Exception\CurlError: SSL certificate problem: unable to get local issuer certificate in
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
  12. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    555.jpg
    --- Добавлено ---
    там же другая проблема
     
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Какая другая?
     
  14. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
  15. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ну так @mkramer привел ссылку на решение.