Google Maps API তে Place Search এবং Place Details দুটি গুরুত্বপূর্ণ ফিচার, যা স্থান সম্পর্কিত বিভিন্ন তথ্য অনুসন্ধান এবং বিশদ বিবরণ পাওয়ার জন্য ব্যবহৃত হয়। Place Search ফিচারটি ব্যবহারকারীকে একটি নির্দিষ্ট স্থানের নাম, ঠিকানা, ক্যাটেগরি বা টাইপ অনুসারে খুঁজে পেতে সহায়তা করে, এবং Place Details ফিচারটি একটি স্থান সম্পর্কিত আরো বিস্তারিত তথ্য প্রদান করে, যেমন তার রেটিং, ফোন নম্বর, ব্যবসায়ের সময়সূচি ইত্যাদি।
Place Search কী?
Place Search ফিচারটি গুগল ম্যাপস API ব্যবহারকারীদের স্থানের নাম, ঠিকানা, টাইপ বা ক্যাটেগরি অনুসারে স্থান খুঁজে পেতে সহায়তা করে। এটি স্থান সম্পর্কে প্রাথমিক তথ্য সংগ্রহের জন্য ব্যবহৃত হয়, যেমন নাম, অবস্থান, ক্যাটেগরি (রেস্টুরেন্ট, হোটেল, হাসপাতাল ইত্যাদি) এবং ফটো।
Place Search ব্যবহার করার প্রক্রিয়া
- Search Request: ব্যবহারকারী একটি স্থান অনুসন্ধান করলে Place Search API তে একটি রিকোয়েস্ট পাঠানো হয়। এতে স্থানটির নাম, ঠিকানা, অথবা ক্যাটেগরি অনুসারে সার্চ করা হয়।
- Response: API রেসপন্স হিসেবে স্থানটির নাম, অবস্থান, রেটিং এবং আরও কিছু প্রাথমিক তথ্য প্রদান করে।
উদাহরণ কোড: Place Search
<!DOCTYPE html>
<html>
<head>
<title>Place Search Example</title>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap" async defer></script>
<style>
#map {
height: 500px;
width: 100%;
}
</style>
</head>
<body>
<h3>Place Search Example</h3>
<div id="map"></div>
<script>
var map;
var service;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 40.730610, lng: -73.935242}, // New York
zoom: 13
});
service = new google.maps.places.PlacesService(map);
// Place Search Request
var request = {
query: 'Restaurant', // User can change this query
location: {lat: 40.730610, lng: -73.935242}, // New York
radius: 5000 // Search within 5km
};
service.textSearch(request, callback);
}
// Callback function to handle the results
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
new google.maps.Marker({
map: map,
position: place.geometry.location,
title: place.name
});
}
}
}
</script>
</body>
</html>
কোডের ব্যাখ্যা:
places.PlacesService(map): এই ফাংশনটিmapঅবজেক্টের মাধ্যমে স্থান অনুসন্ধান সেবা শুরু করে।textSearch(request, callback): এই ফাংশনটি একটি অনুসন্ধান রিকোয়েস্ট পাঠিয়ে স্থান খুঁজে পায় এবং রেসপন্স হিসাবে মার্কার সহ ফলাফল প্রদান করে।- Query: 'Restaurant' অনুসন্ধান করার জন্য
queryপ্যারামিটার ব্যবহার করা হয়েছে, তবে এটি যেকোনো কিছু হতে পারে যেমন ‘hospital’, ‘museum’ ইত্যাদি। callback: রেসপন্সে প্রাপ্ত স্থানগুলি মার্কারের মাধ্যমে মানচিত্রে প্রদর্শিত হয়।
Place Details কী?
Place Details ফিচারটি ব্যবহার করে আপনি একটি নির্দিষ্ট স্থান সম্পর্কে আরো বিস্তারিত তথ্য জানতে পারেন, যেমন:
- ফোন নম্বর
- সময়সূচি
- রেটিং
- ঠিকানা
- ওয়েবসাইট ইত্যাদি
Place Details API কল করতে, প্রথমে Place Search এর মাধ্যমে একটি স্থান খুঁজে বের করতে হয় এবং তারপর সেই স্থানের place ID ব্যবহার করে Place Details API কল করা হয়।
Place Details ব্যবহার করার প্রক্রিয়া
- Place ID সংগ্রহ: Place Search API কল করার পর একটি
place_idপ্রাপ্ত হয়। - Place Details Request:
place_idব্যবহার করে Place Details API কল করা হয়, যা ঐ স্থান সম্পর্কে আরো বিস্তারিত তথ্য প্রদান করে।
উদাহরণ কোড: Place Details
<!DOCTYPE html>
<html>
<head>
<title>Place Details Example</title>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap" async defer></script>
<style>
#map {
height: 500px;
width: 100%;
}
</style>
</head>
<body>
<h3>Place Details Example</h3>
<div id="map"></div>
<div id="place-details"></div>
<script>
var map;
var service;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 40.730610, lng: -73.935242}, // New York
zoom: 13
});
service = new google.maps.places.PlacesService(map);
// Place Search Request
var request = {
query: 'Restaurant', // User can change this query
location: {lat: 40.730610, lng: -73.935242}, // New York
radius: 5000 // Search within 5km
};
service.textSearch(request, function(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
var place = results[0]; // Getting the first result
displayPlaceDetails(place.place_id);
}
});
}
// Fetch Place Details using Place ID
function displayPlaceDetails(placeId) {
service.getDetails({placeId: placeId}, function(place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
var detailsDiv = document.getElementById('place-details');
detailsDiv.innerHTML = '<h4>' + place.name + '</h4>';
detailsDiv.innerHTML += '<p>' + place.formatted_address + '</p>';
detailsDiv.innerHTML += '<p>Phone: ' + place.formatted_phone_number + '</p>';
detailsDiv.innerHTML += '<p>Rating: ' + place.rating + '</p>';
detailsDiv.innerHTML += '<p><a href="' + place.website + '" target="_blank">Website</a></p>';
}
});
}
</script>
</body>
</html>
কোডের ব্যাখ্যা:
service.textSearch(request, callback): Place Search API ব্যবহার করে একটি স্থান খোঁজা হয় এবংplace_idপাওয়া যায়।service.getDetails({placeId: placeId}, callback): এই ফাংশনটিplace_idব্যবহার করে ঐ স্থানটির বিস্তারিত তথ্য (ফোন নম্বর, রেটিং, ওয়েবসাইট ইত্যাদি) ফেরত দেয়।place.formatted_address,place.formatted_phone_number: প্রতিটি বিস্তারিত তথ্যplaceঅবজেক্ট থেকে নেওয়া হয়।
Place Search এবং Place Details এর সুবিধা
- স্থান খোঁজার সহজ পদ্ধতি: ব্যবহারকারীরা কোন ধরনের স্থান খুঁজতে চায় (যেমন রেস্টুরেন্ট, হাসপাতাল, হোটেল) তা সহজেই নির্ধারণ করতে পারে।
- বিস্তারিত তথ্য: Place Details API ব্যবহার করে স্থান সম্পর্কিত তথ্য (যেমন সময়সূচি, রেটিং, ফোন নম্বর, ওয়েবসাইট) সরাসরি পাওয়া যায়, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
- লোকেশন ভিত্তিক সেবা: এই ফিচারগুলি লোকেশন ভিত্তিক সেবা তৈরি করতে সহায়ক, যেমন লোকেশন বেসড রিভিউ, রেস্টুরেন্ট খোঁজা, বা নেভিগেশন।
সারাংশ
Place Search এবং Place Details গুগল ম্যাপস API এর দুটি গুরুত্বপূর্ণ ফিচার যা স্থান সম্পর্কিত বিভিন্ন তথ্য সংগ্রহ এবং প্রদর্শনের জন্য ব্যবহৃত হয়। Place Search API ব্যবহারকারীদের স্থান খুঁজতে সাহায্য করে এবং Place Details API ব্যবহার করে ঐ স্থানের বিস্তারিত তথ্য পাওয়া যায়। এই ফিচারগুলো লোকেশন ভিত্তিক অ্যাপ্লিকেশন ও সেবার জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more