This method implements the following algorithm. Please cite it as:
M. Rezaei and P. Fränti "Real-time clustering of large geo-referenced data
for visualizing on map", Advances in Electrical and Computer Engineering,
18 (4), 63-74, 2018.
The API provides clustering of markers on map in order to remove overlap of markers.
Grid-based clustering algorithm is used and the API supports markers as thumbnail image and circle icon as follow:
Single object | Cluster | |
Thumbnail | ||
Icon |
1- Click on single object: opens information window on map
2- Click on main icon of cluster: zoom in to cluster
3- Click on circle icon of cluster thumbnail: opens information window on map and by repeating click it displays the next object’s information
clusteringLogic.js | includes clustering functions |
clusteringInterface.js | includes functions to handle information on map |
mapFunctions.js | includes some extra functions related to map and handling markers on it |
markerFunctions.js | includes marker creation and handling click and information window |
markerClustering.php | proivdes interface functions to use the C code |
mcluster.c | source code of grid-based clustering, the executable file is: mcluster |
mopsiMarkerClustering (map, options) |
constructor |
addObject(object) | adds the input json object to the array markersData of clusteringObj |
apply() | performs clustering and displays markers on map |
remoteClick(i) | opens information window of selected object i from all data |
clean() | removes all marker clusters and also listeners from map |
1- If the thumbnail is selected and the photo does not exist, the following default photo is used:
2- You can design, the content of information window in the function “createInfoWindow” of markerX class in markerFunctions.js
3- To apply a new clustering using the same object that has already been used, first use clean() function to destroy the previous clustering on map.