UNPKG

leaflet.markercluster

Version:

Provides Beautiful Animated Marker Clustering functionality for Leaflet

60 lines (47 loc) 1.82 kB
<!DOCTYPE html> <html> <head> <title>Leaflet debug page</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.3/leaflet.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.3/leaflet.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="screen.css" /> <link rel="stylesheet" href="../dist/MarkerCluster.css" /> <link rel="stylesheet" href="../dist/MarkerCluster.Default.css" /> <script src="../dist/leaflet.markercluster-src.js"></script> <script src="realworld.388.js"></script> </head> <body> <div id="map"></div> <button id="doit">Zoom to marker</button> <span>When clicked we will zoom down to a marker, spiderfying if required to show it and then open its popup</span> <script type="text/javascript"> var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' }), latlng = L.latLng(-37.82, 175.24); var map = L.map('map', {center: latlng, zoom: 13, layers: [tiles]}); var markers = L.markerClusterGroup(); var markerList = []; function populate() { for (var i = 0; i < addressPoints.length; i++) { var a = addressPoints[i]; var title = a[2]; var marker = L.marker(L.latLng(a[0], a[1]), { title: title }); marker.bindPopup(title); markers.addLayer(marker); markerList.push(marker); } } populate(); map.addLayer(markers); document.getElementById('doit').onclick = function () { var m = markerList[Math.floor(Math.random() * markerList.length)]; markers.zoomToShowLayer(m, function () { m.openPopup(); }); }; </script> </body> </html>