Deze keer buigt John Vanderaart zich over api's. Nee, dat zijn niet de beesten die je in dierentuinen ziet en die soms verbazend veel op mensen lijken. Nee, de api van John is een Application Programming Interface, een reeks regels en standaarden die ervoor zorgen dat softwaretoepassingen met elkaar kunnen communiceren en gegevens kunnen uitwisselen.
Op dit moment ben ik bezig met een nieuwe implementatie van Google Maps op een website die nodig mocht worden afgestoft. Die website draait – nog even – op een oude PHP-server waar al jaren niet naar is omgekeken. En dan ook meteen een fatsoenlijk dashboard er op om de locaties te kunnen aanpassen!
Ik heb die PHP-code eens goed bekeken en ik moet zeggen: “Een wonder dat het nog werkt!” Dat wonder is overigens aan Google te danken, die de bejaarde API’s nog steeds ondersteunt; waarvoor een pluimpje. Intussen is er een nieuwe API met nieuwe objecten en nieuwe mogelijkheden. Dat alles is uitgebreid gedocumenteerd, ik durf zelfs te zeggen: “Te uitgebreid!” Enfin, aan de slag!
Vrij snel had ik het een en ander in de lucht. De eerste demonstratie smaakte naar meer, want opeens hadden de collega’s allemaal extra wensen die ze nu eens wél geïmplementeerd zouden willen zien. Een van die wensen: “De toonbaarheid van de markers afhankelijk laten zijn van de zoom-factor.” Een zogeheten event-handler die reageert op zoombewegingen was snel gemaakt. Ik liet me door Google AI Studio (van Google zelf, dus 100% op de hoogte) bijpraten omrent het verbergen en tonen van de markers. Alleen: “Google AI Studio zat er volkomen naast!”
Google AI Studio kwam namelijk met een algemene oplossing die in 99 van de 100 gevallen prima werkt. Blijft over 1 geval: "Mijn geval!" Maar gelukkig is daar altijd nog StackOverflow dat me op de goede weg wist te zetten.
De oplossing (de ‘map’ onder de ‘marker’ op ‘null’ zetten) bleek vergezocht te zijn, maar wonderwel prima en snel te functioneren. Achteraf gaf het me inzicht in de manier waarop Google de (laten we zeggen) maps-extraatjes in elkaar heeft gezet: "Los van elkaar." En die gedachte maakt vervolgstapjes opeens een stuk leuker, maar voor AI kennelijk nogal wat ingewikkelder. Enfin, zomaar een voorbeeld dat AI nog lang geen heilige graal is. Ja, programmeren blijft nog wel even mensenwerk.
Aan de slag met de nieuwe API van Google Maps. Mogelijkheden te over! Maar je moet wel weten hoe...