makeitbetter / yiimaps
为Yii2开发的地图管理模块。
Requires
- php: >=5.6
- yiisoft/yii2: ~2.0
- yiisoft/yii2-bootstrap: ~2.0.0
Requires (Dev)
- phpunit/phpunit: ~4.6
This package is not auto-updated.
Last update: 2024-09-23 09:05:10 UTC
README
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指南》