xxxxxxxxxx
73
let currrentTime;
let zipcode;
let all_zipcodes;
let button;
function queryLocation() {
let location_url = 'https://api.ipregistry.co?key=8fysg6pf85u3vs';
location_json = loadJSON(location_url, processLocationResponse);
}
function processLocationResponse(response){
let zipcode_result = response.location.postal;
if (zipcode_result !== null && zipcode_result !== undefined){
zipcode = zipcode_result;
} else {
zipcode = 60625;
}
}
function preload(){
queryLocation();
let url = 'https://bitspace.games/api/zipcodes';
all_zipcodes = loadJSON(url);
}
function postLocation(){
currentTime = Date.now();
// TODO: update list with your posted zipcode
//console.log("current time: " + currentTime + " your zip: " + zipcode);
let postData = { time: parseInt(currentTime), zip: parseInt(zipcode) };
let postUrl = 'https://bitspace.games/api/zipcodes';
console.log("post");
httpPost(postUrl, 'json', postData, function(response) {
console.log(response);
});
}
function showAllZipcodes(){
translate(0, 40);
// TODO: only show most recent 10
// or change visualization
// TODO: validate data (check for int?)
for (let i = 0; i < all_zipcodes.zipcodes.length; i++){
//console.log("time: " + all_zipcodes.zipcodes[i].time + " zip: " + all_zipcodes.zipcodes[i].zip);
fill(0);
translate(0, 15);
text("time: " + all_zipcodes.zipcodes[i].time + " zip: " + all_zipcodes.zipcodes[i].zip, 15, 0);
}
}
function setup() {
createCanvas(400, 400);
button = createButton('add your location');
button.position(20, 20);
button.mousePressed(postLocation);
}
function draw() {
background(255);
showAllZipcodes();
}