//String wpArticle = "Josef_Albers"; String wpArticle = "Walter_Gropius"; //String wpArticle = "Processing_(programming_language)"; String yqlApiUrl = "http://query.yahooapis.com/v1/public/yql"; String query = "SELECT%20*%20FROM%20geo.placemaker%20WHERE%20documentURL%3D%22http%3A%2F%2Fen.wikipedia.org%2Fwiki%2F" + wpArticle + "%22%20AND%20documentType%3D%22text%2Fhtml%22"; String format = "xml"; String restUrl = yqlApiUrl + "?q=" + query + "&format=" + format; ArrayList placeMarkers = new ArrayList(); void setup() { size(250, 150); smooth(); queryAndCreatePlaces(); } void draw() { background(250); for (int i = 0; i < placeMarkers.size(); i++) { PlaceMarker pm = (PlaceMarker) placeMarkers.get(i); pm.display(); } } void queryAndCreatePlaces() { XMLElement xmlResponse = new XMLElement(this, restUrl); XMLElement[] placeXMLElements = xmlResponse.getChildren("results/matches/match/place"); println("Found " + placeXMLElements.length + " places"); for (int i = 0; i < placeXMLElements.length; i++) { String name = placeXMLElements[i].getChild(2).getContent(); float lat = new Float(placeXMLElements[i].getChild(3).getChild(0).getContent()); float lng = new Float(placeXMLElements[i].getChild(3).getChild(1).getContent()); PlaceMarker placeMarker = new PlaceMarker(name, lat, lng); placeMarkers.add(placeMarker); println(i + ": " + placeMarker); } }