Dynamically Showing and Hiding Markers in Leaflet / / No Comments This was originally going to be an example of using Leaflet with Alpine.js, but while working on that demo I discovered an interesting aspect of Leaflet that was a bit more difficult than I thought it would be – hiding and showing markers. Here’s how I approached the problem, and as always, if you know of a better way, leave me a comment below and share! Approach One For my first demo, I decided to start simple. First, I built a function to return a static set of data: async function getStores() { return new Promise(resolve => { let stores = [ { name: "Lafayette Store", open24Hours:true, location: { lat:30.216, lng: -92.033 }}, { name: "Baton Rouge Store",... more → Posted in: JavaScript Tagged with: Dynamically, Hiding, Leaflet, Markers, showing
The 2024 GeoGuessr World Cup / / No Comments Do you think you’ve got what it takes to be the next GeoGuessr World Champion?This year’s GeoGuessr World Cup was won by Blinky, who defeated the U.S.’s mk, to become the 2024 GeoGuessr World Champion. The dramatic final was a tense affair. Blinky took an early 2-0 lead, but mk made a stunning comeback winning the next two games, to take the competition into the fifth and final game. Maps Mania… more → Posted in: Interactive Maps Tagged with: 2024, GeoGuessr, World
Using Google Gemini’s File API with ColdFusion / / No Comments I promise, I’m not turning this back into a ColdFusion blog, but as I prepare my presentation next week at Summit and update my Google Gemini code for some ColdFusion demos, I ran into a particularly gnarly bit that I wanted to share in a post. For the most part, I’ve had no issues using Gemini’s REST APIs in ColdFusion, but the File API ended up being more difficult. If you go the documentation for uploading, and use the ‘Shell’ language tab, you can see an example like so: MIME_TYPE=$ (file -b --mime-type "$ {IMG_PATH_2}")NUM_BYTES=$ (wc -c < "$ {IMG_PATH_2}")DISPLAY_NAME=TEXTtmp_header_file=upload-header.tmp# Initial resumable request... more → Posted in: JavaScript Tagged with: ColdFusion, file, Gemini's, Google, using
Next , and Vote For My AI Demo! / / No Comments Greetings, programs. This is just a quick note about my <Code><Br> show. Usually the show goes on every two weeks, but with the holiday this week I pushed it off to September 17th. You can find the details and RSVP here: "Parks and Recreation – Using Leaflet and the NPS" As the link says, this will be another stream involving Leaflet, which I’ve been having a hell of a lot of fun with the last few weeks. I hope to see you there! And then on a completely different topic, I’ve entered the Gemini API Developer Competition and honestly, I’ve probably got no chance to actually win, but I’d love for you to take a look at my entry, Content Assistant,... more → Posted in: JavaScript Tagged with: Demo, Next, Vote
Free Maps for All / / No Comments All my recent personal map projects (Backdrop, World Level Zero, Guess This City) are available for free online. However, because I make zero money from my maps, I cannot afford to host them myself or pay a provider for the map tiles that they use. This means I have to be a little creative in publishing my maps online.Thanks to the amazing Glitch and the generosity of TripGeo I am able to host Maps Mania… more → Posted in: Interactive Maps Tagged with: free, maps
Parsing Markdown in ColdFusion / / No Comments Welcome to my third, yes, third, ColdFusion post in 2024. Is it a trend? Who knows. That being said, I’m doing some prep work to update my presentation on Google Gemini in preparation for my talk at Adobe’s ColdFusion Summit later this month, I’m updating my Node.js demos to ColdFusion and ran into an interesting issue – converting Markdown responses from Gemini to HTML. Edit: I realized I gave my function at the bottom a dumb name. I updated the code to reflect a better name on 9/18/2024 My first quick Google searches didn’t really mesh well with what I expected, so I asked on the CFML Slack and James Moberg pointed out a few options, but suggested I focus on Flexmark... more → Posted in: JavaScript Tagged with: ColdFusion, Markdown, Parsing
World Level Zero / / No Comments How well traveled are you?My new map World Level Zero turns your travel experiences into a global achievement tracker. Whether you’ve been globetrotting for years or are just getting started, World Level Zero allows you to plot your personal journey across the globe and turn your wanderlust into a tangible score.What Is World Level Zero?At its core, World Level Zero revolves around a simple Maps Mania… more → Posted in: Interactive Maps Tagged with: Level, World, Zero
Using Asynchronous Content in Leaflet Popups / / No Comments Today in my <Code><Br> stream (I’ll share a link to the video at the bottom), I spent some time digging into Leaflet and worked on a demo that made use of the National Parks Service API. This is a fun API I’ve used many times in the past, especially at my last job at HERE. For the stream today, I wanted to build the following: Create a map that loads a geojson file of NPS parks. The geojson file contains the code and name for each park. On clicking one of the markers, use the NPS API to get more information about the park. In general, I’ve found everything in Leaflet to be stupid easy, but this particular aspect turned out to be a bit more difficult, which of course... more → Posted in: JavaScript Tagged with: Asynchronous, Content, Leaflet, Popups, using