Skip to main content
Hudhud provides raster map styles optimized for performance and local accuracy in Saudi Arabia. Tiles are rendered on our servers and delivered as images, so every device sees identical output. These styles are compatible with any MapLibre GL JS (web) or native SDK (mobile).

Available Styles

Hudhud provides two standard base styles, both offering full bilingual support with labels rendered server-side.

Light Variant

variant=light (default) - Optimized for day-time navigation.

Dark Variant

variant=dark - Optimized for low-light and night-time use.

Simple Implementation

The fastest way to get a map running is to include the library and initialize it with your Publishable Key and Map ID.
Getting a Map ID. Publishable keys are self-service in the DevConsole, but map IDs are issued by us. Request one from the support form and we’ll send it to you.

Interactive Switching (Advanced)

For applications that need to switch themes or languages dynamically without a page reload, you can use the map.setStyle() method.
Tiles are served up to zoom level 20. Beyond that MapLibre scales the zoom-20 image rather than requesting more detail.
Migrating from the vector styles: the map is drawn on our servers, so client-side style manipulation no longer applies. setRTLTextPlugin, setPaintProperty, setLayoutProperty and glyph or font configuration have no effect — the style contains a single raster layer. Arabic text is already shaped and rendered into the image, so the RTL plugin is no longer required.

Restricting a Key to Your Site

Publishable keys are meant to sit in page source, so you can also pin one to your own sites. List the origins a key may be used from and requests from anywhere else get a 403. Set it in the DevConsole under API keys → Origins, one per line:
A key with no origins is unrestricted. Clearing the list restores that on the next request. The match is exact on scheme, host and port: List each subdomain you serve from. Paths and wildcards are rejected when you save.
A restricted key works from a browser only, which automatically sends the headers we match on.

Integration Resources

Authentication

Learn how to use your Publishable Key securely in the frontend.

API Reference

See the full list of query parameters for the Styles API.