নতুন স্থানের পর্যালোচনাগুলিতে স্থানান্তরিত করুন, নতুন স্থান পর্যালোচনাগুলিতে স্থানান্তর করুন, নতুন স্থান পর্যালোচনাগুলিতে স্থানান্তর করুন, নতুন স্থান পর্যালোচনাগুলিতে স্থানান্তর করুন

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

প্লেস রিভিউস আপনাকে আপনার ওয়েব পেজগুলিতে ব্যবহারকারীর রিভিউ এবং রেটিং যোগ করার সুযোগ দেয়। এই পেজটিতে Place ক্লাস (নতুন) এবং PlacesService (পুরানো)-এ ব্যবহৃত প্লেস রিভিউস-এর মধ্যেকার পার্থক্য ব্যাখ্যা করা হয়েছে এবং তুলনার জন্য কিছু কোড স্নিপেট দেওয়া হয়েছে।

  • PlacesService (লেগ্যাসি) যেকোনো getDetails() অনুরোধের জন্য PlaceResult অবজেক্টের অংশ হিসেবে PlaceReview ইনস্ট্যান্সের একটি অ্যারে ফেরত দেয়, যদি অনুরোধে reviews ফিল্ডটি নির্দিষ্ট করা থাকে।
  • যদি অনুরোধে reviews ফিল্ডটি নির্দিষ্ট করা থাকে, তাহলে fetchFields() অনুরোধের অংশ হিসেবে Place (new) ফাংশনটি Review ইনস্ট্যান্সগুলোর একটি অ্যারে ফেরত দেয়।

নিম্নলিখিত সারণিতে Place ক্লাস এবং PlacesService মধ্যে স্থান পর্যালোচনার ব্যবহারের কিছু প্রধান পার্থক্য তালিকাভুক্ত করা হলো:

PlacesService (লেগ্যাসি) Place (নতুন)
PlaceReview ইন্টারফেস Review ক্লাস
results অবজেক্ট এবং google.maps.places.PlacesServiceStatus রেসপন্স হ্যান্ডেল করার জন্য মেথডগুলোতে একটি কলব্যাক ব্যবহার করা আবশ্যক। এটি প্রমিস ব্যবহার করে এবং অ্যাসিঙ্ক্রোনাসভাবে কাজ করে।
পদ্ধতিগুলোর জন্য PlacesServiceStatus যাচাই করা প্রয়োজন। স্ট্যাটাস চেক করার প্রয়োজন নেই, স্ট্যান্ডার্ড এরর হ্যান্ডলিং ব্যবহার করা যেতে পারে। আরও জানুন
PlacesService অবশ্যই একটি map অথবা একটি div এলিমেন্ট ব্যবহার করে ইনস্ট্যানশিয়েট করতে হবে। ম্যাপ বা পেজ এলিমেন্টের রেফারেন্স ছাড়াই, প্রয়োজন অনুযায়ী যেকোনো স্থানে Place ইনস্ট্যানশিয়েট করা যেতে পারে।
PlaceReview , author_name , author_url এবং profile_photo_url ফিল্ডগুলো ব্যবহার করে রিভিউটির অ্যাট্রিবিউশন ডেটা ফেরত দেয়। একটি AuthorAttribution ইনস্ট্যান্স ব্যবহার করে Review তার অ্যাট্রিবিউশন ডেটা ফেরত দেয়।

কোড তুলনা

এই বিভাগে পুরোনো PlacesService এবং নতুন Place ক্লাসের Place রিভিউগুলোর মধ্যে পার্থক্য তুলে ধরতে টেক্সট সার্চ মেথডগুলোর কোডের তুলনা করা হয়েছে।

স্থান পরিষেবা (উত্তরাধিকার)

নিম্নলিখিত কোড স্নিপেটটি রিভিউ সহ স্থানের বিবরণ অনুরোধ করার জন্য getDetails() কল করে এবং প্রথম রিভিউর ফলাফলটি একটি ইনফোউইন্ডোতে প্রদর্শন করে।

const request = {
  placeId: "ChIJpyiwa4Zw44kRBQSGWKv4wgA", // Faneuil Hall Marketplace, Boston, MA
  fields: ["name", "formatted_address", "geometry", "reviews"],
};
const service = new google.maps.places.PlacesService(map);

service.getDetails(request, (place, status) => {
  if (
    status === google.maps.places.PlacesServiceStatus.OK &&
    place &&
    place.geometry &&
    place.geometry.location
  ) {
    // If there are any reviews display the first one.
    if (place.reviews && place.reviews.length > 0) {
      // Get info for the first review.
      let reviewRating = place.reviews[0].rating;
      let reviewText = place.reviews[0].text;
      let authorName = place.reviews[0].author_name;
      let authorUri = place.reviews[0].author_url;

      // Format the review using HTML.
      contentString =`
            <div id="title"><b>${place.name}</b></div>
            <div id="address">${place.formatted_address}</div>
            <a href="${authorUri}" target="_blank">Author: ${authorName}</a>
            <div id="rating">Rating: ${reviewRating} stars</div>
            <div id="rating"><p>Review: ${reviewText}</p></div>`;
    } else {
      contentString = `No reviews were found for ${place.name}`;
    }

    const infowindow = new google.maps.InfoWindow({
      content: contentString,
      ariaLabel: place.displayName,
    });

    // Add a marker.
    const marker = new google.maps.Marker({
      map,
      position: place.geometry.location,
    });

    // Show the info window.
    infowindow.open({
      anchor: marker,
      map,
    });
  }
});

স্থান শ্রেণী (নতুন)

নিম্নলিখিত কোড স্নিপেটটি রিভিউ সহ স্থানের বিবরণ অনুরোধ করার জন্য fetchFields() মেথডকে কল করে এবং প্রথম রিভিউর ফলাফলটি একটি ইনফোউইন্ডোতে প্রদর্শন করে।

// Use a place ID to create a new Place instance.
const place = new google.maps.places.Place({
  id: "ChIJpyiwa4Zw44kRBQSGWKv4wgA", // Faneuil Hall Marketplace, Boston, MA
});

// Call fetchFields, passing 'reviews' and other needed fields.
await place.fetchFields({
  fields: ["displayName", "formattedAddress", "location", "reviews"],
});

// If there are any reviews display the first one.
if (place.reviews && place.reviews.length > 0) {
  // Get info for the first review.
  let reviewRating = place.reviews[0].rating;
  let reviewText = place.reviews[0].text;
  let authorName = place.reviews[0].authorAttribution.displayName;
  let authorUri = place.reviews[0].authorAttribution.uri;

  // Format the review using HTML.
  contentString =`
          <div id="title"><b>${place.displayName}</b></div>
          <div id="address">${place.formattedAddress}</div>
          <a href="${authorUri}" target="_blank">Author: ${authorName}</a>
          <div id="rating">Rating: ${reviewRating} stars</div>
          <div id="rating"><p>Review: ${reviewText}</p></div>`;
} else {
  contentString = `No reviews were found for ${place.displayName}`;
}

// Create an infowindow to display the review.
infoWindow = new google.maps.InfoWindow({
  content: contentString,
  ariaLabel: place.displayName,
});

// Add a marker.
const marker = new google.maps.marker.AdvancedMarkerElement({
  map,
  position: place.location,
  title: place.displayName,
});

// Show the info window.
infoWindow.open({
  anchor: marker,
  map,
});