用于Symfony 4的PHP谷歌地图API?

用于Symfony 4的PHP谷歌地图API?,php,symfony,composer-php,Php,Symfony,Composer Php,我需要在我的控制器中计算在车中的时间以及两个地址之间的距离,所以在PHP中 我在Symfony 4上。因此,我正在寻找一个包,让我可以这样做 我在packagist上,除了这个捆绑包之外,我没有找到任何满足我对Symfony 4期望的东西: 但当我尝试安装它进行测试(他或所有其他与谷歌地图相关的捆绑包)时,我会遇到这样的错误: 找不到与之匹配的包fungio/google地图包的版本 您的最小稳定性(稳定)。需要一个明确的 允许所需稳定性的版本约束 编辑:我在我的composer.json中添加

我需要在我的控制器中计算在车中的时间以及两个地址之间的距离,所以在PHP中

我在Symfony 4上。因此,我正在寻找一个包,让我可以这样做

我在packagist上,除了这个捆绑包之外,我没有找到任何满足我对Symfony 4期望的东西:

但当我尝试安装它进行测试(他或所有其他与谷歌地图相关的捆绑包)时,我会遇到这样的错误:

找不到与之匹配的包fungio/google地图包的版本 您的最小稳定性(稳定)。需要一个明确的 允许所需稳定性的版本约束

编辑:我在我的composer.json中添加了“最小稳定性”:“dev”。捆绑包正在正确下载,但我现在发现以下错误:

Symfony operations: 1 recipe (51cd62f67b65662de716f98b007199d1)
  - Configuring fungio/google-map-bundle (>=dev-master): From auto-generated recipe
Executing script cache:clear [KO]
 [KO]
!!
!!  In ParameterBag.php line 100:
!!  
!!    You have requested a non-existent parameter "templating.engines".  
!!  
!!
!!
Script @auto-scripts was called via post-update-cmd

Installation failed, reverting ./composer.json to its original content.
如果我尝试下载另一个包,比如

我现在:

composer require geocoder-php/google-maps-provider
Using version ^4.0@dev for geocoder-php/google-maps-provider
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - geocoder-php/google-maps-provider 4.0.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.0-beta1 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.0-beta2 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.1.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.2.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.3.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.4.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.x-dev requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/common-http 4.0.x-dev requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.2.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.1.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.0.0-beta1 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.0.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - Installation request for geocoder-php/google-maps-provider ^4.0@dev -> satisfiable by geocoder-php/google-maps-provider[4.0.0, 4.0.0-beta1, 4.0.0-beta2, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.0.x-dev].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.
composer需要地理编码器php/google地图提供商
正在使用版本^4。0@dev适用于geocoder php/google地图提供商
./composer.json已更新
使用包信息加载composer存储库
更新依赖项(包括需要开发人员)
将“symfony/symfony”中列出的包限制为“4.4.*”
无法将您的需求解析为可安装的软件包集。
问题1
-geocoder php/google maps provider 4.0.0需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google maps provider 4.0.0-beta1需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google maps provider 4.0.0-beta2需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google地图提供商4.1.0需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google地图提供商4.2.0需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google maps provider 4.3.0需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google maps provider 4.4.0需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/google maps provider 4.0.x-dev需要geocoder php/common http^4.0->geocoder php/common http可满足[4.0.0,4.0.0-beta1,4.1.0,4.2.0,4.0.x-dev]。
-geocoder php/common http 4.0.x-dev需要psr/http消息实现^1.0->未找到匹配的包。
-geocoder php/common http 4.2.0需要psr/http消息实现^1.0->未找到匹配的包。
-geocoder php/common http 4.1.0需要psr/http消息实现^1.0->未找到匹配的包。
-geocoder php/common http 4.0.0-beta1需要psr/http消息实现^1.0->未找到匹配的包。
-geocoder php/common http 4.0.0需要psr/http消息实现^1.0->未找到匹配的包。
-geocoder php/google地图提供商^4的安装请求。0@dev->geocoder php/google地图提供商满意[4.0.0,4.0.0-beta1,4.0.0-beta2,4.1.0,4.2.0,4.3.0,4.4.0,4.0.x-dev]。
潜在原因:
-软件包名称中的输入错误
-根据您的最低稳定性设置,该软件包没有足够稳定的版本
有关更多详细信息,请参阅。
-这是一个私有包,您忘记添加自定义存储库来查找它
阅读了解更多常见问题。
安装失败,将./composer.json还原为其原始内容。

您应该尝试在composer.json中为dev添加最低的稳定性

"minimum-stability": "dev"

你的问题出在作曲家身上,而不是Symfony。正如错误消息所提到的,composer无法找到包的稳定版本

如果您是维护人员,那么您可以标记一个版本,PackageGist应该更新页面并将其显示为稳定版本,或者您可以要求他们标记一个版本

如果您想要依赖不稳定的版本,您可以要求包中包含
@dev
,如下所示:

composer require fungio/google-map-bundle:@dev-master
见:

或者,您可以修改composer.json并将依赖项的最低稳定性设置为dev,但请注意,这可能会导致您意外安装不安全的软件包

见:

您的第二个作曲家问题有点难以破解,但这一行给出了提示:

geocoder-php/common-http XYZ requires psr/http-message-implementation ^1.0 -> no matching package found.
您的依赖项
geocoder php/google maps provider
依赖于另一个依赖项,该依赖项需要实现PSR HTTP消息。包
psr/http消息实现
只是一个虚拟包,您必须选择一个提供所需代码的实现。如果您在packagist.org上查找该包,可以找到多个实现。我可以推荐
guzzlehttp/psr7
nyholm/psr7
,但还有很多选择。然后,您的命令可能看起来像:

composer require geocoder-php/google-maps-provider nyholm/psr7

如何安装?如下:
composer require-fungio/google-map bundle
您也应该需要symfony模板组件:composer require-symfony/templating如果无法解决问题,请在services.yaml文件内部参数中添加此行:模板:引擎:['twig',php']我需要symfony/templating,并在services.yaml中添加了templating:engines:['twig','php'],但同样的问题是:
您请求了一个不存在的参数“templating.engines”。您无法访问嵌套的数组项,是否要注入“templating””“是吗为什么要显式地寻找捆绑包来解决该问题?为什么不使用Packagist提供的任何其他软件包?您是否尝试过此
composer require fungio/go