A layer of maptalks to cluster markers.
npm install maptalks.markerclusternpm install maptalks.markercluster`.
* Download from dist directory.
* Use unpkg CDN: `https://unpkg.com/maptalks.markercluster/dist/maptalks.markercluster.min.js`
Usage
As a plugin, `maptalks.markercluster` must be loaded after `maptalks.js` in browsers.
`html
`
Supported Browsers
IE 9-11, Chrome, Firefox, other modern and mobile browsers.
API Reference
`ClusterLayer` is a subclass of maptalks.VectorLayer and inherits all the methods of its parent.
$3
`javascript
new maptalks.ClusterLayer(id, data, options)
`
* id String layer id
* data Marker[] layer data, an array of maptalks.Marker
* options Object options
* maxClusterRadius Number max cluster radius (160 by default)
* symbol Object symbol of clusters
* textSymbol Object symbol of cluster texts
* drawClusterText Boolean whether to draw cluster texts (true by default)
* textSumProperty String property name to sum up to display as the cluster text
* maxClusterZoom Number the max zoom to draw as clusters (null by default)
* animation Boolean whether animate the clusters when zooming (true by default)
* animationDuration Number the animation duration
* noClusterWithOneMarker Boolean whether display cluster with only one marker (false by default)
* Other options defined in maptalks.VectorLayer
$3
config layer's options and redraw the layer if necessary
`javascript
clusterLayer.config('maxClusterRadius', 100);
clusterLayer.config({
'textSymbol' : {
'textFaceName' : 'monospace',
'textSize' : 16
}
});
`
Returns this
$3
add more markers
* marker Marker[] markers to add
Returns this
$3
export the layer's JSON.
`javascript
var json = clusterLayer.toJSON();
`
Returns Object
Contributing
We welcome any kind of contributions including issue reportings, pull requests, documentation corrections, feature requests and any other helps.
Develop
The only source file is `index.js`.
It is written in ES6, transpiled by babel and tested with mocha and expect.js.
$3
* Install dependencies
`shell
$ npm install
`
* Watch source changes and generate runnable bundle repeatedly
`shell
$ gulp watch
`
* Tests
`shell
$ npm test
`
* Watch source changes and run tests repeatedly
`shell
$ gulp tdd
`
* Package and generate minified bundles to dist directory
`shell
$ gulp minify
`
* Lint
`shell
$ npm run lint
``