ম্যাপে একটি লোকেশন দেখানোর জন্য মার্কার ব্যবহার করুন। এই পৃষ্ঠায় দেখানো হয়েছে কীভাবে প্রোগ্রাম্যাটিক পদ্ধতিতে এবং কাস্টম HTML এলিমেন্ট ব্যবহার করে ম্যাপে মার্কার যোগ করতে হয়।
উন্নত মার্কার লাইব্রেরি লোড করুন
ম্যাপে উন্নত মার্কার যোগ করতে, আপনার ম্যাপ কোডকে অবশ্যই marker লাইব্রেরি লোড করতে হবে, যা AdvancedMarkerElement এবং PinElement
ক্লাস প্রদান করে। আপনার অ্যাপ প্রোগ্রাম্যাটিকভাবে বা HTML ব্যবহার করে মার্কার লোড করে কিনা তার উপর নির্ভর করে এটি প্রযোজ্য হয়। এটি করতে, আপনার অ্যাপকে প্রথমে
Maps JavaScript API লোড করতে হবে।
লাইব্রেরি লোড করার জন্য আপনি যে পদ্ধতি ব্যবহার করেন তা নির্ভর করে আপনার ওয়েব পেজ কীভাবে Maps JavaScript API লোড করে তার উপর।
আপনার ওয়েব পেজ ডায়নামিক স্ক্রিপ্ট লোডিং ব্যবহার করলে, রানটাইমে মার্কার লাইব্রেরি যোগ করুন এবং
AdvancedMarkerElement(এবং ঐচ্ছিকভাবেPinElement) ইমপোর্ট করুন, যেমন এখানে দেখানো হয়েছে।const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
আপনার ওয়েব পেজ ডাইরেক্ট স্ক্রিপ্ট লোডিং ট্যাগ ব্যবহার করলে, লোডিং স্ক্রিপ্টে
libraries=markerযোগ করুন, যেমনটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে। এটি করলে,AdvancedMarkerElementএবংPinElement, দুটিই ইমপোর্ট করা হবে।<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker" defer ></script>
ম্যাপ আইডি সেট করুন
উন্নত মার্কার ব্যবহার করার জন্য ম্যাপ আইডি প্রয়োজন (DEMO_MAP_ID ব্যবহার করা যেতে পারে)।
ম্যাপের বিকল্পে ম্যাপ আইডি সেট করুন, যেমন এখানে দেখানো হয়েছে:
const map = new Map(document.getElementById('map') as HTMLElement, { center: { lat: 37.4239163, lng: -122.0947209 }, zoom: 14, mapId: 'DEMO_MAP_ID', });
আপনি ওয়েব কম্পোনেন্ট ব্যবহার করলে, সরাসরি gmp-map
এলিমেন্টে ম্যাপ আইডি সেট করতে পারবেন:
<gmp-map center="37.4239163,-122.0947209" zoom="14" map-id="DEMO_MAP_ID"></gmp-map>
ম্যাপ আইডি সম্পর্কে আরও জানুন।
কাস্টম HTML এলিমেন্ট ব্যবহার করে মার্কার যোগ করুন
কাস্টম HTML এলিমেন্ট ব্যবহার করে উন্নত মার্কার যোগ করতে, gmp-map এলিমেন্টে একটি
gmp-advanced-marker চাইল্ড এলিমেন্ট যোগ করুন। নিম্নলিখিত
স্নিপেটটি একটি ওয়েব পৃষ্ঠায় মার্কার যোগ করার পদ্ধতি দেখায়:
<gmp-map
center="41.027748173921374, -92.41852445367961"
zoom="13"
map-id="DEMO_MAP_ID">
<gmp-advanced-marker
position="41.027748173921374, -92.41852445367961"
title="Ottumwa, IA"></gmp-advanced-marker>
</gmp-map>সম্পূর্ণ উদাহরণ সোর্স কোড দেখুন
এই উদাহরণে HTML ব্যবহার করে মার্কার সহ ম্যাপ তৈরি করার পদ্ধতি দেখানো হয়েছে।
TypeScript
// This example adds a map with markers, using web components.জাভাস্ক্রিপ্ট
// This example adds a map with markers, using web components.CSS
/* Note: This CSS file is intentionally blank. */
HTML
<html>
<head>
<title>Add a Map with Markers using HTML</title>
<style>
gmp-map {
height: 100%;
}
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script type="module" src="./index.js"></script>
<script
async
src="https://maps.googleapis.com/maps/api/js?loading=async&key=GOOGLE_MAPS_API_KEY&libraries=maps,marker"></script>
</head>
<body>
<gmp-map
center="41.027748173921374, -92.41852445367961"
zoom="13"
map-id="DEMO_MAP_ID">
<gmp-advanced-marker
position="41.027748173921374, -92.41852445367961"
title="Ottumwa, IA"></gmp-advanced-marker>
</gmp-map>
</body>
</html>প্রোগ্রাম্যাটিক্যালি মার্কার যোগ করুন
প্রোগ্রাম্যাটিক্যালি ম্যাপে উন্নত মার্কার যোগ করতে, নতুন
AdvancedMarkerElement তৈরি করুন এবং এই উদাহরণে দেখানো অনুযায়ী ম্যাপে এটি যোগ করুন:
TypeScript
const mapElement = document.querySelector('gmp-map')!; async function init() { // Request needed libraries. const [{ AdvancedMarkerElement }] = await Promise.all([ google.maps.importLibrary('marker'), google.maps.importLibrary('maps'), ]); const marker = new AdvancedMarkerElement({ position: { lat: 37.4239163, lng: -122.0947209 }, }); mapElement.append(marker); }
জাভাস্ক্রিপ্ট
const mapElement = document.querySelector('gmp-map'); async function init() { // Request needed libraries. const [{ AdvancedMarkerElement }] = await Promise.all([ google.maps.importLibrary('marker'), google.maps.importLibrary('maps'), ]); const marker = new AdvancedMarkerElement({ position: { lat: 37.4239163, lng: -122.0947209 }, }); mapElement.append(marker); }
শুধুমাত্র ওয়েব কম্পোনেন্ট ব্যবহার করার সময় এলিমেন্ট যোগ করা সম্ভব। ম্যাপ লোড করার জন্য div
এলিমেন্ট ব্যবহার করা হলে, এখানে দেখানো ম্যাপ ইনস্ট্যান্সের সাথে মার্কার অ্যাসোসিয়েট করতে
map প্রপার্টি ব্যবহার করুন:
myMap = new google.maps.Map(document.getElementById("map"), {
center: { lat: -34.397, lng: 150.644 },
zoom: 8,
});
const marker = new AdvancedMarkerElement({
map: myMap,
position: { lat: -34.397, lng: 150.644 },
});মার্কার সরানো
ম্যাপ থেকে মার্কার সরাতে, marker.map বা marker.position-এর মধ্যে যেকোনও একটিকে
null হিসেবে সেট করুন।
// Set the map to null. marker.map = null; // Set the position to null. marker.position = null;
সম্পূর্ণ উদাহরণ সোর্স কোড দেখুন
এই উদাহরণে দেখানো হয়েছে কীভাবে ম্যাপে মার্কার যোগ করতে হয়।
TypeScript
const mapElement = document.querySelector('gmp-map')!; async function init() { // Request needed libraries. const [{ AdvancedMarkerElement }] = await Promise.all([ google.maps.importLibrary('marker'), google.maps.importLibrary('maps'), ]); const marker = new AdvancedMarkerElement({ position: { lat: 37.4239163, lng: -122.0947209 }, }); mapElement.append(marker); } void init();
জাভাস্ক্রিপ্ট
const mapElement = document.querySelector('gmp-map'); async function init() { // Request needed libraries. const [{ AdvancedMarkerElement }] = await Promise.all([ google.maps.importLibrary('marker'), google.maps.importLibrary('maps'), ]); const marker = new AdvancedMarkerElement({ position: { lat: 37.4239163, lng: -122.0947209 }, }); mapElement.append(marker); } void init();
CSS
/* * Always set the map height explicitly to define the size of the div element * that contains the map. */ gmp-map { height: 100%; } /* * Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; }
HTML
<html>
<head>
<title>Default Advanced Marker</title>
<link rel="stylesheet" type="text/css" href="./style.css" />
<script type="module" src="./index.js"></script>
<script>
// prettier-ignore
(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: "GOOGLE_MAPS_API_KEY"
});
</script>
</head>
<body>
<gmp-map
center="37.4239163,-122.0947209"
zoom="14"
map-id="4504f8b37365c3d0"></gmp-map>
</body>
</html>