<script src="https://code.highcharts.com/maps/highmaps.js"></script>
<script src="https://code.highcharts.com/mapdata/countries/us/custom/us-all-territories.js"></script>
<script src="https://rawgit.com/HealthIndicators/js-api/current-release/Content/Scripts/API/Output/hiw-api.min.js"></script>
<div>
<label for="apiKey">API Key:</label>
<input id="apiKey" type="text" />
</div>
<div>
<label for="baseURL">Base URL:</label>
<input id="baseURL" type="text" />
</div>
<div>
<label for="indicatorDescriptionID">Indicator Description ID:</label>
<input id="indicatorDescriptionID" type="text" />
<button id="runButton">Run Example</button>
</div>
<p><strong>Note:</strong> While you may enter any valid Indicator Description ID you wish, this example is hard-coded to only show "Total" data for the year 2012 - so please choose an Indicator Description which contains this data. For example, try "Acute hospital readmissions (percent)" (ID=279).</p>
<div id="map"></div>
<div id="loading">Loading, please wait...</div>
var apiKey_Key = "apiKey";
var baseURL_Key = "baseURL";
var indicatorDescriptionID_Key = "indicatorDescriptionID";
var api = null;
var map = null;
function run() {
var apiKey = $("#apiKey").val();
var baseURL = $("#baseURL").val();
var indicatorDescriptionID = $("#indicatorDescriptionID").val();
$("#runButton").attr("disabled", "disabled");
$("#loading").show("fast");
//Create an API instance against which to make your API calls, passing in your API key.
api = new hiw.API(apiKey, baseURL);
getData(indicatorDescriptionID);
}
function getData(indicatorDescriptionID) {
var localeLevelFilter = new hiw.Filter()
.addEqual(hiw.LocaleLevel.Fields.name, "State");
hiw.LocaleLevel.filter(localeLevelFilter, api, function (localeLevels) {
var localeFilter = new hiw.Filter()
.addEqual(hiw.Locale.Fields.localeLevelID, localeLevels[0].id);
hiw.Locale.filter(localeFilter, api, function (locales) {
var localesByID = {};
var indicators = null;
var indicatorFilter = new hiw.Filter()
.addEqual(hiw.Indicator.Fields.indicatorDescriptionID, indicatorDescriptionID)
.addEqual(hiw.Indicator.Fields.dimensionGraphHeader, "Total")
.addEqual(hiw.Indicator.Fields.timeframeID, 2012)
.add(hiw.Indicator.Fields.localeID, hiw.Operator.In, $.map(locales, function (locale) {
return locale.id;
}));
var data = [];
var indicatorDescription = null;
$.each(locales, function (index, item) {
localesByID[item.id] = item;
});
hiw.Synchronizer.sync([
hiw.IndicatorDescription.getByID(indicatorDescriptionID, api, function (result) {
indicatorDescription = result;
}),
hiw.Indicator.filter(indicatorFilter, api, function...
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.