mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
	<title>Leaflet debug page</title>
 | 
						|
 | 
						|
	<link rel="stylesheet" href="../lib/leaflet-dist/leaflet.css" />
 | 
						|
	<!--[if lte IE 8]><link rel="stylesheet" href="../lib/leaflet-dist/leaflet.ie.css" /><![endif]-->
 | 
						|
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
						|
	<link rel="stylesheet" href="screen.css" />
 | 
						|
	<script src="../lib/leaflet-dist/leaflet-src.js"></script>
 | 
						|
 | 
						|
 | 
						|
	<link rel="stylesheet" href="../dist/MarkerCluster.css" />
 | 
						|
	<link rel="stylesheet" href="../dist/MarkerCluster.Default.css" />
 | 
						|
	<script src="../src/MarkerCluster.Default.js"></script>
 | 
						|
	<script src="../src/MarkerClusterGroup.js"></script>
 | 
						|
	<script src="../src/MarkerCluster.js"></script>
 | 
						|
	<script src="../src/MarkerCluster.QuickHull.js"></script>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
 | 
						|
	<div id="map"></div>
 | 
						|
	<button id="populate">Populate 1 marker</button>
 | 
						|
	<button id="remove">Remove 1 marker</button>
 | 
						|
 | 
						|
	<script type="text/javascript">
 | 
						|
 | 
						|
		var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
 | 
						|
			cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
 | 
						|
			cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution}),
 | 
						|
			latlng = new L.LatLng(50.5, 30.51);
 | 
						|
 | 
						|
		var map = new L.Map('map', {center: latlng, zoom: 15, layers: [cloudmade]});
 | 
						|
 | 
						|
		var markers = new L.MarkerClusterGroup();
 | 
						|
 | 
						|
		function populate() {
 | 
						|
			for (var i = 0; i < 100; i++) {
 | 
						|
				var m = new L.Marker(getRandomLatLng(map));
 | 
						|
				markers.addLayer(m);
 | 
						|
			}
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
		function getRandomLatLng(map) {
 | 
						|
			var bounds = map.getBounds(),
 | 
						|
				southWest = bounds.getSouthWest(),
 | 
						|
				northEast = bounds.getNorthEast(),
 | 
						|
				lngSpan = northEast.lng - southWest.lng,
 | 
						|
				latSpan = northEast.lat - southWest.lat;
 | 
						|
 | 
						|
			return new L.LatLng(
 | 
						|
					southWest.lat + latSpan * Math.random(),
 | 
						|
					southWest.lng + lngSpan * Math.random());
 | 
						|
		}
 | 
						|
 | 
						|
 | 
						|
		var polygon;
 | 
						|
		markers.on('clustermouseover', function (a) {
 | 
						|
			if (polygon) {
 | 
						|
				map.removeLayer(polygon);
 | 
						|
			}
 | 
						|
			polygon = new L.Polygon(a.layer.getConvexHull());
 | 
						|
			map.addLayer(polygon);
 | 
						|
		});
 | 
						|
 | 
						|
		markers.on('clustermouseout', function (a) {
 | 
						|
			if (polygon) {
 | 
						|
				map.removeLayer(polygon);
 | 
						|
				polygon = null;
 | 
						|
			}
 | 
						|
		});
 | 
						|
 | 
						|
		map.on('zoomend', function () {
 | 
						|
			if (polygon) {
 | 
						|
				map.removeLayer(polygon);
 | 
						|
				polygon = null;
 | 
						|
			}
 | 
						|
		});
 | 
						|
 | 
						|
 | 
						|
		populate();
 | 
						|
		map.addLayer(markers);
 | 
						|
	</script>
 | 
						|
</body>
 | 
						|
</html>
 |