makeitbetter/yiimaps

为Yii2开发的地图管理模块。

安装: 17

依赖者: 0

建议者: 0

安全: 0

类型:yii2-extension

v1.1.1 2019-05-26 08:16 UTC

This package is not auto-updated.

Last update: 2024-09-23 09:05:10 UTC


README

N|Solid

yiimaps是一个用于控制模型坐标并在地图上显示模型的Yii框架2.0模块。该模块使用了Yandex.maps API

安装

添加包

#!sh
$ composer require makeitbetter/yiimaps

通过添加(《yii2指南》)配置应用程序

#!php
$config['modules']['yiimaps'] = [
    'class' => 'makeitbetter\yiimaps\Module',
    'options' => [],
];
$config['bootstrap'][] = 'yiimaps';

用法

在您的表单中

#!php
use makeitbetter\yiimaps\widgets\CoordsInput;
use yii\widgets\ActiveForm;

$form = ActiveForm::begin();

echo $form->field($model, 'property_name')->widget(CoordsInput::className(), $options);

ActiveForm::end();

可用选项

lat - 包含纬度值的模型属性的名称,默认是 lat

lon - 包含经度值的模型属性的名称,默认是 lon

或者不使用ActiveForm对象

#!php
echo CoordsInput::widget(['model' => $model, 'attribute' => 'property_name']);

在地图上显示模型

#!php
use makeitbetter\yiimaps\widgets\YandexMap;

echo YandexMap::widget([
    'models' => $models,

可用选项

lat - 包含纬度值的模型属性的名称,默认是 lat

lon - 包含经度值的模型属性的名称,默认是 lon

balloonContent - 包含气球内容的模型属性名称或回调函数,默认是 balloonContent

groupBy - 包含坐标的相关实体及其主键的名称。例如,如果模型 Persons 属于实体 Addresses,则应定义 'groupBy' => 'address.id'。具有相同地址的人将在地图上显示为一个点。气球将包含每个人的数据以及地址的数据(除非您使用回调函数)。

placemarkIcon - 地标图标,默认是 islands#redDotIcon 查看更多... 如果值是数组,则将键与属性 $placemark 的值进行比较。使用密钥 'default' 来定义默认地标图标。

placemark - 用于定义地标图标的模型属性名称。

useClusterer - 是否使用聚类器,默认是 false

clustererIcon - 聚类器图标,默认是 islands#invertedBlackClusterIcons 查看更多...

mapHeight - 地图高度,默认是 300px

mapWidth - 地图宽度,默认是 100%

国际化

要添加模块字符串的翻译,请注册源代码 modules/yiimaps。例如,将以下代码添加到您的应用程序配置文件中:

#!php
$config['components']['i18n'] = [
    'translations' => [
        ...
        'modules*' => [
            'class' => 'yii\i18n\PhpMessageSource',
        ],
    ],
];

此配置表示应用程序将在文件 @app/messages/xx-XX/modules/yiimaps.php 中搜索翻译。

有关国际化的更多信息,请参阅《yii2指南

演示:https://makeitbetter.su/projects/yiimaps