2amigos / yii2-leaflet-markercluster-plugin
Yii2 LeafLet Plugin to provide beautiful, sophisticated, high performance marker clustering solution with smooth animations and lots of great features.
Installs: 5 332
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 21
Forks: 10
Open Issues: 4
Language:JavaScript
Type:yii2-extension
Requires
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2023-08-16 03:10:04 UTC
README
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.
Installation
The preferred way to install this extension is through composer.
Either run
composer require 2amigos/yii2-leaflet-markercluster-plugin:~1.0
or add
"2amigos/yii2-leaflet-markercluster-plugin" : "~1.0"
to the require section of your application's composer.json
file.
Usage
Using an external json url source:
// 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:
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:
// 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.
Credits
License
The BSD License (BSD). Please see License File for more information.
Web development has never been so fun!
www.2amigos.us