I'm still using that API that was deprecated. I know I should give it up, but it just keeps being useful. It's possibly the best Google product ever. (In that it just keeps on existing rather than falling into the deprecation void.)
Specifically, I used the dynamic icon portion of the Google Charts API.
The Google Earth Pro animations of our QSO are missing something. (OK, maybe lots of things, but one thing I saw that I could add on this iteration.) They don't have a way to easily view the time of each QSO, or the progression of time during the POTA or SOTA session. Thanks to a suggestion from a StackOverlow user, dynamic bubble icons have provided that!
I've added icons that appear with each QSO on the map, displaying the callsign, received RST, and and time of the QSO, as well as a different set of time icons that simply update each minute of map time to display the UTC time as the map animates.
Using the Google Dynamic Icon API
The following address gives back a bubble icon for a QSO with N5KIP.
https://chart.apis.google.com/chart?chst=d_bubble_icon_texts_big&chld=glyphish_clock|bbT|00ff00|000000|n5kip|Received+RST+539|2024-03-09T13:35:00
But, I also wanted to know how time was progressing as the map advanced, so I also added bubble icons that updated once per minute.
I built all of this in the Datasette QSO application I've been developing. Adding kml features has been much easier since I moved to using Datasette's Jinja capabilites.
For example, to add the icons that update each minute, I simply added a jinja loop to the kml template that creates one screen overlay per minute during the time span between the first and last QSOs.
{% for map_minute in Map_minutes %}
<ScreenOverlay>
<name>Map Time</name>
<Icon>
<href><![CDATA[https://chart.apis.google.com/chart?chst=d_bubble_icon_texts_big&chld=glyphish_clock|bb|00ff00|000000|{{ map_minute }}]]></href>
</Icon>
<drawOrder>{{loop.index}}</drawOrder>
<overlayXY x="0" y="1" xunits="fraction" yunits="fraction"/>
<screenXY x="0.4" y="0.1" xunits="fraction" yunits="fraction"/>
<rotationXY x="0" y="0" xunits="fraction" yunits="fraction"/>
<size x="0" y="0" xunits="fraction" yunits="fraction"/>
<TimeStamp>{{ map_minute }}</TimeStamp>
</ScreenOverlay>
{% endfor %}
What Happens When the API Goes Away Forever
What about deprecation concerns? For now, I'm studiously recording each animated map as a video. The recordings do not depend on the API. This might not be a sustainable model for new videos... eventually. Still, worst case, none of the existing videos will break.
Comments
Post a Comment
Please leave your comments on this topic: