{"id":18415,"date":"2015-11-22T05:01:44","date_gmt":"2015-11-21T19:01:44","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=18415"},"modified":"2016-02-08T17:27:24","modified_gmt":"2016-02-08T07:27:24","slug":"google-chart-annotated-timeline-select-event-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-annotated-timeline-select-event-tutorial\/","title":{"rendered":"Google Chart Annotated Timeline Select Event Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AnnotatedTimelineChart\/annotatedtimeline_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Annotated Timeline Select Event Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/to_annotatedtimeline_chart.jpg\" title=\"Google Chart Annotated Timeline Select Event Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Annotated Timeline Select Event Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a target=_blank title='Google Chart Gantt Chart Primer Tutorial' href='#gcgcpt'>Google Chart Gantt Chart Primer Tutorial<\/a> was the start of our voyage of discovery into Google Charts Gantt Chart here at this blog.  Looking at this Gantt Chart reminded us of another chart that doesn&#8217;t form the dependencies of the Gantt Chart but does offer a good way to display the Gantt Chart data in such a way that information is all there in a good display mode, and that chart is the Google Chart Annotated Timeline Chart we first talked about with <a target=_blank title='PHP\/Javascript\/HTML Google Chart Annotated Timeline Chart Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/phpjavascripthtml-google-chart-annotated-timeline-chart-tutorial\/'>PHP\/Javascript\/HTML Google Chart Annotated Timeline Chart Tutorial<\/a>.<\/p>\n<p>Well, today, it seems like a good time to introduce some <a target=_blank title='Google Charts select event help ... from Google' href='https:\/\/developers.google.com\/chart\/interactive\/docs\/events?hl=en'>&#8216;select&#8217; event<\/a> functionality to the Annotated Timeline Chart, so that it is ready to have some synergies with the Gantt Chart, to end up with relationships among &#8230;<\/p>\n<ul>\n<li>Calendar Chart<\/li>\n<li>Timeline Chart<\/li>\n<li>Annotated Timeline Chart<\/li>\n<li>Gantt Chart<\/li>\n<\/ul>\n<p> &#8230; which is not particularly surprising, as they all relate to the &#8220;when&#8221; of life, and if that&#8217;s how you tend to think as well, they can be a useful way to express your linking of &#8220;when&#8221; concepts with &#8220;why&#8221; and &#8220;how&#8221; and &#8220;where&#8221; concepts, perhaps &#8230; or some other types of concepts.  &#8220;Who&#8221; knows?  But I ask you, or perhaps <a target=_blank title=\"Who's on First\" href='https:\/\/www.youtube.com\/watch?v=airT-m9LcoY'>Abbott and Costello<\/a> first asked, &#8220;Who told Who?&#8221;.<\/p>\n<p>Yesterday we said &#8230;<\/p>\n<blockquote>\n<p>What can a Gantt Chart help with?  Not looking anything up here (but you <a target=_blank title='Gantt Chart information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Gantt_chart'>might<\/a>) we think the Gantt Chart is great for setting deadlines and to turn up with in meetings focussed on outcomes (more so than incomes &#8230; chortle, chortle).<\/p>\n<\/blockquote>\n<p>Gantt Charts &#8230;<\/p>\n<ol>\n<li>establish date ranges for when tasks (or activities) should start and when they should complete<\/li>\n<li>allow for estimates of task &#8220;percentage achieved&#8221;<\/li>\n<li>define dependencies, as in, &#8220;does this task depend on the completion (or some other criteria) of another task&#8221;<\/li>\n<\/ol>\n<p> &#8230; and today we use the Duration and Percent Finished data points as the numerical datapoints the Annotated Timeline Chart asks for.<\/p>\n<p>Software wise our new Google Chart Gantt Chart integration involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php-GETME\" title=\"gantt_chart.php\" target=\"_blank\">gantt_chart.php<\/a> is the changed Gantt Chart PHP code <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php-GETME\" title=\"gantt_chart.php\" target=\"_blank\">here<\/a> from yesterday<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AnnotatedTimelineChart\/annotatedtimeline_chart.php--GETME\" title=\"annotatedtimeline_chart.php\" target=\"_blank\">annotatedtimeline_chart.php<\/a> is the changed Annotated Timeline Chart PHP code <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/AnnotatedTimelineChart\/annotatedtimeline_chart.php--GETME\" title=\"annotatedtimeline_chart.php\" target=\"_blank\">here<\/a> from some time back adding in new select event logic<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php-----GETME\" title=\"csv.php\" target=\"_blank\">csv.php<\/a> is the changed CSV spreadsheet export functionality supervised PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php-----GETME\" title=\"csv.php\" target=\"_blank\">changes<\/a> (to cater for spreadsheet CSV exports involving this type of date data types)<\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Gantt Charts information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/ganttchart' title='Gantt Chart'>via Google<\/a>.<br \/>\nLink to Google Chart Annotated Timeline Charts information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/annotatedtimeline' title='Annotated Timeline Chart'>via Google<\/a>.<\/p>\n<p>This extra &#8216;select&#8217; event functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Gantt Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AnnotatedTimelineChart\/annotatedtimeline_chart.php\" title=\"annotatedtimeline_chart.php\" target=\"_blank\">Annotated Timeline Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php\" title=\"gantt_chart.php\" target=\"_blank\">Gantt Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcgcpt'>Previous relevant <a target=_blank title='Google Chart Gantt Chart Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/Google Chart Gantt Chart Primer Tutorial\/'>Google Chart Gantt Chart Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Gantt Chart Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.jpg\" title=\"Google Chart Gantt Chart Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Gantt Chart Primer Tutorial<\/p><\/div>\n<p>Seems a fair time back we were discussing the <a target=_blank title='Google Charts select event help ... from Google' href='https:\/\/developers.google.com\/chart\/interactive\/docs\/events?hl=en'>&#8216;select&#8217; event<\/a> in relation to <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> functionality, but probably it isn&#8217;t.  And perhaps it was a fair while back, but maybe it wasn&#8217;t, that Google and its Charts team introduced a new chart called the Gantt Chart, which a lot of people out there will know well, or less well, as a Project Management tool.<\/p>\n<p>What can a Gantt Chart help with?  Not looking anything up here (but you <a target=_blank title='Gantt Chart information from Wikipeda ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Gantt_chart'>might<\/a>) we think the Gantt Chart is great for setting deadlines and to turn up with in meetings focussed on outcomes (more so than incomes &#8230; chortle, chortle).<\/p>\n<p>Gantt Charts &#8230;<\/p>\n<ol>\n<li>establish date ranges for when tasks (or activities) should start and when they should complete<\/li>\n<li>allow for estimates of task &#8220;percentage achieved&#8221;<\/li>\n<li>define dependencies, as in, &#8220;does this task depend on the completion (or some other criteria) of another task&#8221;<\/li>\n<\/ol>\n<p>Okay, so we are in the &#8220;when&#8221; of life, linking to other aspects like &#8220;why&#8221; or &#8220;how&#8221; or &#8220;where&#8221; perhaps.  This means there are synergies with &#8230;<\/p>\n<ul>\n<li>Calendar Chart<\/li>\n<li>Timeline Chart<\/li>\n<\/ul>\n<p> &#8230; as we last were talking about with <a target=_blank title='Google Chart Select Event Calendar Timeline Post Tutorial' href='#gcsectpt'>Google Chart Select Event Calendar Timeline Post Tutorial<\/a> as shown below &#8230; and so, in our business logic &#8216;select&#8217; event logic, we mention conversions to these other chart types.  Along the way we got great help from this <a target=_blank title='Very useful link' href='http:\/\/stackoverflow.com\/questions\/32260401\/google-gantt-chart'>very useful link<\/a>, so, thanks.<\/p>\n<p>Software wise our new Google Chart Gantt Chart integration involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php_GETME\" title=\"gantt_chart.php\" target=\"_blank\">gantt_chart.php<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php----GETME\" title=\"csv.php\" target=\"_blank\">csv.php<\/a> is the changed CSV spreadsheet export functionality supervised PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php----GETME\" title=\"csv.php\" target=\"_blank\">changes<\/a> (to cater for spreadsheet CSV exports involving this type of date data types)<\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Gantt Charts information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/ganttchart' title='Gantt Chart'>via Google<\/a>.<\/p>\n<p>This extra &#8216;select&#8217; event functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Gantt Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GanttChart\/gantt_chart.php\" title=\"gantt_chart.php\" target=\"_blank\">Gantt Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcsectpt'>Previous relevant <a target=_blank title='Google Chart Select Event Calendar Timeline Post Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-calendar-timeline-post-tutorial\/'>Google Chart Select Event Calendar Timeline Post Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Calendar Timeline Post Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/calendar_timeline_post.jpg\" title=\"Google Chart Select Event Calendar Timeline Post Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Calendar Timeline Post Tutorial<\/p><\/div>\n<p>With our Google Graphs API, or Google Chart Tools, web and mobile applications changes today, as with WordPress 4.1.1&#8217;s <a target=_blank title='Google Chart Select Event Calendar Timeline Post Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-calendar-timeline-post-tutorial\/'>Google Chart Select Event Calendar Timeline Post Tutorial<\/a>, we chip away at a useful generic improvement.  We hook into the PHP server language strength of allowing the <a target=_blank title='Post method' href='http:\/\/php.net\/manual\/en\/reserved.variables.post.php'>POST<\/a> method processing of HTML form data, to get around the URL <a target=_blank title='Post method' href='http:\/\/php.net\/manual\/en\/reserved.variables.get.php'>&#8220;GET&#8221;<\/a> (method) length restriction all web servers have, usually at about 2000 characters (we recommend the following <a target=_blank title='Useful link ... thanks' href='http:\/\/stackoverflow.com\/questions\/417142\/what-is-the-maximum-length-of-a-url-in-different-browsers'>background reading<\/a> regarding this) &#8230; though with our web server it seems to be a smaller limit &#8230; anyway.  Our guinea pigs today are the Google Charts Calendar Chart and its relationship with the Timeline Chart, following in from yesterday&#8217;s <a target=_blank title='Google Chart Select Event Calendar Timeline Trend Tutorial' href='#gcsecttt'>Google Chart Select Event Calendar Timeline Trend Tutorial<\/a> as shown below, we are, again, talking about tools to monitor trends over time, allowing for onclick (or Google Chart &#8220;select&#8221;) functionality to be added for &#8230; except that today we have it working for quite a few more date &#8220;data&#8221; values &#8230;<\/p>\n<ul>\n<li>Calendar Chart (and its synergies with)<\/li>\n<li>Timeline Chart (for trend analysis, perhaps)<\/li>\n<\/ul>\n<p>So we offer a conversion from Calendar Chart to Timeline Chart, at times after when the user has selected their second calendar date to &#8220;select&#8221;.  The opposite way around, with the Timeline Chart, we allow conversion to a Calendar Chart with any one &#8220;select&#8221; event.<\/p>\n<p>These Google Chart Calendar and Timeline Chart changes, with their generic &#8220;readiness&#8221; aspects, involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php---GETME\" title=\"calendar_chart.php\" target=\"_blank\">calendar_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php---GETME\" title=\"calendar_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php---GETME\" title=\"timeline_chart.php\" target=\"_blank\">timeline_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php---GETME\" title=\"timeline_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php---GETME\" title=\"csv.php\" target=\"_blank\">csv.php<\/a> is the changed CSV spreadsheet export functionality supervised PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php---GETME\" title=\"csv.php\" target=\"_blank\">changes<\/a> (to cater for spreadsheet CSV exports involving date data types)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/gchartgen.js-----GETME\" title=\"csv.php\" target=\"_blank\">gchartgen.js<\/a> is the changed Javascript programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/gchartgen.js-----GETME\" title=\"gchartgen.js\" target=\"_blank\">changes<\/a> &#8230; generic Javascript involving our new &#8230;<br \/>\n<code><br \/>\nfunction iftoobig(urlin) {<br \/>\n  if (eval(urlin.length) &lt; 1000) { \/\/ vs 2000<br \/>\n    return urlin;<br \/>\n  } else {<br \/>\n    var dss, iy, ij, qns, qname='', qval='', newfbit='';<br \/>\n    var ournewf = document.getElementById('postform');<br \/>\n    var ourbae = document.getElementById('bitsatend');<br \/>\n    if (ourbae != null) {<br \/>\n     var qparts=urlin.split('?');<br \/>\n     if (eval(qparts.length) == 2) {<br \/>\n      var aparts=qparts[1].split('&');<br \/>\n      if (ournewf == null) {<br \/>\n        var ds=urlin.split('&data');<br \/>\n        var qp=ds[0];<br \/>\n        if (eval(ds.length) &gt; 1) {<br \/>\n         for (iy=1; iy&lt;eval(ds.length); iy++) {<br \/>\n           dss=ds[iy].indexOf('&');<br \/>\n           if (dss != -1) qp+=ds[iy].substring(dss);<br \/>\n         }<br \/>\n        }<br \/>\n        if (1 == 2) newfbit=\"&lt;form style='display:none;' id='postform' method='POST' action='\" + qparts[0] + \"'&gt;\"; \/\/ \"&lt;\/form&gt;\";<br \/>\n        newfbit=\"&lt;form style='display:none;' id='postform' method='POST' action='\" + qp + \"'&gt;\"; \/\/ \"&lt;\/form&gt;\";<br \/>\n        for (ij=0; ij&lt;aparts.length; ij++) {<br \/>\n         qns=aparts[ij].split('=');<br \/>\n         newfbit+='&lt;input type=\"hidden\" name=\"' + qns[0] + '\" value=\"' + (qns[1]) + '\"&gt;&lt;\/input&gt;';<br \/>\n        }<br \/>\n        newfbit+='&lt;input type=\"submit\" value=\"Post Long Values\"&gt;&lt;\/input&gt;&lt;\/form&gt;';<br \/>\n        ourbae.innerHTML+=newfbit;<br \/>\n        ournewf = document.getElementById('postform');<br \/>\n        ournewf.submit();<br \/>\n      } else {<br \/>\n        for (ij=0; ij&lt;aparts.length; ij++) {<br \/>\n         qns=aparts[ij].split('=');<br \/>\n         newfbit+='&lt;input type=\"hidden\" name=\"' + qns[0] + '\" value=\"' + (qns[1]) + '\"&gt;&lt;\/input&gt;';<br \/>\n        }<br \/>\n        newfbit+='&lt;input type=\"submit\" value=\"Post Long Values\"&gt;&lt;\/input&gt;';<br \/>\n        ournewf.innerHTML=newfbit;<br \/>\n        ournewf.submit();<br \/>\n      }<br \/>\n     } else {<br \/>\n      return urlin;<br \/>\n     }<br \/>\n     return '#';<br \/>\n    } else {<br \/>\n     return urlin;<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n<\/code>\n<\/li>\n<\/ul>\n<p>We think ideas like this can help with time based trend analysis, and we may be adding sophistication to this over time, in addition to today&#8217;s &#8220;robustness&#8221; push.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Calendar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/calendar' title='Google Calendar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Timeline Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/timeline' title='Google Timeline Charts'>via Google<\/a>.<\/p>\n<p>We&#8217;d like to thank <a target=_blank title='Trading Economics' href='http:\/\/www.tradingeconomics.com\/united-states\/housing-starts'>Trading Economics<\/a> for the interesting U.S. Housing Starts (in 2015) data.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Calendar and Timeline Chart titles, flow on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php\" title=\"calendar_chart.php\" target=\"_blank\">Calendar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php\" title=\"timeline_chart.php\" target=\"_blank\">Timeline Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcsecttt'>Previous relevant <a target=_blank title='Google Chart Select Event Calendar Timeline Trend Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-calendar-timeline-trend-tutorial\/'>Google Chart Select Event Calendar Timeline Trend Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Calendar Timeline Trend Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_timeline_synergy.jpg\" title=\"Google Chart Select Event Calendar Timeline Trend Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Calendar Timeline Trend Tutorial<\/p><\/div>\n<p>Our Google Graphs API, or Google Chart Tools, web and mobile applications changes today are specific, so far, to the Google Charts Calendar Chart and its relationship with the Timeline Chart, and, as for yesterday&#8217;s <a target=_blank title='Google Chart Select Event Geo Pie Trend Tutorial' href='#gcsegptt'>Google Chart Select Event Geo Pie Trend Tutorial<\/a> as shown below, we are talking about tools to monitor trends over time, allowing for onclick (or Google Chart &#8220;select&#8221;) functionality to be added for &#8230;<\/p>\n<ul>\n<li>Calendar Chart (and its synergies with)<\/li>\n<li>Timeline Chart (for trend analysis, perhaps)<\/li>\n<\/ul>\n<p>So we offer a conversion from Calendar Chart to Timeline Chart, at times after when the user has selected their second calendar date to &#8220;select&#8221;.  The opposite way around, with the Timeline Chart, we allow conversion to a Calendar Chart with any one &#8220;select&#8221; event.<\/p>\n<p>These Google Chart Calendar and Timeline Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php--GETME\" title=\"calendar_chart.php\" target=\"_blank\">calendar_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php--GETME\" title=\"calendar_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php--GETME\" title=\"timeline_chart.php\" target=\"_blank\">timeline_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php--GETME\" title=\"timeline_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>We think ideas like this can help with trend analysis, and we may be adding sophistication to this over time.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Calendar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/calendar' title='Google Calendar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Timeline Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/timeline' title='Google Timeline Charts'>via Google<\/a>.<\/p>\n<p>We&#8217;d like to thank <a target=_blank title='Trading Economics' href='http:\/\/www.tradingeconomics.com\/united-states\/housing-starts'>Trading Economics<\/a> for the interesting U.S. Housing Starts (in 2015) data.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Calendar and Timeline Chart titles, flow on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/CalendarChart\/calendar_chart.php\" title=\"calendar_chart.php\" target=\"_blank\">Calendar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/TimelineChart\/timeline_chart.php\" title=\"timeline_chart.php\" target=\"_blank\">Timeline Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcsegptt'>Previous relevant <a target=_blank title='Google Chart Select Event Geo Pie Trend Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-geo-pie-trend-tutorial\/'>Google Chart Select Event Geo Pie Trend Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Geo Pie Trend Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_pie_synergy.jpg\" title=\"Google Chart Select Event Geo Pie Trend Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Geo Pie Trend Tutorial<\/p><\/div>\n<p>Our Google Graphs API, or Google Chart Tools, web and mobile applications changes today are specific, so far, to the Google Charts Geo Chart and its relationship with the Pie Chart and Pie Chart Differences (really specifically), as intimated in yesterday&#8217;s <a target=_blank title='Google Chart Onclick Pie Chart Differences Tutorial' href='#gcopcdt'>Google Chart Onclick Pie Chart Differences Tutorial<\/a> as shown below, allowing for onclick functionality to be added for &#8230;<\/p>\n<ul>\n<li>Geo Chart (and its synergies with)<\/li>\n<li>Pie Chart (data wise) and Pie Chart Differences (for trend analysis, perhaps)<\/li>\n<\/ul>\n<p>So we offer a conversion from Geo Chart to Pie Chart, and Pie Chart Differences, when the Geo Chart data has two numerical data types defined, but we&#8217;ve baulked at the likelihood of the reverse being very applicable.<\/p>\n<p>These Google Chart Geo and Pie Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php----GETME\" title=\"geo_chart.php\" target=\"_blank\">geo_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php----GETME\" title=\"geo_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php--GETME\" title=\"pie_chart_diff.php\" target=\"_blank\">pie_chart_diff.php<\/a> (as of yesterday) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php--GETME\" title=\"pie_chart_diff.php\" target=\"_blank\">changes<\/a> (from before yesterday)<\/li>\n<\/ul>\n<p>We think ideas like this can help with trend analysis, and we may be adding sophistication to this over time.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Geo Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/geochart' title='Google Geo Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Pie Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/piechart' title='Google Geo Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Diff Charts information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/diffchart' title='Google Diff Charts'>via Google<\/a>.<\/p>\n<p>We&#8217;d like to thank <a target=_blank title='Worldometers' href='http:\/\/www.worldometers.info\/world-population'>Worldometers<\/a> for the interesting population data.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Geo and Pie and Pie Differences Chart titles, flow on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php\" title=\"geo_chart.php\" target=\"_blank\">Geo Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php\" title=\"pie_chart.php\" target=\"_blank\">Pie Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php\" title=\"pie_chart_diff.php\" target=\"_blank\">Pie Chart Differences<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcopcdt'>Previous relevant <a target=_blank title='Google Chart Onclick Pie Chart Differences Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-onclick-pie-chart-differences-tutorial\/'>Google Chart Onclick Pie Chart Differences Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Onclick Pie Chart Differences Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.jpg\" title=\"Google Chart Onclick Pie Chart Differences Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Onclick Pie Chart Differences Tutorial<\/p><\/div>\n<p>Our Google Graphs API, or Google Chart Tools, web and mobile applications changes today are specific, so far, to the Google Charts Pie Chart Differences, building on recent work such as yesterday&#8217;s <a target=_blank title='Google Chart Select Event Geo Pie Synergy Tutorial' href='#gcsegpst'>Google Chart Select Event Geo Pie Synergy Tutorial<\/a> as shown below, allowing for onclick functionality to be added for &#8230;<\/p>\n<ul>\n<li>Pie Chart Differences<\/li>\n<\/ul>\n<p> &#8230; in the sense that there is a known limitation with this chart using the preferred Google Chart &#8220;select&#8221; event.<\/p>\n<p>You will understand from this, that the mechanisms by which Google Charts works differs from chart to chart, and, especially regarding event programming, and the display options, every chart should be considered to be &#8220;a different kettle of fish&#8221;.<\/p>\n<p>Tomorrow we want to relate this chart in a more useful way to the Geo Chart, but that is (probably) for tomorrow.<\/p>\n<p>In the meantime these Google Chart Pie Chart Difference changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php--GETME\" title=\"pie_chart_diff.php\" target=\"_blank\">pie_chart_diff.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php--GETME\" title=\"pie_chart_diff.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Diff Charts information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/diffchart' title='Google Diff Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Pie Chart Differences title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart_diff.php\" title=\"pie_chart_diff.php\" target=\"_blank\">Pie Chart Differences<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcsegpst'>Previous relevant <a target=_blank title='Google Chart Select Event Geo Pie Synergy Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-geo-pie-synergy-tutorial\/'>Google Chart Select Event Geo Pie Synergy Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Geo Pie Synergy Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/pie_synergy.jpg\" title=\"Google Chart Select Event Geo Pie Synergy Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Geo Pie Synergy Tutorial<\/p><\/div>\n<p>Our Google Graphs API, or Google Chart Tools, web and mobile applications changes today are specific, so far, to the Google Charts Geo Chart and its relationship with the Pie Chart, building on recent work such as yesterday&#8217;s <a target=_blank title='Google Chart Select Event Map Overlay Lines Tutorial' href='#gcsemolt'>Google Chart Select Event Map Overlay Lines Tutorial<\/a> as shown below, allowing for onclick functionality to be added for &#8230;<\/p>\n<ul>\n<li>Geo Chart (and its synergies with)<\/li>\n<li>Pie Chart (data wise)<\/li>\n<\/ul>\n<p>So we offer a conversion from Geo Chart to Pie Chart, but we&#8217;ve baulked at the likelihood of the reverse being very applicable.<\/p>\n<p>These Google Chart Geo and Pie Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php---GETME\" title=\"geo_chart.php\" target=\"_blank\">geo_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php---GETME\" title=\"geo_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php------GETME\" title=\"pie_chart.php\" target=\"_blank\">pie_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php------GETME\" title=\"pie_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php--GETME\" title=\"csv.php\" target=\"_blank\">csv.php<\/a> is the changed CSV spreadsheet export functionality supervised PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php--GETME\" title=\"csv.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Geo Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/geochart' title='Google Geo Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Pie Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/piechart' title='Google Geo Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Geo Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/geo_chart.php\" title=\"geo_chart.php\" target=\"_blank\">Geo Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gcsemolt'>Previous relevant <a target=_blank title='Google Chart Select Event Map Overlay Lines Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-map-overlay-lines-tutorial\/'>Google Chart Select Event Map Overlay Lines Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Map Overlay Lines Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map_lines.jpg\" title=\"Google Chart Select Event Map Overlay Lines Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Map Overlay Lines Tutorial<\/p><\/div>\n<p>Our Google Graphs API, or Google Chart Tools, web and mobile applications changes today are specific, so far, to the Google Charts Map Chart, building on yesterday&#8217;s <a target=_blank title='Google Chart Select Event Cache Issue Tutorial' href='#gcsecit'>Google Chart Select Event Cache Issue Tutorial<\/a> as shown below, allowing for the concept of drawing link lines overlayed onto the  &#8230;<\/p>\n<ul>\n<li>Map Chart<\/li>\n<\/ul>\n<p> &#8230; adding to our &#8230; <\/p>\n<ul>\n<li><a target=_blank title='Overlay blog postings at this blog' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/overlay'>&#8220;overlay&#8221;<\/a> blog postings<\/li>\n<li>study of HTML <a target=_blank title='HTML svg information from w3schools' href='http:\/\/www.w3schools.com\/svg\/'>SVG<\/a> elements<\/li>\n<li>the &#8220;where&#8221; feel of our <a target=_blank title='Geographical blog postings' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/geographicals\/'>geographical<\/a> themed blog postings<\/li>\n<\/ul>\n<p>The CSS &#8220;overlay&#8221; usual suspects coming into play were &#8230;<\/p>\n<ul>\n<li><a target=_blank title='CSS position:absolute information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_class_position.asp'>position:absolute<\/a> property<\/li>\n<li><a target=_blank title='CSS z-index information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_pos_z-index.asp'>z-index<\/a><\/li>\n<\/ul>\n<p>And what function do we allow once the <i>SVG<\/i> line is there, overlayed, in place, ready to be hovered over or clicked?  We calculate a crow flying distance via &#8230;<\/p>\n<p><code><br \/>\nfunction great_circle_distance(talis, gnolis, latis, longis) {<br \/>\n  var ourdist=0.0;<br \/>\n  var rgnol=eval((gnolis) * Math.PI \/ 180.0);<br \/>\n  var rtal=eval((talis) * Math.PI \/ 180.0);<br \/>\n  var rlong=eval((longis) * Math.PI \/ 180.0);<br \/>\n  var rlat=eval((latis) * Math.PI \/ 180.0);<br \/>\n  var deltalong = Math.abs(eval(((gnolis)-(longis)) * Math.PI \/ 180.0));<br \/>\n  var acof = eval(Math.sin(rtal) * Math.sin(rlat)) + (Math.cos(rtal) * Math.cos(rlat) * Math.cos(deltalong)); \/\/ via http:\/\/en.wikipedia.org\/wiki\/Great-circle_distance ... thanks<br \/>\n  ourdist = eval(Math.round((Math.acos(acof) * 6371000.0) + 0.00001) * 100) \/ 100;<br \/>\n  return ourdist;<br \/>\n}<br \/>\n<\/code><\/p>\n<p>These Google Chart Map Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php---------GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Map Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/map' title='Google Map Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Map title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live run for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\" title=\"map.php\" target=\"_blank\">Map Chart<\/a><\/li>\n<\/ul>\n<p><font size=9>and\/or<\/font><\/p>\n<p>See this functionality in action applied to two of our recent blog postings &#8230;<\/p>\n<ol>\n<li><a target=_blank title='HTML\/Javascript Where Does It Get Me To Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmljavascript-where-does-it-get-me-to-primer-tutorial\/'>HTML\/Javascript Where Does It Get Me To Primer Tutorial<\/a> <a target=_blank title=\"distance_from.html\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/distance_from.html\">live run<\/a> uses HTML\/Javascript programming source code <a target=_blank title=\"distance_from.html\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/distance_from.html--GETME\">distance_from.html<\/a> (changed as per <a target=_blank title=\"distance_from.html\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/distance_from.html--GETME\">distance_from.html<\/a> for overlay line functionality)<\/li>\n<li><a target=_blank title='PHP Modularization for Lighthouses in Australia Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/php-modularization-for-lighthouses-in-australia-tutorial\/'>PHP Modularization for Lighthouses in Australia Tutorial<\/a> <a target=_blank title=\"http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php\">live run<\/a> uses PHP programming source code <a target=_blank title=\"http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php---GETME\">http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php<\/a> (changed as per <a target=_blank title=\"distance_from.html\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/australian_lighthouses.php---GETME\">distance_from.html<\/a> for overlay line functionality)<\/li>\n<\/ol>\n<hr>\n<p id='gcsecit'>Previous relevant <a target=_blank title='Google Chart Select Event Cache Issue Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-cache-issue-tutorial\/'>Google Chart Select Event Cache Issue Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Cache Issue Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/cache_issue.jpg\" title=\"Google Chart Select Event Cache Issue Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Cache Issue Tutorial<\/p><\/div>\n<p>We&#8217;re still trying for yet more &#8220;genericity&#8221; with our Google Graphs API, or Google Chart Tools, web and mobile applications today, building on yesterday&#8217;s <a target=_blank title='Google Chart Select Event Email Integration Tutorial' href='#gcseeit'>Google Chart Select Event Email Integration Tutorial<\/a> as shown below, with integration involving <a target=_blank title='Email information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Email'>email<\/a>, yesterday more for non-mobile usage and today, more for mobile platform usage, that we first tried on our recent <strike>&#8220;guinea pig&#8221;<\/strike> <strike>&#8220;guinea fowl&#8221;<\/strike> <font size=1>(so yesterday)<\/font> <a target=_blank title='Guinea Baboon' href='http:\/\/www.google.com\/#q=guinea+baboon'>&#8220;guinea baboon&#8221;<\/a> functionalities (of recent times) &#8230;<\/p>\n<ul>\n<li>Area Chart<\/li>\n<li>Bar Chart (and Bar Chart Differences)<\/li>\n<li>Column Chart (and Column Chart Differences)<\/li>\n<li>Line Chart<\/li>\n<li>Map Chart<\/li>\n<li>Pie Chart<\/li>\n<\/ul>\n<p>It probably comes as no surprise that chart data can be a great conversation starter for meetings or online discussions conducted via email, for example.  They say &#8220;a picture tells a thousand words&#8221; &#8230; MMM look at that pie chart over yonder &#8230; see &#8230; three thousand words &#8230; <font size=1>chortle, chortle<\/font>.<\/p>\n<p>Do you remember yesterday? &#8230;<\/p>\n<blockquote>\n<p>We use <a target=_blank title='Mailto link information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tryit.asp?filename=tryhtml_link_mailto'>mailto<\/a> links to direct the user to their default client mail supervisors to make all this happen.  You will find, with PHP, that you can email without this client email via the use of the <a target=_blank title='PHP mail method information' href='http:\/\/php.net\/manual\/en\/function.mail.php'>mail<\/a> method.<\/p>\n<\/blockquote>\n<p>&#8230; Well, our concentration on <i>mailto<\/i> (that works fine on non-mobile platforms) needed to be balanced with some mobile platform consideration that uses that PHP <i>mail<\/i> method, so as not to navigate too far away in our iOS app&#8217;s WebView.<\/p>\n<p>And we did some work with Google Chart Pie Charts today to add &#8220;select&#8221; event functionality, and to try to stop it using the <a target=_blank title='Cache information from Wikipedoa ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Cache_(computing)'>cache<\/a>, as we want the iOS app reflect changes we make to things, and be able to let the iOS app user recover from an unforseen problem exacerbated by the return to a bad caching scenario.<\/p>\n<p>We found good advice about this cache issue at this <a target=_blank title='Cache useful link' href='http:\/\/stackoverflow.com\/questions\/1479359\/is-there-a-way-to-disable-browser-cache-for-a-single-page'>useful link<\/a>, so, thanks.  You may read from this page that there is an HTML <a target=_blank title='HTML meta tag information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_meta.asp'>meta<\/a> tag approach to this, but we prefer a PHP approach, and use, up the top of the PHP the code snippet &#8230;<\/p>\n<p><code><br \/>\nheader( \"Expires: Mon, 20 Dec 1998 01:00:00 GMT\" );<br \/>\nheader( \"Last-Modified: \" . gmdate(\"D, d M Y H:i:s\") . \" GMT\" );<br \/>\nheader( 'Cache-Control: no-store, no-cache, must-revalidate' );<br \/>\nheader( 'Cache-Control: post-check=0, pre-check=0', false );<br \/>\nheader( 'Pragma: no-cache' );<br \/>\n<\/code><\/p>\n<p>&#8230; you will find up the top of the PHP <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php-----GETME\" title=\"map.php\" target=\"_blank\">pie_chart.php<\/a> programming source code.<\/p>\n<p>These Google Chart Pie\/Line\/Bar\/Area\/Column\/Map Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php-----GETME\" title=\"area_chart.php\" target=\"_blank\">area_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php-----GETME\" title=\"area_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php------GETME\" title=\"bar_chart.php\" target=\"_blank\">bar_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php-----GETME\" title=\"bar_chart_diff.php\" target=\"_blank\">bar_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php------GETME\" title=\"bar_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php-----GETME\" title=\"bar_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php------GETME\" title=\"column_chart.php\" target=\"_blank\">column_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php-----GETME\" title=\"column_chart_diff.php\" target=\"_blank\">column_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php------GETME\" title=\"colimn_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php-----GETME\" title=\"column_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php------GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php------GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-------GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php-----GETME\" title=\"map.php\" target=\"_blank\">pie_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php-----GETME\" title=\"pie_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Area Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/areachart' title='Google Area Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Bar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/barchart' title='Google Bar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Column Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/columnchart' title='Google Column Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Map Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/map' title='Google Map Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Pie Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/piechart' title='Google Area Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Area and Bar and Column and Line and Map and Pie Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live runs for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php\" title=\"area_chart.php\" target=\"_blank\">Area Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php\" title=\"bar_chart.php\" target=\"_blank\">Bar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php\" title=\"column_chart.php\" target=\"_blank\">Column Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\" title=\"line_chart.php\" target=\"_blank\">Line Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\" title=\"line_chart.php\" target=\"_blank\">Map Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/PieChart\/pie_chart.php\" title=\"pie_chart.php\" target=\"_blank\">Pie Chart<\/a><\/li>\n<\/ul>\n<p><font size=1>No guinea pigs (nor guinea fowl, nor guinea baboons) were harmed in the making of this blog post.<\/font> <font size=2>Honest, hen!<\/font><\/p>\n<hr>\n<p id='gcseeit'>Previous relevant <a target=_blank title='Google Chart Select Event Email Integration Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-email-integration-tutorial\/'>Google Chart Select Event Email Integration Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Email Integration Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/email_integration.jpg\" title=\"Google Chart Select Event Email Integration Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Email Integration Tutorial<\/p><\/div>\n<p>We&#8217;re still trying for yet more &#8220;genericity&#8221; with our Google Graphs API, or Google Chart Tools, web and mobile applications today (as with WordPress 4.1.1&#8217;s <a target=_blank title='Google Chart Select Event Email Integration Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-email-integration-tutorial\/'>Google Chart Select Event Email Integration Tutorial<\/a>), building on yesterday&#8217;s <a target=_blank title='Google Chart Select Event Spreadsheet Integration Tutorial' href='#gcsesit'>Google Chart Select Event Spreadsheet Integration Tutorial<\/a> as shown below, with integration involving <a target=_blank title='Email information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Email'>email<\/a>, that we are first trying on our recent <strike>&#8220;guinea pig&#8221;<\/strike> &#8220;guinea fowl&#8221; functionalities (of recent times) &#8230;<\/p>\n<ul>\n<li>Area Chart<\/li>\n<li>Bar Chart (and Bar Chart Differences)<\/li>\n<li>Column Chart (and Column Chart Differences)<\/li>\n<li>Line Chart<\/li>\n<li>Map Chart<\/li>\n<\/ul>\n<p>It probably comes as no surprise that chart data can be a great conversation starter for meetings or online discussions conducted via email, for example.  They say &#8220;a picture tells a thousand words&#8221; so imagine how many a &#8220;chart&#8221; tells?!<\/p>\n<p>So today we make use of the fact that for small amounts of data the Google Charts can be shared via the emailing of a URL link as the body of an email.  For larger amounts of data we may have to think some more into the future, though we&#8217;re half ready because &#8230;<\/p>\n<ol>\n<li>we are using a server side language, PHP &#8230; which means that &#8230;<\/li>\n<li>the $_POST[] mentions in our PHP code can eventually be put to good use here, down the track<\/li>\n<\/ol>\n<p>These Google Chart Line\/Bar\/Area\/Column\/Map Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php----GETME\" title=\"area_chart.php\" target=\"_blank\">area_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php----GETME\" title=\"area_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php-----GETME\" title=\"bar_chart.php\" target=\"_blank\">bar_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php----GETME\" title=\"bar_chart_diff.php\" target=\"_blank\">bar_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php-----GETME\" title=\"bar_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php----GETME\" title=\"bar_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php-----GETME\" title=\"column_chart.php\" target=\"_blank\">column_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php----GETME\" title=\"column_chart_diff.php\" target=\"_blank\">column_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php-----GETME\" title=\"colimn_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php----GETME\" title=\"column_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php-----GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php-----GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-------GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-------GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>We use <a target=_blank title='Mailto link information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tryit.asp?filename=tryhtml_link_mailto'>mailto<\/a> links to direct the user to their default client mail supervisors to make all this happen.  You will find, with PHP, that you can email without this client email via the use of the <a target=_blank title='PHP mail method information' href='http:\/\/php.net\/manual\/en\/function.mail.php'>mail<\/a> method.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Area Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/areachart' title='Google Area Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Bar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/barchart' title='Google Bar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Column Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/columnchart' title='Google Column Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Map Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/map' title='Google Map Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Area and Bar and Column and Line and Map Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live runs for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php\" title=\"area_chart.php\" target=\"_blank\">Area Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php\" title=\"bar_chart.php\" target=\"_blank\">Bar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php\" title=\"column_chart.php\" target=\"_blank\">Column Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\" title=\"line_chart.php\" target=\"_blank\">Line Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\" title=\"line_chart.php\" target=\"_blank\">Map Chart<\/a><\/li>\n<\/ul>\n<p><font size=1>No guinea pigs (nor guinea fowl) were harmed in the making of this blog post.<\/font> <font size=2>Honest, hen!<\/font><\/p>\n<hr>\n<p id='gcsesit'>Previous relevant <a target=_blank title='Google Chart Select Event Spreadsheet Integration Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-select-event-spreadsheet-integration-tutorial\/'>Google Chart Select Event Spreadsheet Integration Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Select Event Spreadsheet Integration Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/spreadsheet_integration.jpg\" title=\"Google Chart Select Event Spreadsheet Integration Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Select Event Spreadsheet Integration Tutorial<\/p><\/div>\n<p>We&#8217;re trying more &#8220;genericity&#8221; with our Google Graphs API, or Google Chart Tools, web and mobile applications today, building on yesterday&#8217;s <a target=_blank title='Google Chart Line\/Bar\/Area\/Column Select Event Tutorial' href='#gclbacset'>Google Chart Line\/Bar\/Area\/Column Select Event Tutorial<\/a>, as shown below, with integration involving <a target=_blank title='Spreadsheet information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Spreadsheet'>spreadsheets<\/a>, that we are first trying on our recent &#8220;guinea pig&#8221; functionalities (of recent times) &#8230;<\/p>\n<ul>\n<li>Area Chart<\/li>\n<li>Bar Chart (and Bar Chart Differences)<\/li>\n<li>Column Chart (and Column Chart Differences)<\/li>\n<li>Line Chart<\/li>\n<li>Map Chart<\/li>\n<\/ul>\n<p>It probably comes as no surprise that chart data can be turned into spreadsheet data, especially if you have ever spent much time in those great spreadsheet applications like Microsoft Office&#8217;s <a target=_blank title='Excel information from Microsoft' href='https:\/\/products.office.com\/en-us\/excel'>Excel<\/a>, where there are various pathways to display charts from your spreadsheet data.  So, today, we just turn that thought around a bit, and use Comma Separated Value (CSV) files as a conduit to be able to convert our chart data into a spreadsheet.  We leave it up to whatever is the default application you have to open CSV files &#8230; it doesn&#8217;t even have to be a spreadsheet application as such, but our applications today offer a downloading capability to get the spreadsheet (CSV) data down to your hard disk (or perhaps midair solutions like Google Docs).<\/p>\n<p>So we see this as a good candidate as a generic Google Chart &#8220;select&#8221; event tool for users looking to integrate with spreadsheet tools.<\/p>\n<p>These Google Chart Line\/Bar\/Area\/Column\/Map Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php---GETME\" title=\"area_chart.php\" target=\"_blank\">area_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php---GETME\" title=\"area_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php----GETME\" title=\"bar_chart.php\" target=\"_blank\">bar_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php---GETME\" title=\"bar_chart_diff.php\" target=\"_blank\">bar_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php----GETME\" title=\"bar_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php---GETME\" title=\"bar_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php----GETME\" title=\"column_chart.php\" target=\"_blank\">column_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php---GETME\" title=\"column_chart_diff.php\" target=\"_blank\">column_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php----GETME\" title=\"colimn_chart.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php---GETME\" title=\"column_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php----GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php----GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php------GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php------GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>You&#8217;ll see with the PHP code that a crucial technique with today&#8217;s work, which involves huge use of PHP&#8217;s <a target=_blank title='PHP header method' href='http:\/\/php.net\/manual\/en\/function.header.php'>header<\/a> method, revolves around the use of the PHP <a target=_blank title='PHP include information' href='http:\/\/php.net\/manual\/en\/function.include.php'>include<\/a> statement (as well as its closely related <i>require<\/i> statement).  What we &#8220;included&#8221; in the PHP of above was PHP source code <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/csv.php_GETME\" title=\"csv.php\" target=\"_blank\">csv.php<\/a> to aid with constructing the PHP header statements necessary to make the functionality happen.  We&#8217;d like to thank this <a target=_blank title='Very useful link ... thanks' href='http:\/\/stackoverflow.com\/questions\/4348802\/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly'>very useful link<\/a> for help here.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Area Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/areachart' title='Google Area Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Bar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/barchart' title='Google Bar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Column Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/columnchart' title='Google Column Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Map Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/map' title='Google Map Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Area and Bar and Column and Line and Map Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live runs for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php\" title=\"area_chart.php\" target=\"_blank\">Area Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php\" title=\"bar_chart.php\" target=\"_blank\">Bar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php\" title=\"column_chart.php\" target=\"_blank\">Column Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\" title=\"line_chart.php\" target=\"_blank\">Line Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\" title=\"line_chart.php\" target=\"_blank\">Map Chart<\/a><\/li>\n<\/ul>\n<p><font size=1>No guinea pigs were harmed in the making of this blog post.<\/font> <font size=2>Honest, guv&#8217;!<\/font><\/p>\n<hr>\n<p id='gclbacset'>Previous relevant <a target=_blank title='Google Chart Line\/Bar\/Area\/Column Select Event Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-linebarareacolumn-select-event-tutorial\/'>Google Chart Line\/Bar\/Area\/Column Select Event Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Line\/Bar\/Area\/Column Select Event Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.png\" title=\"Google Chart Line\/Bar\/Area\/Column Select Event Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Line\/Bar\/Area\/Column Select Event Tutorial<\/p><\/div>\n<p>Today we continue on (from yesterday&#8217;s <a target=_blank title='Google Chart Line and Map Chart Select Event Prompt Tutorial' href='#gclamcsept'>Google Chart Line and Map Chart Select Event Prompt Tutorial<\/a>) with more integration involving Google Graphs API, or Google Chart Tools, and its &#8220;select&#8221; event (like <i>onclick<\/i>) involving &#8230;<\/p>\n<ul>\n<li>Area Chart<\/li>\n<li>Bar Chart (and Bar Chart Differences)<\/li>\n<li>Column Chart (and Column Chart Differences)<\/li>\n<li>Line Chart<\/li>\n<\/ul>\n<p> &#8230; involve similar data requirements, so we can integrate by offering a redraw of the Google Chart you are currently in, to another type of Google Chart in the list above, and allow this, as an additional &#8220;business logic&#8221; piece of functionality offered to users when they &#8220;click\/touch&#8221; on the Google Chart, firing off the <i>onclick<\/i> (or Google Chart &#8220;select&#8221;) event.<\/p>\n<p>This piece of functionality can be useful, even in terms of aesthetics, as some Google Charts display better than others depending on the density of the data set(s) displayed.<\/p>\n<p>Along the way we also present to the user a moving average of values relevant to each data column of interest.<\/p>\n<p>From yesterday, you may also recall that we can allow a redraw of one the Google Chart types as above (and for lots of others eventually) by allowing user amendment of the data.<\/p>\n<p>And from the day before yesterday we outlined that first bit of &#8220;select&#8221; event business logic allowing the user to see the difference between values, on &#8220;click\/touching&#8221; any one of them and on doing this firing the &#8220;select&#8221; event.<\/p>\n<p>These Google Chart Line\/Bar\/Area\/Column Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php--GETME\" title=\"area_chart.php\" target=\"_blank\">area_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php--GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php---GETME\" title=\"bar_chart.php\" target=\"_blank\">bar_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php--GETME\" title=\"bar_chart_diff.php\" target=\"_blank\">bar_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php---GETME\" title=\"map.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart_diff.php--GETME\" title=\"bar_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php---GETME\" title=\"column_chart.php\" target=\"_blank\">column_chart.php<\/a> (<a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php--GETME\" title=\"column_chart_diff.php\" target=\"_blank\">column_chart_diff.php<\/a>) is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php---GETME\" title=\"map.php\" target=\"_blank\">changes<\/a> (and <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart_diff.php--GETME\" title=\"column_chart_diff.php.php\" target=\"_blank\">changes<\/a>)<\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php----GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php----GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Area Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/areachart' title='Google Area Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Bar Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/barchart' title='Google Bar Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Column Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/columnchart' title='Google Column Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Area and Bar and Column and Line Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating your own emailable Google Chart live runs for &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/AreaChart\/area_chart.php\" title=\"area_chart.php\" target=\"_blank\">Area Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/BarChart\/bar_chart.php\" title=\"bar_chart.php\" target=\"_blank\">Bar Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ColumnChart\/column_chart.php\" title=\"column_chart.php\" target=\"_blank\">Column Chart<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\" title=\"line_chart.php\" target=\"_blank\">Line Chart<\/a><\/li>\n<\/ul>\n<hr>\n<p id='gclamcsept'>Previous relevant <a target=_blank title='Google Chart Line and Map Chart Select Event Prompt Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-line-and-map-chart-select-event-prompt-tutorial\/'>Google Chart Line and Map Chart Select Event Prompt Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Line and Map Chart Select Event Prompt Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.gif\" title=\"Google Chart Line and Map Chart Select Event Prompt Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Google Chart Line and Map Chart Select Event Prompt Tutorial<\/p><\/div>\n<p>Here is a tutorial that further reacquaints you, maybe, with the Google Graphs API, or Google Chart Tools, and its Line Chart functionality, last talked about at this blog with <a target=_blank title='PHP\/Javascript\/HTML Google Chart Line Chart Tutorial' href='#pjhgclct'>PHP\/Javascript\/HTML Google Chart Line Chart Tutorial<\/a> as shown way below, and <a target=_blank title='Google Chart Map Chart' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4832'>Map Chart<\/a>, for its first mention and <a target=_blank title='Google Chart Map Chart Select Event Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-map-chart-select-event-primer-tutorial\/'>Google Chart Map Chart Select Event Primer Tutorial<\/a>, for its last mention.<\/p>\n<p>There is no magic relationship between these two chart types today, rather it is the case that they are the &#8220;guinea pigs&#8221; for &#8220;generic thoughts&#8221;.<\/p>\n<p>&#8220;Generic&#8221; is a favourite word for what we try to achieve here, but it can be like &#8220;nirvana&#8221; for lots of reasons &#8230;<\/p>\n<ul>\n<li>do you have a market for the investment you need to put in to push for &#8220;genericity&#8221;<\/li>\n<li>in similar mind, does the project size make it worthwhile<\/li>\n<li>is catering for all the web browser and application platforms allow for &#8220;genericity&#8221; anyway?<\/li>\n<\/ul>\n<p> &#8230; in a big organization, such queries can progress quite nicely by using teams and having planning discussions and setting timelines and deadlines between project groups, but in smaller teams it can be the case of &#8220;seeing what problems&#8221; come up, to decide on the push for &#8220;genericity&#8221; with the product, down, eventually, to the level of deciding where &#8220;business logic&#8221; code should sit (ie. in a &#8220;library&#8221; or &#8220;called&#8221; piece of code, or otherwise).  So, we&#8217;re trying some &#8220;generic&#8221; thoughts and using these two disparate Google Charts to see whether there is some <i>onclick<\/i> (ie. Google Charts &#8220;select&#8221; event, which you can read a lot about <a target=_blank title='Google Chart events' href='https:\/\/developers.google.com\/chart\/interactive\/docs\/events?hl=en'>here<\/a> &#8230; thanks, Google) logic that, in a business sense (because we like to think of <i>onclick<\/i> being really closely tied to &#8220;business logic&#8221;, the reason being, some user &#8220;clicked\/touched&#8221; something, so you better present something heading towards specific interest, to do with business, when they do this.<\/p>\n<p>And we think an approach would be to offer an <i>onclick<\/i> reworking of the data of a chart should they get to the &#8220;click\/touch&#8221; stage with a chart.  And we decided that it is not so bad to present this in an overall &#8220;one string&#8221; chance to change the chart, because, presumanly the user went through the whole rigmarole of answering questions to get this far, and by this stage will &#8220;get the hang&#8221; of what to do to make more sweeping changes by using this new functionality.  Think, too, a &#8220;faster way to do things&#8221; presented to &#8220;advanced users&#8221; willing to give things a go (otherwise they wouldn&#8217;t still be reading?!) help to improve the UX (&#8220;user experience&#8221;) of the application, whether that be web or mobile or desktop or seascape (just checking you&#8217;re still awake).<\/p>\n<p>And so, in practical terms, with these two charts, we&#8217;ve recently added <i>onclick<\/i> (Google Charts &#8220;select&#8221; event) Javascript alert and <a target=_blank title='Javascript prompt window information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/met_win_prompt.asp'>prompt<\/a> boxes recently, respectively, for Line Charts and Map Charts.  Well, today, we make them both Javascript prompt windows to offer this chance for the user to &#8220;reshape&#8221; their chart via &#8220;click\/touch&#8221; chart control.<\/p>\n<p>These Google Chart Line Chart and Map Chart changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php---GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php---GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-----GETME\" title=\"map.php\" target=\"_blank\">map.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-----GETME\" title=\"map.php\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Map Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/map' title='Google Map Charts'>via Google<\/a>.<\/p>\n<p>This extra functionality, available via the suffix \u201c&#038;onclick=y\u201d applied to the Google Chart Map Chart title, flows on directly to the iPad iOS App we created and talked about, last, with <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-swift-ios-application-end-game-primer-tutorial\/' title='Xcode Swift iOS Application End Game Primer Tutorial'>Xcode Swift iOS Application End Game Primer Tutorial<\/a>.<\/p>\n<p>So please try creating you own emailable Google Chart Line Chart <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php'>here<\/a> or Map Chart <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php'>here<\/a>.<\/p>\n<hr>\n<p id='pjgclcset'>Previous Previous relevant <a target=_blank title='PHP\/Javascript Google Chart Line Chart Select Event Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/phpjavascript-google-chart-line-chart-select-event-tutorial\/'>PHP\/Javascript Google Chart Line Chart Select Event Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"PHP\/Javascript Google Chart Line Chart Select Event Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.jpg\" title=\"PHP\/Javascript Google Chart Line Chart Select Event Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript Google Chart Line Chart Select Event Tutorial<\/p><\/div>\n<p>Here is a tutorial that reacquaints you, perhaps, with the Google Graphs API, or Google Chart Tools, and its Line Chart functionality, first talked about at this blog with <a target=_blank title='PHP\/Javascript\/HTML Google Chart Line Chart Tutorial' href='#pjhgclct'>PHP\/Javascript\/HTML Google Chart Line Chart Tutorial<\/a> as shown below.<\/p>\n<blockquote><p>Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.<\/p><\/blockquote>\n<p>The reason for the revisit concerns a push to make more use of the <i>onclick<\/i> &#8220;feeling&#8221; Google Chart &#8220;select&#8221; event, an event triggered when you click on a feature of, in this case, a Google Chart Line Chart that our web application helps you create.<\/p>\n<p>Here is some <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php'>PHP<\/a> code in live action for this tutorial where you define your line chart characteristics and data, where am appending of &#8220;<i>&#038;onclick=y<\/i>&#8221; to your line chart title means the additional &#8220;select&#8221; event functionality can kick in.<\/p>\n<p>The &#8220;select&#8221; event functionality (which you can read a lot about <a target=_blank title='Google Chart events' href='https:\/\/developers.google.com\/chart\/interactive\/docs\/events?hl=en'>here<\/a> &#8230; thanks, Google) would be full of business logic and specific to how you want to use the chart, so it is a bit hard to pin down how you should use it, but in today&#8217;s tutorial <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.jpg'>picture<\/a> you can see that in a Company Performance line chart showing Sales and Expenses if you click on a Sales figure for any given Year the &#8220;select&#8221; event business logic brings up a Javascript alert() box that informs the user of the Expenses for that same Year, along with the difference between Sales and Expenses.  The logic is not tied down to the exact words &#8220;Sales&#8221; and &#8220;Expenses&#8221;, and it will work this out from what you entered in for this earlier on.<\/p>\n<p>Some findings here led to some small changes to that generic Javascript behind the scenes of these Google Chart suite of web applications as well so, all told, the changes involved &#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php--GETME\" title=\"line_chart.php\" target=\"_blank\">line_chart.php<\/a> is the changed PHP programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php--GETME\" title=\"line_chart.php\" target=\"_blank\">changes<\/a><\/li>\n<li><a href=\"http:\/\/www.rjmprogramming.com.au\/gchartgen.js----GETME\" title=\"gchartgen.js--GETME\" target=\"_blank\">gchartgen.js<\/a> is the changed Javascript programming source code as per <a href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/gchartgen.js----GETME\" title=\"gchartgen.js--GETME\" target=\"_blank\">changes<\/a><\/li>\n<\/ul>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<\/p>\n<p>So please try creating you own emailable Google Chart Line Chart <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php'>here<\/a>.<\/p>\n<hr>\n<p id='pjhgclct'>Previous relevant <a target=_blank title='PHP\/Javascript\/HTML Google Chart Line Chart Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/phpjavascripthtml-google-chart-line-chart-tutorial\/'>PHP\/Javascript\/HTML Google Chart Line Chart Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"PHP\/Javascript\/HTML Google Chart Line Chart Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/LineChart.jpg\" title=\"PHP\/Javascript\/HTML Google Chart Line Chart Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript\/HTML Google Chart Line Chart Tutorial<\/p><\/div>\n<p>Here is a tutorial that introduces you to Google Graphs API, or Google Chart Tools, and its Line Chart functionality.<\/p>\n<blockquote><p>Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.<\/p><\/blockquote>\n<p>Let&#8217;s see some  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php'>PHP<\/a> code in live action for this tutorial where you define your line chart characteristics and data.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Line Chart information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/gallery\/linechart' title='Google Line Charts'>via Google<\/a>.<\/p>\n<p>Link to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/LineChart\/line_chart.php_GETME' title='Download me'>line_chart.php<\/a>.\n<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d1731' onclick='var dv=document.getElementById(\"d1731\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=Google+Chart#content\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d1731' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17927' onclick='var dv=document.getElementById(\"d17927\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/onclick\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17927' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17950' onclick='var dv=document.getElementById(\"d17950\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/prompt-popup-box\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17950' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17965' onclick='var dv=document.getElementById(\"d17965\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/php\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17965' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17987' onclick='var dv=document.getElementById(\"d17987\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/csv\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17987' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18005' onclick='var dv=document.getElementById(\"d18005\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/email\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18005' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18026' onclick='var dv=document.getElementById(\"d18026\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/cache\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18026' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18037' onclick='var dv=document.getElementById(\"d18037\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/svg\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18037' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18057' onclick='var dv=document.getElementById(\"d18057\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/geographicals\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18057' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18067' onclick='var dv=document.getElementById(\"d18067\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/onclick\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18067' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18080' onclick='var dv=document.getElementById(\"d18080\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/event\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18080' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18097' onclick='var dv=document.getElementById(\"d18097\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/calendar\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18097' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18097' onclick='var dv=document.getElementById(\"d18097\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/post\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18097' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18401' onclick='var dv=document.getElementById(\"d18401\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/gantt-chart\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18401' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d18415' onclick='var dv=document.getElementById(\"d18415\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/timeline\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d18415' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday&#8217;s Google Chart Gantt Chart Primer Tutorial was the start of our voyage of discovery into Google Charts Gantt Chart here at this blog. Looking at this Gantt Chart reminded us of another chart that doesn&#8217;t form the dependencies of &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-annotated-timeline-select-event-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[180,1736,513,518,652,861,932,997,999,1737,1729,1319],"class_list":["post-18415","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-calendar","tag-gantt-chart","tag-google","tag-google-chart","tag-javascript","tag-onclick","tag-php","tag-programming","tag-project","tag-project-management","tag-timeline","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/18415"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=18415"}],"version-history":[{"count":11,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/18415\/revisions"}],"predecessor-version":[{"id":20036,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/18415\/revisions\/20036"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=18415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=18415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=18415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}