mkebza/google-maps-bundle

用于一些Google Maps功能的Symfony扩展包

安装量: 1,977

依赖项: 0

建议者: 0

安全性: 0

星级: 1

关注者: 2

分支: 0

公开问题: 0

类型:symfony-bundle

v1.0.2 2018-12-13 04:35 UTC

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>

功能

可嵌入的位置

此扩展包提供LocationMKebza\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 - 所需的图像格式,默认为png
  • maptype - 请求的地图类型,默认为roadmap
  • language - 请求的语言,默认为你的应用区域设置
  • markers - 要显示在地图上的MKebza\GoogleMaps\Service\Marker对象数组

标记

标记可以从选项对象或直接创建,它们作为工厂使用,具有fromLatitudeLongitude($lat, $long, $params)fromName($name, $params)方法。

参数

  • size - 标记大小
  • color - 十六进制颜色,例如333333为灰色
  • label - 标记的一个字母标签
  • icon - 图标的URL
  • anchor - 图标的锚点

更多文档请参阅https://developers.google.com/maps/documentation/maps-static/intro

测试

使用vendor/bin/simple-phpunit运行测试