定制 ghopper/svg-map 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ghopper/svg-map

Composer 安装命令:

composer require ghopper/svg-map

包简介

Yii2 widget for svg-map construction

README 文档

README

SvgMap

SvgMap

Yii2-виджет для генерации svg по заданному источнику данных.

Установка

Выполняем команду

php composer.phar require ghopper/svg-map "*"

или добавляем в composer.json

{
    "require": {
        "ghopper/svg-map": "*"
    }
}

Пример использования

Подключаем пространство имен

use ghopper\svgmap\SvgMapWidget;

В контроллере получаем данные для построения svg (в данном случае из примера) и передаем в шаблон

$file = Yii::getAlias('@ghopper/svgmap/example') . "/russia.json";
$data = file_get_contents($file);
$states = json_decode($data);
...
$this->render('index', ['svgData' => $states]);

В шаблоне создаем js-обрыботчики событий в глобальной зоне видимости

<script>
    var customClick = function(path) {alert(path.attr('id') + ' - ' + path.attr('title'))};
</script>

И там же передаем все данные виджету

<?php
    echo SvgMapWidget::widget([
        'type' => SvgMapWidget::DATA_SOURCE_ARRAY,
        'data' => $svgData,
        'onClick' => 'customClick',
    ]);
?>

Источники данных

Вы можете добавлять свои данные к базовому формату:

{
    title: "Элемент #1",
    d: ["M 50,50 10,0 0,10 -10,0 z"]
}

Например добавить id, кол-во элементов, адрес перехода или другие данные,которые вам могут понадобиться. В последующем вы можете манипулировать этими данными в обработчиках событий.

Виджет поддерживает два источника данных:

  • SvgMapWidget::DATA_SOURCE_ARRAY - php-массив
  • SvgMapWidget::DATA_SOURCE_JSON_URL - ссылка на json

Внешний вид

Дефолтные стили заложены @vendor/ghopper/svg-map/src/css/svg-map.css, которые вы можете как угодно переопределять в своем коде. Сам виджет имеет простую структуру

<div class='svg_map'>
    <div><!--tooltip--></div>
    <svg />
</div>

Можете создавать сложную анимацию в обработчиках событий.

Параметры запуска виджета

Обязательные

  • type - тип источника данных
  • data - данные к параметру type (адрес json либо массив)

Дополнительные

  • showTip - флаг, определяющий отображать или нет toolTip
  • showTools - подключение функционала передвижения и зумирования карты
  • onClick - callback-функция клика по элементу svg path
  • onOver - callback-функция, вызываемая при движении курсора над элементом
  • onOut - callback-функция, вызываемая когда курсор покидает элемент

统计信息

  • 总下载量: 31
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-12-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固