-
Notifications
You must be signed in to change notification settings - Fork 131
/
random.10000-getclustermarkers.html
70 lines (50 loc) · 2.05 KB
/
random.10000-getclustermarkers.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>PruneCluster - Realworld 50k</title>
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, target-densitydpi=device-dpi" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-beta.2.rc.2/leaflet.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-beta.2.rc.2/leaflet.js"></script>
<script src="../dist/PruneCluster.js"></script>
<link rel="stylesheet" href="examples.css"/>
</head>
<body>
<div id="map"></div>
<script>
var map = L.map("map", {
attributionControl: false,
zoomControl: false
}).setView(new L.LatLng(59.911111, 10.752778), 12);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
detectRetina: true,
maxNativeZoom: 17
}).addTo(map);
// The GetClusterMarkers method is not working by default
PruneCluster.Cluster.ENABLE_MARKERS_LIST = true;
var leafletView = new PruneClusterForLeaflet();
leafletView.BuildLeafletClusterIcon = function(cluster) {
var markers = cluster.GetClusterMarkers();
console.log(markers);
return PruneClusterForLeaflet.prototype.BuildLeafletClusterIcon.call(this, cluster);
};
var size = 10000;
var markers = [];
for (var i = 0; i < size; ++i) {
var marker = new PruneCluster.Marker(59.91111 + (Math.random() - 0.5) * Math.random() * 0.00001 * size, 10.752778 + (Math.random() - 0.5) * Math.random() * 0.00002 * size);
markers.push(marker);
leafletView.RegisterMarker(marker);
}
window.setInterval(function () {
for (i = 0; i < size / 2; ++i) {
var coef = i < size / 8 ? 10 : 1;
var ll = markers[i].position;
ll.lat += (Math.random() - 0.5) * 0.00001 * coef;
ll.lng += (Math.random() - 0.5) * 0.00002 * coef;
}
leafletView.ProcessView();
}, 500);
map.addLayer(leafletView);
</script>
</body>
</html>