
April 7, 2026
From the creator of ruby-libgd and libgd-gis comes native Rails integration
Many of you already know ruby-libgd – the gem that brings GD graphics power to Ruby.
Many of you already know libgd-gis – the GIS rendering layer built on top of GD.
Now there’s MapView for Ruby on Rails.
| Purchase License |
| 🛟 Ask for Support |
| 🧪 Request DEMO |
What is MapView?
A Rails helper that generates static maps from GeoJSON in one line:
<%= map_view("data.geojson", bbox: :argentina, width: 800, height: 600) %>
No JavaScript. No Leaflet. No Mapbox. No frontend.

Just Ruby.
What is it for?
- PDF reports with route, delivery, or coverage maps
- Transactional emails showing locations
- Internal dashboards without hiring a GIS frontend specialist
- Geographic thumbnails for marketplaces or classifieds
The problem it solves
Generating maps in Rails today means:
- Integrating JavaScript (Leaflet, OpenLayers, Mapbox)
- Managing tokens, APIs, and variable costs
- Dealing with interactive maps where you don’t need interactivity
- Excluding PDFs and emails (they don’t run JS)
MapView solves all of that. On the backend. As it should be.
Native integration with the Rails GIS stack
MapView isn’t just a helper. It’s the presentation layer of a complete GIS stack in Rails:
# 1. Model with PostGIS
class Store < ApplicationRecord
scope :within_area, ->(bbox) { where("geom && ST_MakeEnvelope(?, ?, ?, ?, 4326)", *bbox) }
end
# 2. Controller
class StoresController < ApplicationController
def index
@stores = Store.all
@geojson = @stores.to_geojson
end
end
# 3. View with MapView
<%= map_view(@geojson, bbox: :argentina) %>
The complete stack:
| Layer | Technology | What it does |
|---|---|---|
| Database | PostgreSQL + PostGIS | Spatial storage, spatial queries |
| ORM | ActiveRecord + activerecord-postgis | Models with geometries |
| GIS | RGeo | Geometry manipulation in Ruby |
| Rendering | libgd-gis (GD bindings) | Geometry to image conversion |
| Presentation | MapView | Rails helper, caching, styles |
Why is this revolutionary?
If you have spatial data in PostGIS and want to display a map, you have two options:
- Frontend JS (Leaflet, Mapbox): Need APIs, tokens, JavaScript – doesn’t work in PDFs/emails
- Google Maps Static API: Pay per request, external dependency, rate limits
With MapView:
- Your data stays in PostGIS
- Query with ActiveRecord
- Render with MapView
- Everything in Ruby. Everything on the backend.
Real-world example:
# Stores within 10km radius
stores = Store.where("ST_DWithin(geom, ST_MakePoint(?, ?), ?)", lon, lat, 10000)
# Generate GeoJSON directly from ActiveRecord
geojson = stores.to_geojson
# Render map in a PDF
<%= map_view(geojson, bbox: :auto) %>
Commercial Model
MapView is a serious commercial offering for teams that need static maps in production.
Professional Services
- Installation & setup: We get the gem working in your infrastructure
- Custom map design: Maps with your brand identity
- Training (2 days): Your team masters GIS with Ruby
- 24/365 support: Guaranteed response in < 3 hours
Coming Soon: Public API
We’re building MapView API, a request-based map rendering service:
- POST /render → Returns PNG
- Scalable without your own infrastructure
- Perfect for teams who don’t want to install anything
Roadmap
- ✅ Q1 2026 – MapView alpha (working gem)
- 🔄 Q2 2026 – Public API (private beta)
- 🔄 Q3 2026 – Batch rendering (multiple maps per request)
- 🔄 Q4 2026 – Global CDN caching
Conclusion
MapView is the missing piece in the Rails GIS stack.
You already have PostGIS. You already have ActiveRecord. You already have RGeo.
Now you have a native way to turn your spatial data into images – without JavaScript, without external APIs, without frontend complexity.
One helper. One line of code. Static maps in Rails.
<%= map_view(@geojson, bbox: :argentina) %>
Commercial license
MapView is a commercial product.
- Free for development, testing, and personal projects
- Paid license required for commercial production use
- Enterprise options with support, custom styles, and installation assistance
| Purchase License |
| 🛟 Ask for Support |
| 🧪 Request DEMO |
