'জায়গার ফটো' আপনাকে ওয়েব পেজে খুব ভালো কোয়ালিটির ফটোগ্রাফিক কন্টেন্ট যোগ করতে দেয়।
এই পৃষ্ঠায় Place ক্লাস (নতুন) এবং PlacesService (পুরনো)-এ জায়গার ফটো ফিচারের মধ্যে পার্থক্য ব্যাখ্যা করা হয়েছে এবং
তুলনা করার জন্য কিছু কোড স্নিপেট প্রদান করা হয়েছে।
PlacesService(লিগ্যাসি) সর্বাধিক ১০টিPlacePhotoঅবজেক্টের একটি অ্যারে প্রদান করে, যা যেকোনওgetDetails()অনুরোধের জন্যPlaceResultঅবজেক্টের অংশ হিসেবে কাজ করে, যদি অনুরোধেphotosফিল্ডটি নির্দিষ্ট করা থাকে।textSearch()এবংnearbySearch()-এর ক্ষেত্রে, প্রথম জায়গার ফটো উপলভ্য থাকলে ডিফল্ট হিসেবে সেটি দেখানো হয়।Placeক্লাস,fetchFields()অনুরোধের অংশ হিসেবে সর্বাধিক ১০টিPhotoঅবজেক্টের অ্যারে রিটার্ন করে, যদি অনুরোধেphotosফিল্ড নির্দিষ্ট করা থাকে।
নিম্নলিখিত সারণীতে Place ক্লাস এবং PlacesService-এর মধ্যে জায়গার ফটো ব্যবহারের কিছু প্রধান পার্থক্য তালিকাভুক্ত করা হয়েছে:
PlacesService (লিগ্যাসি) |
Place (নতুন) |
|---|---|
PlacePhoto ইন্টারফেস |
Photo ক্লাস |
PlacePhoto,
html_attributions-কে স্ট্রিং হিসেবে দেখায়। |
Photo একটি
AuthorAttribution ইনস্ট্যান্স রিটার্ন করে। |
ফলাফল অবজেক্ট এবং উত্তর ম্যানেজ করার জন্য
google.maps.places.PlacesServiceStatus পদ্ধতিতে কলব্যাক ব্যবহার করতে হয়। |
Promises ব্যবহার করে এবং অ্যাসিঙ্ক্রোনাসভাবে কাজ করে। |
পদ্ধতিগুলির জন্য একটি PlacesServiceStatus চেক প্রয়োজন। |
স্ট্যাটাস চেক করার প্রয়োজন নেই, স্ট্যান্ডার্ড এরর হ্যান্ডলিং ব্যবহার করতে পারেন। আরও জানুন। |
PlacesService অবশ্যই ম্যাপ বা
div এলিমেন্ট ব্যবহার করে ইনস্ট্যান্টিয়েট করতে হবে। |
ম্যাপ বা পৃষ্ঠা এলিমেন্টের রেফারেন্স ছাড়াই, যেখানে প্রয়োজন সেখানে Place ইনস্ট্যান্টিয়েট করা
যেতে পারে। |
কোডের তুলনা
এই বিভাগে, Places Service এবং Place ক্লাসের মধ্যে পার্থক্য বোঝাতে, জায়গার ফটোর জন্য কোড তুলনা করা হয়েছে। কোড স্নিপেট প্রতিটি সংশ্লিষ্ট API-তে জায়গার ফটো অনুরোধ করার জন্য প্রয়োজনীয় কোড দেখায়।
Places পরিষেবা (পুরনো)
নিম্নলিখিত স্নিপেট PlacesService ব্যবহার করে ফটো ফিরিয়ে আনা এবং
পৃষ্ঠায় প্রথম ফটোর ফলাফল দেখানোকে বোঝায়। এই উদাহরণে, জায়গার বিবরণ সংক্রান্ত অনুরোধে name এবং photos ফিল্ডের সাথে একটি জায়গা আইডি উল্লেখ করা হয়েছে।
পরিষেবার স্ট্যাটাস চেক করার পরে প্রথম ফটোটি পৃষ্ঠায় দেখানো হয়।
PlacesService ইনস্ট্যান্টিয়েট করার সময়, একটি ম্যাপ বা div এলিমেন্ট অবশ্যই
উল্লেখ করতে হবে; যেহেতু এই উদাহরণে কোনও ম্যাপ নেই, তাই একটি div এলিমেন্ট ব্যবহার করা হয়েছে।
function getPhotos() {
// Construct the Place Details request.
const request = {
placeId: "ChIJydSuSkkUkFQRsqhB-cEtYnw",
fields: ["name", "photos"],
};
// Create an instance of PlacesService.
const attributionDiv = document.getElementById("attribution-div");
const service = new google.maps.places.PlacesService(attributionDiv);
// Check status and display the first photo in an img element.
service.getDetails(request, (place, status) => {
if (
status === google.maps.places.PlacesServiceStatus.OK && place
) {
const photoImg = document.getElementById('image-container');
photoImg.src = place.photos[0].getUrl({maxHeight: 400});
}
});
}
PlacesService-এ লেখকের অ্যাট্রিবিউশন
PlacesService লেখকের Google প্রোফাইল পৃষ্ঠার দিকে নির্দেশ করে এমন URL সহ
html_attributions
স্ট্রিং হিসেবে প্রয়োজনীয় লেখক অ্যাট্রিবিউশন প্রদান করে। নিম্নলিখিত
স্নিপেট প্রথম ফটো ফলাফলের জন্য অ্যাট্রিবিউশন ডেটা ফিরিয়ে আনার বিষয়টি দেখায়।
let attributionUrl = place.photos[0].html_attributions;
আরও জানুন
জায়গার ক্লাস (নতুন)
নিচের স্নিপেটটি
fetchFields()
পদ্ধতি ব্যবহার করে ডিসপ্লে নাম এবং জায়গার ফটো সহ জায়গার বিবরণ দেখায়।
প্রথমে একটি প্লেস আইডি ব্যবহার করে একটি নতুন Place অবজেক্ট ইনস্ট্যান্টিয়েট করা হয়, তারপরে fetchFields()-এ একটি কল করা হয়
যেখানে displayName এবং photos ফিল্ড নির্দিষ্ট করা হয়।
প্রথম জায়গার ফটোটি তারপর পৃষ্ঠায় দেখানো হয়। Place ক্লাস ব্যবহার করার সময়
পরিষেবার স্ট্যাটাস চেক করার প্রয়োজন নেই, কারণ এটি অটোমেটিক ম্যানেজ করা হয়।
async function getPhotos() {
// Use a place ID to create a new Place instance.
const place = new google.maps.places.Place({
id: 'ChIJydSuSkkUkFQRsqhB-cEtYnw', // Woodland Park Zoo, Seattle WA
});
// Call fetchFields, passing the needed data fields.
await place.fetchFields({ fields: ['displayName','photos'] });
console.log(place.displayName);
console.log(place.photos[0]);
// Add the first photo to an img element.
const photoImg = document.getElementById('image-container');
photoImg.src = place.photos[0].getURI({maxHeight: 400});
}
Place ক্লাসে লেখকের অ্যাট্রিবিউশন
Place ক্লাস, লেখকের নাম, লেখকের Google প্রোফাইল পৃষ্ঠার URI এবং লেখকের প্রোফাইল ফটোর URI সহ
AuthorAttribution
ইনস্ট্যান্স হিসেবে লেখকের অ্যাট্রিবিউশন রিটার্ন করে। নিম্নলিখিত স্নিপেট প্রথম ফটো ফলাফলের জন্য
অ্যাট্রিবিউশন ডেটা ফিরিয়ে আনার বিষয়টি দেখায়।
let name = place.photos[0].authorAttributions[0].displayName;
let attributionUrl = place.photos[0].authorAttributions[0].uri;
let photoUrl = place.photos[0].authorAttributions[0].photoUri;