Basic_Rarities

The most simple way to request, process, and display data from eBird nearby rarities API.

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<div id="content">Loading...</div>

CSS

a {
    text-decoration:none;
}

JavaScript

var URL = "http://ebird.org/ws1.1/data/notable/geo/recent?lng=-73.80&lat=42.65&dist=120&back=15&detail=full&locale=en_US&fmt=json";
$.getJSON(URL, function (data) {
    for (var i = 0; i < data.length; i++) {
        data[i].obsDt = data[i].obsDt.substring(5, 7) + "/" + data[i].obsDt.substring(8, 10);
        if (data[i].locationPrivate == false) {
            data[i].locName = "<a href='http://www.google.com/maps/place/" + data[i].lat + "," + data[i].lng + "' style='color:red;'>" + data[i].locName + "</a>";
        } else {
            data[i].locName = "<a href='http://www.google.com/maps/place/" + data[i].lat + "," + data[i].lng + "' style='color:black;'>" + data[i].locName + "</a>";
        }
        if ("howMany" in data[i]) {} else {
            data[i]["howMany"] = "X";
        }
        if (data[i].obsValid ==true) {
            data[i].obsValid = "Confirmed";
        } else {
            data[i].obsValid = "";
        }
    }
    var html = "<table><tr><th>Count</th><th>Species</th><th>Location</th><th>Date</th><th>Checklist ID</th><th>Status</th><th>Observer</th><th>County</th></tr>";
    for (var i = 0; i < data.length; i++) {
        var d = data[i];
        html += "<tr>";
        html += "<td>" + d.howMany + "</td>";
        html += "<td>" + d.comName + "</td>";
        html += "<td>" + d.locName + "</td>";
        html += "<td>" + d.obsDt + "</td>";
        html += "<td>" + d.subID + "</td>";
        html += "<td>" + d.obsValid + "</td>";
        html += "<td>" + d.userDisplayName + "</td>";
        html += "<td>" + d.subnational2Name + " (" + d.subnational1Code.replace("-", ", ") + ")</td>";
        html += "</tr>";
    }
    html += "</table>";
    $("#content").html(html);
});