Marker Cluster Plugin
, (*1)
Yii 2 LeafletJs Plugin to provide beautiful, sophisticated, high performance marker clustering solution with smooth
animations and lots of great features. This Plugin works in conjunction with LeafLet
library for Yii 2 framework., (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
composer require 2amigos/yii2-leaflet-markercluster-plugin:~1.0
or add, (*5)
"2amigos/yii2-leaflet-markercluster-plugin" : "~1.0"
to the require section of your application's composer.json
file., (*6)
Usage
Using an external json url source:, (*7)
// LeafLet initialization component
// ...
// create cluster plugin
$cluster = new dosamigos\leaflet\plugins\markercluster\MarkerCluster([
'jsonUrl' => Yii::$app->controller->createUrl('site/json')
]);
// install to LeafLet component
$leafLet->plugins->install($cluster);
// done render widget
echo $leafLet->widget(['options' => ['style' => 'height: 400px']]);
The example action returning the markers:, (*8)
public function actionJson()
{
Yii::$app->getResponse()->format = Response::FORMAT_JSON;
echo json_encode([
"markers" => [
["lat"=>-37.8210922667, "lng"=>175.2209316333, "popup" => "2"],
["lat"=>-37.8210819833, "lng"=>175.2213903167, "popup" => "3"],
]
]);
}
Now, adding markers as we create them:, (*9)
// LeafLet initialization component
// ...
// create cluster plugin
$cluster = new dosamigos\leaflet\plugins\markercluster\MarkerCluster([
'jsonUrl' => Yii::$app->controller->createUrl('site/json')
]);
// sample location
$center = new dosamigos\leaflet\types\LatLng(['lat' => 51.508, 'lng' => -0.11]);
$marker1 = new dosamigos\leaflet\layers\Marker([
'latLng' => $center,
'popupContent' => 'Hey! I am a marker'
]);
$marker2 = new dosamigos\leaflet\layers\Marker([
'latLng' => $center,
'popupContent' => 'Hey! I am a second marker'
]);
// add them to the cluster plugin
$cluster
->addLayer($marker1)
->addLayer($marker2);
// install to LeafLet component
$leafLet->plugins->install($cluster);
Contributing
Please see CONTRIBUTING for details., (*10)
Credits
License
The BSD License (BSD). Please see License File for more information., (*11)
Web development has never been so fun!
www.2amigos.us, (*12)