अपनी वेबसाइट पर मार्कर के साथ Google मैप जोड़ें

शुरुआती जानकारी

इस ट्यूटोरियल में, मार्कर के साथ किसी वेब पेज पर एक आसान Google Maps जोड़ने का तरीका बताया गया है. यह उन लोगों के लिए फ़ायदेमंद है जिन्हें एचटीएमएल और सीएसएस का शुरुआती या इंटरमीडिएट या इंटरमीडिएट के बारे में जानकारी है और जिन्हें JavaScript का थोड़ा-बहुत ज्ञान है.

नीचे वह मैप दिया गया है जिसे आपने इस ट्यूटोरियल का इस्तेमाल करके बनाया है. मार्कर को उलुरु-काता तजुता नैशनल पार्क में उलुरु (जिसे अयेर्स रॉक भी कहा जाता है) पर रखा गया है.


TypeScript

// Initialize and add the map
let map;
async function initMap(): Promise<void> {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };

  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;

  // The map, centered at Uluru
  map = new Map(
    document.getElementById('map') as HTMLElement,
    {
      zoom: 4,
      center: position,
      mapId: 'DEMO_MAP_ID',
    }
  );

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: 'Uluru'
  });
}

initMap();

JavaScript

// Initialize and add the map
let map;

async function initMap() {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };
  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps");
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");

  // The map, centered at Uluru
  map = new Map(document.getElementById("map"), {
    zoom: 4,
    center: position,
    mapId: "DEMO_MAP_ID",
  });

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: "Uluru",
  });
}

initMap();

सीएसएस

/* 
 * Always set the map height explicitly to define the size of the div element
 * that contains the map. 
 */
#map {
  height: 100%;
}

/* 
 * Optional: Makes the sample page fill the window. 
 */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

एचटीएमएल

<html>
  <head>
    <title>Add Map</title>
    <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <h3>My Google Maps Demo</h3>
    <!--The div element for the map -->
    <div id="map"></div>

    <!-- prettier-ignore -->
    <script>(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})
        ({key: "AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg", v: "weekly"});</script>
  </body>
</html>

सैंपल आज़माएं

YouTube TV का इस्तेमाल शुरू करना

अपने वेब पेज पर मार्कर की मदद से Google Maps बनाने के तीन चरण हैं:

  1. एचटीएमएल पेज बनाना
  2. मार्कर के साथ मैप जोड़ना
  3. एपीआई पासकोड पाएं

आपके पास वेब ब्राउज़र होना चाहिए. इस्तेमाल किए जा सकने वाले ब्राउज़र की सूची में दिए गए अपने प्लैटफ़ॉर्म के आधार पर, Google Chrome (सुझाया गया), Firefox, Safari या Edge जैसा कोई मशहूर ब्राउज़र चुनें.

पहला चरण: एचटीएमएल पेज बनाना

यहां एक बेसिक एचटीएमएल वेब पेज का कोड दिया गया है:

<!doctype html>
<!--
 @license
 Copyright 2019 Google LLC. All Rights Reserved.
 SPDX-License-Identifier: Apache-2.0
-->
<html>
  <head>
    <title>Add Map</title>
    <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <h3>My Google Maps Demo</h3>
    <!--The div element for the map -->
    <div id="map"></div>

    <!-- prettier-ignore -->
    <script>(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})
        ({key: "AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg", v: "weekly"});</script>
  </body>
</html>

ध्यान दें कि यह बहुत सामान्य पेज है, जिसमें शीर्षक स्तर तीन (h3) और एक ही div एलिमेंट है. वेब पेज पर अपनी पसंद का कोई भी कॉन्टेंट जोड़ा जा सकता है.

कोड को समझना

नीचे दिया गया कोड एक एचटीएमएल पेज बनाता है, जिसमें एक शीर्षक और एक मुख्य भाग शामिल होता है.

<html>
 <head>
 </head>
 <body>
 </body>
</html>

आप नीचे दिए गए कोड का उपयोग करके मैप के ऊपर शीर्षक का तीन लेवल जोड़ सकते हैं.

<h3>My Google Maps Demo</h3>

नीचे दिया गया कोड आपके Google मैप के लिए पेज के क्षेत्र को परिभाषित करता है.

<!--The div element for the map -->
<div id="map"></div>

ट्यूटोरियल के इस चरण में, div सिर्फ़ एक स्लेटी ब्लॉक के रूप में दिखता है, क्योंकि आपने अभी तक कोई मैप नहीं जोड़ा है. यह कोड उस सीएसएस के बारे में बताता है जो div का साइज़ और रंग सेट करती है.

/* Set the size of the div element that contains the map */
#map {
    height: 400px; /* The height is 400 pixels */
    width: 100%; /* The width is the width of the web page */
}

ऊपर दिए गए कोड में, style एलिमेंट आपके मैप के लिए div साइज़ सेट करता है. मैप दिखाने के लिए, div की चौड़ाई और ऊंचाई को 0 पिक्सल से ज़्यादा पर सेट करें. इस मामले में, div को आपके वेब पेज की चौड़ाई दिखाने के लिए, इसकी ऊंचाई 400 पिक्सल और चौड़ाई को 100% पर सेट किया गया है.

बूटस्ट्रैप लोडर लोड करने के लिए Maps JavaScript API को तैयार करता है (importLibrary() को कॉल किए जाने तक कोई लाइब्रेरी लोड नहीं होती).

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>

अपनी एपीआई कुंजी पाने के निर्देशों के लिए, तीसरा चरण: एपीआई पासकोड पाना देखें.

चरण 2: मार्कर के साथ मैप जोड़ना

इस सेक्शन में बताया गया है कि Maps JavaScript API को अपने वेब पेज में कैसे लोड करें. साथ ही, अपनी JavaScript लिखने का तरीका भी जानें, जो एपीआई का इस्तेमाल करके मैप पर मार्कर जोड़ सके.

TypeScript

// Initialize and add the map
let map;
async function initMap(): Promise<void> {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };

  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;

  // The map, centered at Uluru
  map = new Map(
    document.getElementById('map') as HTMLElement,
    {
      zoom: 4,
      center: position,
      mapId: 'DEMO_MAP_ID',
    }
  );

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: 'Uluru'
  });
}

initMap();

JavaScript

// Initialize and add the map
let map;

async function initMap() {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };
  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps");
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");

  // The map, centered at Uluru
  map = new Map(document.getElementById("map"), {
    zoom: 4,
    center: position,
    mapId: "DEMO_MAP_ID",
  });

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: "Uluru",
  });
}

initMap();

ऊपर दिए गए कोड में, initMap() फ़ंक्शन को कॉल करने पर Map और AdvancedMarkerView लाइब्रेरी लोड होती हैं.

कोड को समझना

नीचे दिया गया कोड एक नया Google Maps ऑब्जेक्ट बनाता है और मैप में प्रॉपर्टी जोड़ता है. साथ ही, मैप में सेंटर और ज़ूम लेवल भी शामिल करता है. प्रॉपर्टी के अन्य विकल्पों के बारे में जानने के लिए, दस्तावेज़ देखें.

TypeScript

// The location of Uluru
const position = { lat: -25.344, lng: 131.031 };

// Request needed libraries.
//@ts-ignore
const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;
const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;

// The map, centered at Uluru
map = new Map(
  document.getElementById('map') as HTMLElement,
  {
    zoom: 4,
    center: position,
    mapId: 'DEMO_MAP_ID',
  }
);

JavaScript

// The location of Uluru
const position = { lat: -25.344, lng: 131.031 };
// Request needed libraries.
//@ts-ignore
const { Map } = await google.maps.importLibrary("maps");
const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");

// The map, centered at Uluru
map = new Map(document.getElementById("map"), {
  zoom: 4,
  center: position,
  mapId: "DEMO_MAP_ID",
});

ऊपर दिए गए कोड में, new Map() एक नया Google Maps ऑब्जेक्ट बनाता है. center प्रॉपर्टी से, एपीआई को यह पता चलता है कि मैप को कहां बीच में रखना है.

अक्षांश/देशांतर निर्देशांक पाने या किसी पते को भौगोलिक निर्देशांक में बदलने के बारे में ज़्यादा जानें.

zoom प्रॉपर्टी, मैप का ज़ूम लेवल बताती है. ज़ूम: 0 सबसे कम ज़ूम है, और पूरा Earth दिखाता है. Earth में ज़्यादा रिज़ॉल्यूशन पर ज़ूम इन करने के लिए, ज़ूम की वैल्यू को ज़्यादा पर सेट करें.

नीचे दिया गया कोड मैप पर एक मार्कर दिखाता है. position प्रॉपर्टी, मार्कर की पोज़िशन सेट करती है.

TypeScript

// The marker, positioned at Uluru
const marker = new AdvancedMarkerElement({
  map: map,
  position: position,
  title: 'Uluru'
});

JavaScript

// The marker, positioned at Uluru
const marker = new AdvancedMarkerElement({
  map: map,
  position: position,
  title: "Uluru",
});

मार्कर के बारे में ज़्यादा जानें:

तीसरा चरण: एपीआई पासकोड पाना

इस सेक्शन में बताया गया है कि अपनी एपीआई पासकोड का इस्तेमाल करके, Maps JavaScript API में आपके ऐप्लिकेशन की पुष्टि कैसे की जा सकती है.

एपीआई पासकोड पाने के लिए यह तरीका अपनाएं:

  1. Google Cloud Console पर जाएं.

  2. कोई प्रोजेक्ट बनाएं या चुनें.

  3. एपीआई और इससे जुड़ी किसी भी सेवा को चालू करने के लिए, जारी रखें पर क्लिक करें.

  4. क्रेडेंशियल पेज पर, एपीआई पासकोड पाएं. साथ ही, एपीआई पासकोड से जुड़ी पाबंदियां सेट करें. ध्यान दें: अगर आपके पास कोई मौजूदा बिना पाबंदी वाली एपीआई कुंजी है या ब्राउज़र की पाबंदियों वाली कोई कुंजी है, तो उस कुंजी का इस्तेमाल किया जा सकता है.

  5. कोटा की चोरी से बचने और अपनी एपीआई पासकोड को सुरक्षित करने के लिए, एपीआई पासकोड का इस्तेमाल करना देखें.

  6. बिलिंग चालू करें. ज़्यादा जानकारी के लिए, इस्तेमाल और बिलिंग देखें.

  7. इस ट्यूटोरियल के पूरे कोड को इस पेज से अपने टेक्स्ट एडिटर में कॉपी करें.

  8. यूआरएल में key पैरामीटर की वैल्यू को अपनी एपीआई कुंजी से बदलें (यह वही एपीआई कुंजी है जिसे आपने अभी-अभी लिया है).

    <script>
      (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
        key: "YOUR_API_KEY",
        v: "weekly",
        // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
        // Add other bootstrap parameters as needed, using camel case.
      });
    </script>
    
  9. इस फ़ाइल को किसी ऐसे नाम से सेव करें जो .html से खत्म होता हो, जैसे कि index.html.

  10. एचटीएमएल फ़ाइल को अपने डेस्कटॉप से खींचकर अपने ब्राउज़र पर खींचकर, वेब ब्राउज़र में लोड करें. इसके अलावा, फ़ाइल पर दो बार क्लिक करके भी ज़्यादातर ऑपरेटिंग सिस्टम पर काम किया जा सकता है.

सलाह और समस्या हल करना

  • मैप को पसंद के मुताबिक बनाने के लिए, स्टाइल और प्रॉपर्टी जैसे विकल्पों में बदलाव किया जा सकता है. मैप को पसंद के मुताबिक बनाने के बारे में ज़्यादा जानकारी के लिए, स्टाइल और मैप पर ड्रॉइंग करने से जुड़ी गाइड पढ़ें.
  • अपने कोड की जांच करने और उसे चलाने, गड़बड़ी की रिपोर्ट पढ़ने, और अपने कोड से जुड़ी समस्याएं हल करने के लिए, अपने वेब ब्राउज़र में Developer Tools Console का इस्तेमाल करें.
  • Chrome में कंसोल खोलने के लिए, इन कीबोर्ड शॉर्टकट का इस्तेमाल करें:
    Command+Option+J (Mac पर) या Control+Shift+J (Windows पर).
  • Google Maps पर किसी जगह के अक्षांश और देशांतर निर्देशांक देखने के लिए, नीचे दिया गया तरीका अपनाएं.

    1. ब्राउज़र में Google Maps खोलें.
    2. मैप पर उस जगह पर राइट-क्लिक करें जिसके लिए आपको निर्देशांकों की ज़रूरत है.
    3. दिखाई देने वाले संदर्भ मेन्यू से यहां क्या है चुनें. मैप में, स्क्रीन पर सबसे नीचे एक कार्ड दिखता है. कार्ड की आखिरी लाइन में अक्षांश और देशांतर निर्देशांक ढूंढें.
  • जियोकोडिंग सेवा का इस्तेमाल करके किसी पते को अक्षांश और देशांतर निर्देशांक में बदल सकते हैं. डेवलपर गाइड जियोकोडिंग सेवा का इस्तेमाल शुरू करने के बारे में ज़्यादा जानकारी देती हैं.