MapView: Server-Side Map Rendering for Rails

MapView: Server-Side Map Rendering for Rails
MapView: Server-Side Map Rendering for Rails

April 12, 2026

After an extensive development journey, MapView has arrived: a powerful API for generating map images directly from your Ruby server.

What is MapView?

MapView is a Ruby gem that enables you to render maps, routes, points, and polygons with zoom levels ranging from a global world view down to neighborhood-specific details. Everything is processed server-side, without JavaScript dependencies or expensive external API calls.

Built on ruby-libgd and libgd-gis, a robust architecture that delivers:

  • ✅ Deterministic rendering (predictable results)
  • ✅ Multiple map styles (OSM, Carto, Mapnik, etc.)
  • ✅ Configurable resolutions (up to 4K)
  • ✅ Full customization: legends, logos, watermarks
  • ✅ GeoJSON support, routes, real-time alerts

Use Cases

Embedded in PDFs and Emails:

Article content
map = MapView.render(
bbox: "argentina",
basemap: :osm,
geojson: routes_data,
width: 800, height: 600
)
# Attach directly to PDFs or emails

Custom REST APIs: Create endpoints that generate maps on-demand, giving your users complete control over geographic data visualization.

Real-Time Dashboards: Update route visualizations, alerts, and points of interest as data arrives from your endpoints.

Logistics & Delivery Tracking: Generate route maps with multiple stops, travel times, and status indicators for customer communications.

Report Generation: Automate the creation of geographic reports with embedded maps, perfect for stakeholder presentations.

Interactive Demo

Article content

Try MapView without installation:

🔗 https://map-view-demo.up.railway.app/

You can:

  • Switch between 90+ countries and regions
  • Upload custom GeoJSON data
  • Experiment with different map styles
  • View rendering in real-time

Sample GeoJSON to test:

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-58.3816, -34.6037]
},
"properties": {
"name": "Buenos Aires",
"description": "Capital of Argentina"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [[-58.3816, -34.6037], [-64.1833, -31.4167]]
},
"properties": {
"name": "Route BA to Córdoba"
}
}
]
}

Licensing Options

STARTER (Free)

  • 5 renders/day
  • Maximum resolution: 800×600px
  • 2 basemaps (OSM, Topo)
  • Community support

PROFESSIONAL ($99/month)

  • 50 renders/day
  • 4K resolution support
  • 10+ basemaps available
  • REST API access
  • Commercial license
  • Priority support

ENTERPRISE (Custom)

  • Unlimited renders
  • On-premise deployment option
  • SLA guarantee
  • Dedicated technical support
  • Team training included
  • Custom styling and integration

Getting Started

To integrate MapView into your Rails project:

👉 Get in touch: https://map-view-demo.up.railway.app/contact

We’ll respond within 24 hours with:

  • Complete documentation
  • Integration roadmap
  • Team training options
  • Personalized licensing

Technical Stack

MapView is built on proven technologies:

  • ruby-libgd: High-performance Ruby bindings for libgd
  • libgd-gis: GIS raster rendering engine
  • Rails integration: Works seamlessly with Rails 6+
  • Performance: <50ms average render time
  • Uptime: 99.9% availability

Features at a Glance

Article content

Why Server-Side Rendering?

  • Privacy: Geographic data stays on your servers
  • Control: No external dependencies or rate limits
  • Cost: No per-request API charges
  • Reliability: Deterministic results for reproducible reports
  • Integration: Seamlessly embed maps in PDFs, emails, and documents
  • Performance: Sub-50ms rendering on standard hardware

Learn More


MapView: Full control over map rendering, directly in your Rails app. 🗺️

Article content

Leave a comment