block by maptastik e7ac58edd5f34fb9487faa711ffc4fb8

Loading External GeoJSON (Promises): .when() & .done()

Full Screen

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Starter map</title>
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" />
    <style>
        body {
            margin: 0;
            padding: 0;
        }
        #map {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }
    </style>
</head>

<body>
    <div id="map"></div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
    <!-- MAP SCRIPT -->
    <script>
        var counties = $.ajax({
          url:"https://gist.githubusercontent.com/maptastik/df8e483d5ac1c6cae3dc4a7c02ea9039/raw/9cd46849bddcfa90aab240772a12275408d6d8d0/kyCounties.geojson",
          dataType: "json",
          success: console.log("County data successfully loaded."),
          error: function (xhr) {
            alert(xhr.statusText)
          }
        })
        // Specify that this code should run once the county data request is complete
        $.when(counties).done(function() {
            var map = L.map('map')
                .setView([37.857507, -85.632935], 7);

            var basemap = L.tileLayer('//{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
                attribution: '&copy; <a href="//www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="//cartodb.com/attributions">CartoDB</a>',
                subdomains: 'abcd',
                maxZoom: 19
            }).addTo(map);
        });
    </script>
</body>

</html>