var map; var markers = []; var infowindow; function retrieveData() { var query = "PREFIX : PREFIX dbp: PREFIX rdf: PREFIX dbpprop: SELECT ?event ?date ?place ?lat_lng WHERE { ?event rdf:type dbp:Event . OPTIONAL { ?event dbp:place ?place . ?place grs:point ?lat_lng } OPTIONAL { ?event dbp:date ?date .} FILTER ( ?date >= '1538-03-25'^^xsd:date && ?date < '1612-02-06'^^xsd:date )} GROUP BY ?event ?date ?place"; var url = 'http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=' + encodeURIComponent(query) + '&output=json'; console.log(url); $.ajax({ url: url, dataType: "json", success: function (data) { $('#raw_output').text(JSON.stringify(data, null, 3)); deleteMarkers(); show_events(data["results"]["bindings"]); }, error: function(e) {} }); } function init() { var mapOptions = { center: new google.maps.LatLng(0.0, 0.0), minZoom: 2, zoom: 2, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); infowindow = new google.maps.InfoWindow(); } function show_events(data) { infowindow = new google.maps.InfoWindow(); for (i = 0; i < data.length; i++) { if (data[i]["lat_lng"] != null) { var lat_lng = data[i]["lat_lng"]["value"]; var array = lat_lng.split(" "); var title = data[i]["event"]["value"].split("/"); title = title[4].replace(/_/g, ""); var latlng = new google.maps.LatLng(array[0], array[1]); var content = data[i]["event"]["value"].split("/")[4].replace(/_/g, " "); var marker = new google.maps.Marker({ position: latlng, map: map, content: content }) markers.push(marker); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, this); infowindow.setContent(this.content); }); } } } function deleteMarkers() { setAllMap(null); markers = []; } function setAllMap(map) { for (var i = 0; i < markers.length; i++) { markers[i].setMap(map); } }