ম্যাপে কোনও একটি লোকেশন দেখাতে মার্কার ব্যবহার করুন। এই পৃষ্ঠায় দেখানো হয়েছে কীভাবে প্রোগ্রাম্যাটিক পদ্ধতিতে এবং কাস্টম 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>