BoxLang 🚀 A New JVM Dynamic Language Learn More...

Apple Web Services for Preside

v0.10.0 Preside Extensions

Apple Web Services for Preside

Preside implementation of Apple's MapKit JS mapping system. The extension also provides integration with the server-side Map and WeatherKit APIs.

NOTE: an earlier version of this functionality was released as preside-ext-mapkitjs. That extension is no longer in development, and you should use this one instead.

Why another mapping integration?

There are a number of reasons for choosing Apple's mapping system. The maps look good, are fast and reliable, and have a consistent API for interacting with them.

In addition, they operate with no cookies or tracking, which is a good thing to offer in these times of GDPR and increased interest in privacy.

Finally, the pricing model. They are not free - you require a paid-for Apple Developer account in order to use MapKit JS. But many developers may already have this, and if not, then it's £79 / $99 per year. And, aside from any other benefits, this gives you:

  • 250,000 map views (not tiles)
  • 25,000 service calls
  • 25,000 snapshots (static map images)

... and all of this is per day! This works out as a much more transparent and predictable pricing model than some other map systems, where the cost can ramp up quite quickly...


You will also gain access, at no extra cost, to the WeatherKit REST API. This provides localised conditions and forecasts, including day-by-day and hour-by-hour forecasts.

On top of your quota for Maps, you get 500,000 WeatherKit API calls per day.

Full documentation

Read the full documentation for this extension



  • Add MapKit API service
  • Add WeatherKit API service
  • Allow generation of tokens from settings panel
  • General refactoring
  • Add unit tests


  • Initial release imported and renamed from preside-ext-mapkitjs
  • Add authentication for WeatherKit REST API
  • Add admin mapkitLocationPicker control
  • Add rudimentary GeoJSON handling
  • Add validation of snapshot parameters

Previous changelog from preside-ext-mapkitjs


  • MapkitSnapshot for building and generating snapshots
  • Add helpers for token and snapshot


  • Change variable location of tokenUrl


  • Implement JWT creation and ES256 signing
  • Add Snapshot service


  • Initial minimal release

$ box install preside-ext-apple-services

No collaborators yet.
  • {{ getFullDate("2023-11-29T09:07:03Z") }}
  • {{ getFullDate("2024-01-14T10:04:49Z") }}
  • 523
  • 305