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)。有关详细信息,请参阅许可文件。