Yii2 的 LeafLet 扩展
使用 LeafletJs 显示交互式地图的扩展库
安装
安装此扩展程序的首选方法是通过 composer。这需要
composer-asset-plugin
,
这也是 yii2 的一个依赖项,所以如果已经安装了 yii2,那么很可能已经设置好了。
要么运行
composer require 2amigos/yii2-leaflet-extension:~1.0
或添加
"2amigos/yii2-leaflet-extension" : "~1.0"
到应用程序的 composer.json 文件的 require 部分。
用法
使用 LeafletJs 时要考虑的一件事是我们需要一个 Tile Provider。 非常重要的是,如果我们未能提供 Tile Provider Url,地图将显示为 plain,而根本没有任何地图。
以下示例使用 MapQuest :
// first lets setup the center of our map
$center = new dosamigos\leaflet\types\LatLng(['lat' => 51.508, 'lng' => -0.11]);
// now lets create a marker that we are going to place on our map
$marker = new \dosamigos\leaflet\layers\Marker(['latLng' => $center, 'popupContent' => 'Hi!']);
// The Tile Layer (very important)
$tileLayer = new \dosamigos\leaflet\layers\TileLayer([
'urlTemplate' => 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
'clientOptions' => [
'attribution' => 'Tiles Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> ' .
'<img src="http://developer.mapquest.com/content/osm/mq_logo.png">, ' .
'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>',
'subdomains' => ['1', '2', '3', '4'],
],
]);
// now our component and we are going to configure it
$leaflet = new \dosamigos\leaflet\LeafLet([
'center' => $center, // set the center
]);
// Different layers can be added to our map using the `addLayer` function.
$leaflet->addLayer($marker) // add the marker
->addLayer($tileLayer); // add the tile layer
// finally render the widget
echo \dosamigos\leaflet\widgets\Map::widget(['leafLet' => $leaflet]);
// we could also do
// echo $leaflet->widget();
测试
要测试扩展,最好在您的计算机上克隆这个存储库。然后,转到extensions文件夹并执行以下操作(假设您的计算机上已经安装了composer)
$ composer install --no-interaction --prefer-source --dev
安装完所有必需的库后,请执行以下操作:
$ vendor/bin/phpunit
更多信息
有关 LeafLetJS 库的多种设置的更多信息,请访问 其API参考
贡献
有关详细信息,请参阅贡献。
致谢
许可证
BSD许可证(BSD)。有关详细信息,请参阅许可文件。