LIVE DEMO — TRY IT NOW

Server-side maps,
production-ready.

Generate high-resolution map images from your backend — no JavaScript, no browser, no API rate limits. Pure ruby-libgd power.

<50ms
Render time
4K
Max resolution
10+
Basemap styles
GeoJSON layers

// INTERACTIVE DEMO

Configure & render in seconds

800×600 MapView Pro
Map

Map Configuration

🔒 4K resolution & all zoom levels require Pro plan

// WHY MAPVIEW PRO

No browser needed.
No limits enforced.

🗺️

Pure Server-Side

Generate map PNGs directly from Ruby — inside a job, a controller, a cron task. No Puppeteer, no headless browser.

Sub-50ms Renders

libgd-gis is compiled native C. Maps render in milliseconds, not seconds. Scale to thousands of renders per day without breaking a sweat.

📦

GeoJSON Native

Drop any GeoJSON FeatureCollection in — points, lines, polygons, labels. Style each layer independently.

🔑

No API Keys

No Google Maps billing surprises. No Mapbox token management. OpenStreetMap tiles are yours.

🖼️

Up to 4K Output

Print-quality maps at 3840×2160. Perfect for reports, PDFs, dashboards, and marketing assets.

🛠️

Rails-Native API

Built for Ruby on Rails. One gem install, one line of code, and you're rendering maps in production.


// DEAD SIMPLE INTEGRATION

Add maps to your app
in minutes.

One gem. One helper method. A production-ready PNG delivered to your S3 bucket, email, or PDF report. MapView Pro handles the rest.

Getting started:
gem install mapview
rails generate mapview:install

# Gemfile
gem 'mapview'
# app/controllers/reports_controller.rb
class ReportsController < ApplicationController
  def show
    @map_config = {
      source: "south_america",
      bbox: [-60.0, -33.0, -58.0, -31.0],
      width: 1920,
      height: 1080,
      basemap: "osm",
      style: :satellite
    }
  end
end
# app/views/reports/show.html.erb
<div class="map-container">
  <%= map_view(
    @map_config[:source],
    bbox: @map_config[:bbox],
    width: @map_config[:width],
    height: @map_config[:height],
    basemap: @map_config[:basemap],
    style: @map_config[:style]
  %>
</div>

// WHAT HAPPENS UNDER THE HOOD

The Magic: One Gem, Pure Performance

1

Parse Config

Map config (bbox, zoom, basemap, style) passed to helper

2

libgd-gis Renders

GIS layer fetches tiles, applies projection, composes layers

3

ruby-libgd Draws

Graphics engine renders PNG in <50ms from memory

4

Delivered

PNG blob ready for S3, PDF, email, or direct render

✓ No API keys   •   ✓ No rate limits   •   ✓ No monthly bills   •   ✓ No external dependencies

Everything runs in your process. Complete control. Full privacy.

// GET STARTED IN 3 STEPS

Installation

1. Install the gem

$ gem install map_view

2. Run the installer

$ rails generate map_view:install

Generates initializer, migrations, and example config

3. Use the helper in your view

<%= map_view(
  "region_name",
  bbox: [-60, -33, -58, -31],
  width: 1920,
  height: 1080
) %>

That's it. MapView handles the rest.


Ready to render your first map?

Start for Free → See All Plans