<style>pre.ui-coordinates{background:rgba(0,0,0,0.5);position:absolute;bottom:10px;left:10px;padding:5px10px;color:#fff;font-size:11px;line-height:18px;border-radius:3px;max-height:240px;overflow:auto;width:100px;}</style><divid='map'></div><preid='coordinates'class='ui-coordinates'></pre><script>L.mapbox.accessToken='<your access token here>';varmap=L.mapbox.map('map','mapbox.light');varmyLayer=L.mapbox.featureLayer().addTo(map);varfeatures=[];for(varx=-120;x<120;x+=20){for(vary=-80;y<80;y+=10){features.push({type:'Feature',geometry:{type:'Point',coordinates:[x,y]},properties:{'marker-color':'#000','marker-symbol':'star-stroked',title:[x,y].join(',')}});}}myLayer.setGeoJSON({type:'FeatureCollection',features:features});map.on('move',function(){// Construct an empty list to fill with onscreen markers.varinBounds=[],// Get the map bounds - the top-left and bottom-right locations.bounds=map.getBounds();// For each marker, consider whether it is currently visible by comparing// with the current map bounds.myLayer.eachLayer(function(marker){if(bounds.contains(marker.getLatLng())){inBounds.push(marker.options.title);}});// Display a list of markers.document.getElementById('coordinates').innerHTML=inBounds.join('\n');});map.setView([37,-77],5);</script>