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);
}
}