Symfony2 и IvoryGoogleMapsBundle — нераспознанная опция “api_key” в разделе “ivory_google_map”

#google-maps #symfony #google-maps-api-3 #config #api-key

#google-карты #symfony #google-maps-api-3 #конфигурация #api-ключ

Вопрос:

Я установил IvoryGoogleMapsBundle , как описано в документации, с помощью Composer.

 $ composer require egeloen/google-map-bundle
$ composer require php-http/httplug-bundle
  

Я зарегистрировал пакеты в AppKernel классе:

 public function registerBundles()
{
    $bundles = array(
        // ...
        new IvoryGoogleMapBundleIvoryGoogleMapBundle(),
        new HttpHttplugBundleHttplugBundle()
    );
  

И в файле конфигурации я описал api_key, как показано в документации здесь:

 ivory_google_map:
    api_key: "%my_key%"
  

Итак, проблема в том, что я получаю сообщение об ошибке:

 Unrecognized option "api_key" under "ivory_google_map"
  

Но когда я не описываю api_key в конфигурации, я попадаю MissingKeyMapError в консоль браузера.

Кстати, у пакета нет ApiHelperBuilder класса, и я не могу установить api_key его в контроллере.

Версия Symfony: 2.8, версия IvoryGoogleMapsBundle: ^ 2.2

Есть идеи, что я мог упустить, в которых документация не упоминается?

 ----------
  UPDATE
----------
  

Я только что прочитал комментарий создателей пакета здесь по этому вопросу @Matteo связал меня в разделе комментариев ниже. В dev-master документации, за которой я следил, установка пакета не работает должным образом… При запуске $ composer require egeloen/google-map-bundle устанавливается 2.2.1 версия пакета, которая не поддерживается api_key .

К сожалению, я не могу найти способ установить dev-master версию. $ composer require egeloen/google-map-bundle dev-master не работает. Он предлагает ^2.0@dev версию, которая также не поддерживает api_key . Как мне установить dev-master версию?

Комментарии:

1. вы активировали пакет в app/Appkernel.php ?

2. Да, я зарегистрировал пакет в AppKernel. Когда я устанавливаю geocoder ivory_google_maps его, он не выдает ошибку. Просто я не могу добавить api_key debug или language внутри, как в документации.

3. Я обновил вопрос, чтобы вы могли видеть, как я зарегистрировался в AppKernel.

4. вы видели эту проблему github.com/egeloen/IvoryGoogleMapBundle/issues/176 ?

5. @Matteo итак, вот возможное решение, на которое ответил Эгелоен. Во всяком случае, он сказал, что документация, на которую я смотрю, предназначена для dev-master. Я попытался установить ее в composer «dev-master», но я получаю сообщение об ошибке, что эта версия не существует, я должен использовать «^2.0@dev «, но, к сожалению, эта версия также не поддерживает api_key. Есть идеи?

Ответ №1:

В итоге композитор загрузил неправильную версию. Ее нужно было загрузить dev-master , но поскольку в моем composer.json minimum-stability установлено stable значение, оно загружало последнюю стабильную версию ^2.2 . Чтобы определить minimum-stability для одного пакета, мне пришлось изменить composer.json :

 ...
"egeloen/google-map": "^2.0@dev",
"egeloen/google-map-bundle": "dev-master",
...
  

Теперь, поскольку у меня загружена версия dev-master, api_key under ivory_google_maps работает нормально.