-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathgoogleMapReportChart
30 lines (30 loc) · 1.42 KB
/
googleMapReportChart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<apex:page sidebar="false" showHeader="false">
<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" />
<apex:includeScript value="https://www.google.com/jsapi" />
<script>
google.load('visualization', '1', {
'packages': ['geomap']
});
$(document).ready(function () {
$.ajax('/services/data/v29.0/analytics/reports/{!$CurrentPage.parameters.reportId}', {
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer {!$Api.Session_ID}');
},
success: function (reportResult) {
var chartPoints = [];
$.each(reportResult.groupingsDown.groupings, function (index, value) {
chartPoints.push([value.label, reportResult.factMap[value.key + "!T"].aggregates[0].value]);
});
var options = {};
var labels = [
['Country', 'Metric']
];
var myData = google.visualization.arrayToDataTable(labels.concat(chartPoints));
var chart = new google.visualization.GeoMap(document.getElementById('chart'));
chart.draw(myData, options);
}
});
});
</script>
<div id="chart" height="500px" width="500px"></div>
</apex:page>