mkebza / google-maps-bundle
用于一些Google Maps功能的Symfony扩展包
Requires
- php: ^7.1.3
- guzzlehttp/guzzle: ~6.0
- symfony/cache: ~3.4|~4.0
- symfony/config: ~3.4|~4.0
- symfony/dependency-injection: ~3.4|~4.0
- symfony/options-resolver: ~3.4|~4.0
- symfony/twig-bundle: ~3.4|~4.0
Requires (Dev)
- symfony/phpunit-bridge: ^4.1
This package is auto-updated.
Last update: 2024-09-13 17:20:06 UTC
README
使用Symfony Flex的应用程序
打开命令行,进入你的项目目录并执行
$ composer require mkebza/google-maps-bundle
不使用Symfony Flex的应用程序
步骤 1: 下载扩展包
打开命令行,进入你的项目目录并执行以下命令以下载此扩展包的最新稳定版本
$ composer require <package-name>
此命令要求你已全局安装Composer,具体请参考Composer文档的安装章节。
步骤 2: 启用扩展包
然后,通过将其添加到项目app/AppKernel.php
文件中注册的扩展包列表来启用扩展包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new <vendor>\<bundle-name>\<bundle-long-name>(), ); // ... } // ... }
配置
扩展包只需要一个配置,即Google Map API密钥
m_kebza_google_maps: api_key: <your api key>
功能
可嵌入的位置
此扩展包提供Location
(MKebza\GoogleMaps\Entity\Embeddable\Location
),可用于你的Doctrine实体。此类型还提供创建标记的快捷方式getMarker(...)
距离
计算时,你可以使用MKebza\GoogleMaps\Service\DistanceCalculator
服务,该服务使用Location对象作为其参数,或者在你的twig模板辅助函数中使用gmaps_distance(origin, destination)
。
两者都返回MKebza\GoogleMaps\Service\Distance
,它包含关于持续时间/距离的信息,并且可以转换基本单位。
静态地图
同样有服务MKebza\GoogleMaps\Service\StaticMap
和twig辅助函数gmaps_static
,它们都有相同的参数集。
参数
key
- 你的Google Maps API密钥,自动从配置中获取size
- 可以是300x300
或[300, 300]
格式center
- Google地图的中心点zoom
- 缩放级别scale
- 像素密度format
- 所需的图像格式,默认为pngmaptype
- 请求的地图类型,默认为roadmaplanguage
- 请求的语言,默认为你的应用区域设置markers
- 要显示在地图上的MKebza\GoogleMaps\Service\Marker
对象数组
标记
标记可以从选项对象或直接创建,它们作为工厂使用,具有fromLatitudeLongitude($lat, $long, $params)
和fromName($name, $params)
方法。
参数
size
- 标记大小color
- 十六进制颜色,例如333333
为灰色label
- 标记的一个字母标签icon
- 图标的URLanchor
- 图标的锚点
更多文档请参阅https://developers.google.com/maps/documentation/maps-static/intro
测试
使用vendor/bin/simple-phpunit运行测试