आपकी वेबसाइटों और ऐप्स के लिए मुफ़्त मैप टाइलें तेज़। मुफ़्त। हमेशा के लिए।

OpenStreetMap डेटा से बनी असीमित वेक्टर मैप टाइलें, जिन्हें सीधे MapLibre GL या Leaflet में इस्तेमाल कर सकते हैं। कोई API कुंजी नहीं, कोई कोटा नहीं, कोई अचानक बिल नहीं।

संचालित OpenFreeMap 🚀

मैप टाइलें महँगी क्यों पड़ती हैं (और LFMaps के साथ ऐसा क्यों नहीं होता)

ज़्यादातर मैप टाइल प्रदाता शुरुआत में मुफ़्त क्रेडिट देते हैं। फिर ट्रैफ़िक बढ़ता है और उपयोग के हिसाब से बिलिंग एक छोटे प्रयोग को बड़े खर्च में बदल देती है — अस्पष्ट हिसाब, हर बार मैप खुलने पर बढ़ते शुल्क और ऐसी मूल्य सूची जिसके लिए स्प्रेडशीट चाहिए। Google Maps और Mapbox दोनों इसी तरह काम करते हैं। जो मुफ़्त लगा था, वह आपके प्रोजेक्ट के लिए अनचाहा खर्च बन जाता है।

LFMaps अलग है। मुफ़्त का मतलब सचमुच मुफ़्त — कोई अचानक शुल्क नहीं, कोई सीमा नहीं, कोई बिल नहीं।

मुफ़्त मैप टाइलों के लिए LFMaps क्यों चुनें?

मैप प्रकाशित करने के लिए जो चाहिए, बस वही।

API कुंजी की ज़रूरत नहीं

टाइल URL जोड़ें और शुरू करें। न साइन अप, न एक्सेस टोकन, न डैशबोर्ड।

असीमित टाइल अनुरोध

न कोई कोटा, न छिपी सीमा, न हर बार मैप खुलने का शुल्क। जितनी ज़रूरत हो, इस्तेमाल करें।

हमेशा मुफ़्त

ट्रैफ़िक चाहे जितना हो, लागत शून्य — दस बार मैप खुले या एक करोड़ बार।

न ट्रैकिंग, न डेटा संग्रह

हम आपके विज़िटर को ट्रैक नहीं करते और कुकीज़ नहीं लगाते। आपकी गोपनीयता नीति उतनी ही छोटी रहती है।

लाइव वेक्टर टाइल डेमो — मैप की तीन शैलियाँ

अपनी साइट पर मुफ़्त मैप टाइलें कैसे जोड़ें

MapLibre GL के साथ सबसे अच्छा काम करता है; Leaflet और React के साथ भी चलता है

चरण 1: अपने HTML में MapLibre GL जोड़ें

<link href="https://unpkg.com/maplibre-gl@6.11.2/dist/maplibre-gl.css" rel="stylesheet" />
<script type="importmap">
  { "imports": { "maplibre-gl": "https://unpkg.com/maplibre-gl@6.11.2/dist/maplibre-gl.mjs" } }
</script>

MapLibre GL v6 केवल ES मॉड्यूल के रूप में आता है, इसलिए ये उदाहरण उसे इम्पोर्ट मैप और मॉड्यूल स्क्रिप्ट से लोड करते हैं।

या npm से इंस्टॉल करें

npm i maplibre-gl@^6

फिर इसे अपने JavaScript में इम्पोर्ट करें:

import * as maplibregl from 'maplibre-gl'
import 'maplibre-gl/dist/maplibre-gl.css'
import workerUrl from 'maplibre-gl/dist/maplibre-gl-worker.mjs?worker&url'

maplibregl.setWorkerUrl(workerUrl)

बंडल के भीतर MapLibre अपना worker खुद नहीं ढूँढ़ पाता। यह Vite का तरीका है; webpack और अन्य बंडलर के लिए देखें MapLibre इंस्टॉलेशन गाइड.

चरण 2: अपना मैप बनाएँ

<div id="map" style="width: 100%; height: 500px"></div>
<script type="module">
  import * as maplibregl from 'maplibre-gl'

  const map = new maplibregl.Map({
    style: 'https://data.lfmaps.fr/styles/bright',
    center: [6.1844, 48.6937],
    zoom: 12,
    container: 'map',
  })
</script>

सुझाव: बेहतर Core Web Vitals के लिए MapLibre को ज़रूरत पड़ने पर लोड करें

अनुशंसित

इससे क्या लाभ है:

Largest Contentful Paint (LCP) बेहतर होता है
First Input Delay (FID) कम होता है
Cumulative Layout Shift (CLS) नियंत्रण में रहता है
पहली बार लोड होने पर लगभग 750KB की बचत होती है

बेहतर Core Web Vitals से खोज परिणामों में रैंकिंग भी सुधर सकती है

पेज जल्दी दिखाने के लिए इस लोडर का इस्तेमाल करें:

// यह Vite का तरीका है; अन्य बंडलर के लिए इंस्टॉलेशन गाइड देखें
import workerUrl from 'maplibre-gl/dist/maplibre-gl-worker.mjs?worker&url';

let maplibrePromise = null;
let cssLoaded = false;

/**
 * ज़रूरत पड़ने पर MapLibre GL और उसका CSS लोड करता है
 * @returns {Promise} MapLibre GL मॉड्यूल
 */
async function loadMapLibre() {
    if (!maplibrePromise) {
        maplibrePromise = Promise.all([
            import('maplibre-gl'),
            loadMapLibreCSS()
        ]).then(([module]) => {
            module.setWorkerUrl(workerUrl);
            return module;
        });
    }
    return maplibrePromise;
}

/**
 * MapLibre GL CSS को गतिशील रूप से लोड करता है
 */
async function loadMapLibreCSS() {
    if (!cssLoaded) {
        await import('maplibre-gl/dist/maplibre-gl.css');
        cssLoaded = true;
    }
}

/**
 * MapLibre GL का विलंबित लोडर क्लास
 * विलंबित लोडिंग के साथ maplibregl जैसा API देता है
 */
export class MapLibreLoader {
    constructor() {
        this.maplibregl = null;
    }

    /**
     * ज़रूरत पड़ने पर MapLibre GL लोड करके नया मैप इंस्टेंस बनाता है
     * @param {Object} options - मैप कॉन्फ़िगरेशन विकल्प
     * @returns {Promise} MapLibre GL का Map इंस्टेंस
     */
    async createMap(options) {
        this.maplibregl = await loadMapLibre();
        return new this.maplibregl.Map(options);
    }

    /**
     * ज़रूरत पड़ने पर MapLibre GL लाइब्रेरी लोड करके प्राप्त करता है
     * @returns {Promise} MapLibre GL लाइब्रेरी
     */
    async getLibrary() {
        this.maplibregl = await loadMapLibre();
        return this.maplibregl;
    }
}

export default new MapLibreLoader();

इस्तेमाल का उदाहरण:

import MapLibreLoader from './maplibre-loader.js';

// मैप केवल ज़रूरत पड़ने पर बनाएँ (जैसे स्क्रॉल करने या उपयोगकर्ता की क्रिया पर)
async function initMap() {
    const map = await MapLibreLoader.createMap({
        style: 'https://data.lfmaps.fr/styles/bright',
        center: [6.1844, 48.6937],
        zoom: 12,
        container: 'map',
    });
    
    // कंट्रोल, मार्कर वगैरह जोड़ें
    const maplibregl = await MapLibreLoader.getLibrary();
    map.addControl(new maplibregl.NavigationControl());
}

उन्नत सुविधाओं और पूरे API के लिए देखें MapLibre GL JS दस्तावेज़

Leaflet इस्तेमाल कर रहे हैं? एक प्लगइन से मुफ़्त टाइलें जोड़ें

Leaflet अकेले वेक्टर टाइलें नहीं पढ़ सकता, इसलिए उसके साथ maplibre-gl-leaflet प्लगइन इस्तेमाल करें:

<link href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" rel="stylesheet" />
<script type="importmap">
  { "imports": {
    "leaflet": "https://unpkg.com/leaflet@1.9.4/dist/leaflet-src.esm.js",
    "maplibre-gl": "https://unpkg.com/maplibre-gl@6.11.2/dist/maplibre-gl.mjs"
  } }
</script>

<script type="module">
  import * as L from 'leaflet'
  import { maplibreGL } from 'https://unpkg.com/@maplibre/maplibre-gl-leaflet@0.1.4/dist/leaflet-maplibre-gl.mjs'

  const map = L.map('map').setView([48.6937, 6.1844], 12)
  maplibreGL({
    style: 'https://data.lfmaps.fr/styles/bright',
  }).addTo(map)
</script>

प्लगइन Leaflet 1.x को सपोर्ट करता है — वही मुफ़्त टाइलें, बिना किसी बिल के।

React में मुफ़्त मैप टाइलें

npm i react-map-gl maplibre-gl@^6
import Map from 'react-map-gl/maplibre'
import { setWorkerUrl } from 'maplibre-gl'
import workerUrl from 'maplibre-gl/dist/maplibre-gl-worker.mjs?worker&url'
import 'maplibre-gl/dist/maplibre-gl.css'

setWorkerUrl(workerUrl)

export default function MyMap() {
  return (
    <Map
      initialViewState={{ longitude: 6.1844, latitude: 48.6937, zoom: 12 }}
      style={{ width: '100%', height: 500 }}
      mapStyle="https://data.lfmaps.fr/styles/bright"
    />
  )
}

न mapbox-gl चाहिए, न एक्सेस टोकन — react-map-gl सीधे MapLibre GL से जुड़ता है।

मुफ़्त मैप टाइल शैलियाँ: bright, positron और liberty

  • https://data.lfmaps.fr/styles/bright
  • https://data.lfmaps.fr/styles/positron
  • https://data.lfmaps.fr/styles/liberty

गति के लिए बना: दुनिया भर में टाइलों की तेज़ डिलीवरी

बेहद तेज़

टाइलें CDN से मिलती हैं, इसलिए मैप पलक झपकते दिखता है

भरोसेमंद

99.9% अपटाइम

दुनिया भर का कवरेज

पूरी दुनिया को कवर करने वाला OpenStreetMap डेटा

जोड़ना आसान

MapLibre GL या Leaflet की कुछ पंक्तियाँ लिखें और मैप तैयार

Google Maps और Mapbox का मुफ़्त विकल्प

काम वही — आपके पेज पर एक मैप। महीने के अंत का बिल बिल्कुल अलग।

शुल्क वाले मैप टाइल प्रदाता

  • शुरुआत में मुफ़्त स्तर, फिर सीमा पार करते ही हर बार मैप खुलने पर शुल्क
  • API कुंजी बनाना, सुरक्षित रखना और बदलते रहना पड़ता है
  • उपयोग के डैशबोर्ड, कोटा और बिलिंग अलर्ट पर नज़र रखनी पड़ती है
  • मैप इस्तेमाल करने वाले लोगों का एनालिटिक्स डेटा जुटाया जाता है

LFMaps

  • हर ट्रैफ़िक स्तर पर मुफ़्त — कोई सीमा नहीं जिसके बाद शुल्क लगे
  • API कुंजी नहीं, क्योंकि खाता ही नहीं चाहिए
  • निगरानी की ज़रूरत नहीं: स्टाइल URL जोड़ें और काम जारी रखें
  • न आपकी ट्रैकिंग, न आपके विज़िटर की

सीमा साफ़ है: LFMaps केवल मैप टाइलें देता है। जियोकोडिंग, रूट बनाना और हर मोड़ के दिशा निर्देश इस सेवा में शामिल नहीं हैं।

मुफ़्त मैप टाइलें: अक्सर पूछे जाने वाले प्रश्न

क्या LFMaps सचमुच मुफ़्त है?

हाँ। आपका ट्रैफ़िक चाहे जितना हो, कोई शुल्क वाला प्लान, क्रेडिट कार्ड या उपयोग का बिल नहीं है। LFMaps एक निजी परियोजना के रूप में चलता है, ठीक इस पेज पर मौजूद दूसरे मुफ़्त टूल की तरह।

क्या मुझे API कुंजी या खाते की ज़रूरत है?

नहीं। साइन अप करने या टोकन बदलते रहने की ज़रूरत नहीं। अपने मैप की स्टाइल में LFMaps का URL लगाएँ और वह काम करने लगेगा।

क्या मैप टाइलों पर अनुरोध सीमा या कोटा है?

न कोई कोटा है, न अनुरोधों की सख्त सीमा। बस पूरे टाइल सेट को एक साथ स्क्रैप न करें — वेबसाइट या ऐप पर सामान्य मैप उपयोग ठीक है।

क्या LFMaps, MapLibre GL के साथ Leaflet में भी काम करता है?

हाँ। MapLibre GL वेक्टर टाइलें सीधे दिखाता है और हम उसी की सलाह देते हैं, लेकिन Leaflet भी maplibre-gl-leaflet प्लगइन के साथ काम करता है।

मैप का डेटा कहाँ से आता है?

OpenStreetMap से, जिसे OpenFreeMap के ज़रिए उपलब्ध कराया जाता है। यह डेटा समुदाय बनाता है, और इसी वजह से मुफ़्त रह सकता है।

क्या मैं LFMaps का इस्तेमाल व्यावसायिक वेबसाइट पर कर सकता हूँ?

हाँ, व्यावसायिक परियोजनाओं में भी। मैप पर OpenStreetMap को दिया गया श्रेय दिखाई देना चाहिए — बस यही शर्त है।

क्या आप मेरे विज़िटर को ट्रैक करते हैं?

नहीं। टाइल अनुरोधों पर हम कोई व्यक्तिगत डेटा नहीं जुटाते और कुकीज़ नहीं लगाते, इसलिए मैप जोड़ने से आपकी गोपनीयता नीति में कुछ नया नहीं जुड़ता।

यह Google Maps या Mapbox से कैसे अलग है?

वे शुरुआत में मुफ़्त स्तर देते हैं, फिर उपयोग बढ़ने पर हर बार मैप खुलने का शुल्क लेते हैं। LFMaps में ऐसा कोई मीटर नहीं है: मैप दस बार खुले या एक करोड़ बार, कीमत शून्य है।