block by wboykinm 9371641

Cycling through Mapbox markers

Full Screen

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Cycling Through Markers</title>

<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox.js/v1.6.1/mapbox.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v1.6.1/mapbox.css' rel='stylesheet' />

<style>
  body { margin:0; padding:0; }
  #map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>


<div id='map'></div>
<script>
var map = L.mapbox.map('map', 'examples.map-zr0njcqy');

// Open popup when user mouses over a marker
map.featureLayer.on('ready', function(e) {
    var markers = [];
    this.eachLayer(function(marker) { markers.push(marker); });
    cycle(markers);
});

function cycle(markers) {
    var i = 0;
    function run() {
        if (++i > markers.length - 1) i = 0;
        map.setView(markers[i].getLatLng(), 12);
        markers[i].openPopup();
        window.setTimeout(run, 3000);
    }
    run();
}
</script>


</body>
</html>