স্থান লাইব্রেরি

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

ওভারভিউ

স্থান লাইব্রেরি, মানচিত্র জাভাস্ক্রিপ্ট এপিআই-এর ফাংশনগুলি আপনার অ্যাপ্লিকেশনকে একটি সংজ্ঞায়িত এলাকার মধ্যে স্থান (প্রতিষ্ঠান, ভৌগলিক অবস্থান, বা আগ্রহের বিশিষ্ট স্থান হিসাবে এই API-এ সংজ্ঞায়িত করা হয়েছে) স্থানগুলি অনুসন্ধান করতে সক্ষম করে, যেমন একটি মানচিত্রের সীমানা বা আশেপাশে একটি নির্দিষ্ট বিন্দু।

স্থান API একটি স্বয়ংসম্পূর্ণ বৈশিষ্ট্য অফার করে যা আপনি আপনার অ্যাপ্লিকেশনগুলিকে Google মানচিত্র অনুসন্ধান ক্ষেত্রের টাইপ-আগে-সার্চ আচরণ দিতে ব্যবহার করতে পারেন৷ যখন একজন ব্যবহারকারী একটি ঠিকানা টাইপ করা শুরু করেন, স্বয়ংসম্পূর্ণ বাকিগুলি পূরণ করবে। আরও তথ্যের জন্য, স্বয়ংসম্পূর্ণ ডকুমেন্টেশন দেখুন।

শুরু হচ্ছে

আপনি যদি Maps JavaScript API বা JavaScript এর সাথে অপরিচিত না হন, তাহলে আমরা জাভাস্ক্রিপ্ট পর্যালোচনা করার পরামর্শ দিই এবং শুরু করার আগে একটি API কী পান

এপিআই সক্ষম করুন

Maps JavaScript API-এ স্থানের লাইব্রেরি ব্যবহার করার আগে, প্রথমে নিশ্চিত করুন যে Google ক্লাউড কনসোলে আপনি Maps JavaScript API-এর জন্য সেট আপ করেছেন একই প্রকল্পে Places API সক্ষম করা আছে।

আপনার সক্রিয় API এর তালিকা দেখতে:

  1. গুগল ক্লাউড কনসোলে যান।
  2. একটি প্রকল্প নির্বাচন করুন বোতামে ক্লিক করুন, তারপরে আপনি মানচিত্র জাভাস্ক্রিপ্ট API-এর জন্য সেট আপ করা একই প্রকল্প নির্বাচন করুন এবং খুলুন ক্লিক করুন।
  3. ড্যাশবোর্ডে API-এর তালিকা থেকে, স্থান API সন্ধান করুন।
  4. আপনি যদি তালিকায় স্থান API দেখতে পান, এটি ইতিমধ্যেই সক্ষম। API তালিকাভুক্ত না হলে, এটি সক্ষম করুন:
    1. পৃষ্ঠার শীর্ষে, লাইব্রেরি ট্যাবটি প্রদর্শন করতে APIS এবং পরিষেবাগুলি সক্ষম করুন নির্বাচন করুন৷ বিকল্পভাবে, বাম পাশের মেনু থেকে, লাইব্রেরি নির্বাচন করুন।
    2. স্থান API অনুসন্ধান করুন, তারপর ফলাফল তালিকা থেকে এটি নির্বাচন করুন।
    3. ENABLE নির্বাচন করুন। প্রক্রিয়াটি শেষ হলে, স্থান API ড্যাশবোর্ডে API-এর তালিকায় উপস্থিত হয়।

লাইব্রেরি লোড হচ্ছে

স্থান পরিষেবা হল একটি স্বয়ংসম্পূর্ণ লাইব্রেরি, প্রধান মানচিত্র জাভাস্ক্রিপ্ট API কোড থেকে আলাদা৷ এই লাইব্রেরির মধ্যে থাকা কার্যকারিতা ব্যবহার করতে, আপনাকে প্রথমে মানচিত্র API বুটস্ট্র্যাপ URL-এ libraries প্যারামিটার ব্যবহার করে এটি লোড করতে হবে:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>

আরও তথ্যের জন্য লাইব্রেরি ওভারভিউ দেখুন।

API কী এর API সীমাবদ্ধতা তালিকায় স্থান API যোগ করুন

আপনার কীগুলিতে API সীমাবদ্ধতা প্রয়োগ করা এক বা একাধিক API বা SDK-তে API কী-এর ব্যবহার সীমাবদ্ধ করে। API কী-এর সাথে যুক্ত একটি API বা SDK-এর অনুরোধগুলি প্রক্রিয়া করা হবে৷ API বা SDK-এর অনুরোধ API কী-এর সাথে যুক্ত নয়। স্থান লাইব্রেরি, মানচিত্র জাভাস্ক্রিপ্ট API-এর সাথে ব্যবহারের জন্য একটি API কী সীমাবদ্ধ করতে:
  1. গুগল ক্লাউড কনসোলে যান।
  2. প্রজেক্ট ড্রপ-ডাউনে ক্লিক করুন এবং আপনি সুরক্ষিত করতে চান এমন API কী রয়েছে এমন প্রজেক্ট নির্বাচন করুন।
  3. মেনু বোতামে ক্লিক করুন এবং Google মানচিত্র প্ল্যাটফর্ম > শংসাপত্র নির্বাচন করুন।
  4. শংসাপত্র পৃষ্ঠায়, আপনি সুরক্ষিত করতে চান এমন API কীটির নামে ক্লিক করুন।
  5. API কী পৃষ্ঠা সীমাবদ্ধ করুন এবং পুনঃনামকরণ করুন , সীমাবদ্ধতাগুলি সেট করুন:
    • API সীমাবদ্ধতা
      • সীমাবদ্ধ কী নির্বাচন করুন।
      • APIs নির্বাচন করুন ক্লিক করুন এবং মানচিত্র JavaScript API এবং Places API উভয়ই নির্বাচন করুন।
        (যদি API গুলির মধ্যে একটি তালিকাভুক্ত না হয় তবে আপনাকে এটি সক্ষম করতে হবে।)
  6. সেভ এ ক্লিক করুন।

ব্যবহারের সীমা এবং নীতি

কোটা

Places লাইব্রেরি Places API-এর সাথে একটি ব্যবহার কোটা শেয়ার করে যেমন Places API-এর ব্যবহারের সীমা ডকুমেন্টেশনে বর্ণিত হয়েছে।

নীতিমালা

প্লেস লাইব্রেরির ব্যবহার, মানচিত্র জাভাস্ক্রিপ্ট API অবশ্যই Places API-এর জন্য বর্ণিত নীতি অনুসারে হতে হবে।

স্থান অনুসন্ধান

স্থান পরিষেবার সাহায্যে আপনি নিম্নলিখিত ধরণের অনুসন্ধানগুলি সম্পাদন করতে পারেন:

প্রত্যাবর্তিত তথ্যের মধ্যে স্থাপনা অন্তর্ভুক্ত থাকতে পারে — যেমন রেস্তোরাঁ, দোকান এবং অফিস — সেইসাথে 'জিওকোড' ফলাফল, যা ঠিকানা, রাজনৈতিক এলাকা যেমন শহর এবং শহর এবং অন্যান্য আগ্রহের বিষয়গুলি নির্দেশ করে৷

স্থান অনুরোধ খুঁজুন

একটি স্থান খুঁজুন অনুরোধ আপনাকে পাঠ্য ক্যোয়ারী বা ফোন নম্বর দ্বারা একটি স্থান অনুসন্ধান করতে দেয়৷ দুটি ধরণের স্থান সন্ধানের অনুরোধ রয়েছে:

কোয়েরি থেকে স্থান খুঁজুন

কোয়েরি থেকে স্থান খুঁজুন একটি পাঠ্য ইনপুট নেয় এবং একটি স্থান ফেরত দেয়। ইনপুট হতে পারে যেকোনো ধরনের প্লেস ডেটা, যেমন একটি ব্যবসার নাম বা ঠিকানা। কোয়েরি অনুরোধ থেকে একটি স্থান সন্ধান করতে, PlacesService এর findPlaceFromQuery() পদ্ধতিতে কল করুন, যা নিম্নলিখিত পরামিতিগুলি নেয়:

  • query (প্রয়োজনীয়) যে টেক্সট স্ট্রিংটিতে অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ" বা "123 প্রধান রাস্তা"। এটি অবশ্যই একটি স্থানের নাম, ঠিকানা বা প্রতিষ্ঠানের বিভাগ হতে হবে। অন্য যেকোনো ধরনের ইনপুট ত্রুটি তৈরি করতে পারে এবং বৈধ ফলাফল ফেরত দেওয়ার নিশ্চয়তা নেই। Places API এই স্ট্রিং এর উপর ভিত্তি করে প্রার্থীর মিল ফিরিয়ে দেবে এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফলগুলি অর্ডার করবে।
  • fields (প্রয়োজনীয়) এক বা একাধিক ক্ষেত্র যা স্থান ডেটার ধরনগুলিকে ফেরত দিতে হবে তা নির্দিষ্ট করে৷
  • locationBias (ঐচ্ছিক) স্থানাঙ্ক অনুসন্ধানের জন্য এলাকা নির্ধারণ করে। এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
    • LatLngLiteral বা LatLng অবজেক্ট হিসাবে নির্দিষ্ট lat/lng স্থানাঙ্কের একটি সেট
    • আয়তক্ষেত্রাকার সীমানা (দুটি lat/lng জোড়া, অথবা একটি LatLngBounds বস্তু )
    • ব্যাসার্ধ (মিটারে) একটি ল্যাট/এলএনজিকে কেন্দ্র করে

ফলাফল অবজেক্ট এবং google.maps.places.PlacesServiceStatus প্রতিক্রিয়া হ্যান্ডেল করার জন্য findPlaceFromQuery() এর জন্য আপনাকে একটি কলব্যাক পদ্ধতিও পাস করতে হবে।

নীচের উদাহরণটি "সমসাময়িক আর্ট অস্ট্রেলিয়ার জাদুঘর" এবং name এবং geometry ক্ষেত্রগুলি সহ findPlaceFromQuery() এর জন্য একটি কল দেখায়৷

var map;
var service;
var infowindow;

function initMap() {
  var sydney = new google.maps.LatLng(-33.867, 151.195);

  infowindow = new google.maps.InfoWindow();

  map = new google.maps.Map(
      document.getElementById('map'), {center: sydney, zoom: 15});

  var request = {
    query: 'Museum of Contemporary Art Australia',
    fields: ['name', 'geometry'],
  };

  var service = new google.maps.places.PlacesService(map);

  service.findPlaceFromQuery(request, function(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        createMarker(results[i]);
      }
      map.setCenter(results[0].geometry.location);
    }
  });
}
উদাহরণ দেখুন

ফোন নম্বর থেকে জায়গা খুঁজুন

ফোন নম্বর থেকে স্থান খুঁজুন একটি ফোন নম্বর নেয় এবং একটি স্থান ফেরত দেয়। ফোন নম্বর অনুরোধ থেকে একটি স্থান সন্ধান করতে, PlacesService এর findPlaceFromPhoneNumber() পদ্ধতিতে কল করুন, যা নিম্নলিখিত পরামিতিগুলি নেয়:

  • phoneNumber (প্রয়োজনীয়) একটি ফোন নম্বর, E.164 ফরম্যাটে।
  • fields (প্রয়োজনীয়) এক বা একাধিক ক্ষেত্র যা স্থান ডেটার ধরনগুলিকে ফেরত দিতে হবে তা নির্দিষ্ট করে৷
  • locationBias (ঐচ্ছিক) স্থানাঙ্ক অনুসন্ধানের জন্য এলাকা নির্ধারণ করে। এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

আপনাকে অবশ্যই একটি কলব্যাক পদ্ধতি পাস করতে হবে findPlaceFromPhoneNumber() , ফলাফল বস্তু এবং google.maps.places.PlacesServiceStatus প্রতিক্রিয়া পরিচালনা করতে।

ক্ষেত্র (স্থান পদ্ধতি খুঁজুন)

প্রত্যাবর্তনের জন্য স্থানের ডেটা প্রকারের একটি অ্যারে নির্দিষ্ট করতে fields পরামিতি ব্যবহার করুন। উদাহরণস্বরূপ: fields: ['formatted_address', 'opening_hours', 'geometry'] । যৌগিক মান নির্দিষ্ট করার সময় একটি বিন্দু ব্যবহার করুন। যেমন: opening_hours.weekday_text

ক্ষেত্রগুলি স্থান অনুসন্ধান ফলাফলের সাথে মিলে যায়, এবং তিনটি বিলিং বিভাগে বিভক্ত: মৌলিক, যোগাযোগ এবং বায়ুমণ্ডল৷ বেসিক ফিল্ড বেস রেটে বিল করা হয়, এবং কোন অতিরিক্ত চার্জ লাগে না। যোগাযোগ এবং বায়ুমণ্ডল ক্ষেত্র একটি উচ্চ হারে বিল করা হয়. আরো তথ্যের জন্য মূল্য শীট দেখুন. বৈশিষ্ট্যগুলি ( html_attributions ) সর্বদা প্রতিটি কলের সাথে ফেরত দেওয়া হয়, ক্ষেত্রের অনুরোধ করা হয়েছে কিনা তা নির্বিশেষে।

মৌলিক

মৌলিক বিভাগে নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:
business_status , formatted_address , geometry , icon , icon_mask_base_uri , icon_background_color , name , permanently_closed ( অপ্রচলিত ), photos , place_id , plus_code , types

যোগাযোগ

যোগাযোগের বিভাগে নিম্নলিখিত ক্ষেত্র রয়েছে: opening_hours
(স্থানীয় লাইব্রেরি, মানচিত্র জাভাস্ক্রিপ্ট এপিআই-এ অপ্রচলিতopening_hours ফলাফল পেতে একটি স্থানের বিবরণ অনুরোধ ব্যবহার করুন)।

বায়ুমণ্ডল

বায়ুমণ্ডল বিভাগে নিম্নলিখিত ক্ষেত্রগুলি রয়েছে: price_level , rating , user_ratings_total

findPlaceFromQuery() এবং findPlaceFromPhoneNumber() পদ্ধতিগুলি প্রত্যেকে একই ক্ষেত্রগুলির সেট নেয় এবং তাদের নিজ নিজ প্রতিক্রিয়াগুলিতে একই ক্ষেত্রগুলি ফিরিয়ে দিতে পারে।

অবস্থানের পক্ষপাত সেট করুন (স্থান পদ্ধতি খুঁজুন)

একটি নির্দিষ্ট এলাকায় খুঁজুন স্থান অনুকূল ফলাফল করতে locationBias প্যারামিটার ব্যবহার করুন। আপনি নিম্নলিখিত উপায়ে locationBias সেট করতে পারেন:

একটি নির্দিষ্ট এলাকায় পক্ষপাতের ফলাফল:

locationBias: {lat: 37.402105, lng: -122.081974}

অনুসন্ধানের জন্য একটি আয়তক্ষেত্রাকার এলাকা সংজ্ঞায়িত করুন:

locationBias: {north: 37.41, south: 37.40, east: -122.08, west: -122.09}

আপনি একটি LatLngBounds ব্যবহার করতে পারেন।

একটি নির্দিষ্ট এলাকাকে কেন্দ্র করে অনুসন্ধানের জন্য (মিটারে) ব্যাসার্ধ সংজ্ঞায়িত করুন:

locationBias: {radius: 100, center: {lat: 37.402105, lng: -122.081974}}

কাছাকাছি অনুসন্ধান অনুরোধ

একটি কাছাকাছি অনুসন্ধান আপনাকে কীওয়ার্ড বা টাইপ দ্বারা একটি নির্দিষ্ট এলাকার মধ্যে স্থানগুলি অনুসন্ধান করতে দেয়৷ একটি কাছাকাছি অনুসন্ধানে সর্বদা একটি অবস্থান অন্তর্ভুক্ত করা আবশ্যক, যা দুটি উপায়ের একটিতে নির্দিষ্ট করা যেতে পারে:

  • একটি LatLngBounds
  • একটি বৃত্তাকার এলাকা যা location বৈশিষ্ট্যের সংমিশ্রণ হিসাবে সংজ্ঞায়িত করা হয় — বৃত্তের কেন্দ্রটিকে একটি LatLng বস্তু হিসাবে নির্দিষ্ট করে — এবং একটি ব্যাসার্ধ, মিটারে পরিমাপ করা হয়।

PlacesService এর nearbySearch() পদ্ধতিতে একটি কলের মাধ্যমে একটি Places Nearby অনুসন্ধান শুরু করা হয়, যা PlaceResult বস্তুর একটি অ্যারে ফিরিয়ে দেবে। নোট করুন যে nearbySearch() পদ্ধতিটি 3.9 সংস্করণ অনুসারে search() পদ্ধতিকে প্রতিস্থাপন করে।

service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);

এই পদ্ধতিটি নিম্নলিখিত ক্ষেত্রগুলির সাথে একটি অনুরোধ নেয়:

  • হয়:
    • bounds , যা অবশ্যই একটি google.maps.LatLngBounds বস্তু হতে হবে যা আয়তক্ষেত্রাকার অনুসন্ধান এলাকা নির্ধারণ করে; বা
    • একটি location এবং একটি radius ; আগেরটি একটি google.maps.LatLng অবজেক্ট নেয় এবং পরবর্তীটি একটি সাধারণ পূর্ণসংখ্যা নেয়, যা বৃত্তের ব্যাসার্ধকে মিটারে উপস্থাপন করে। সর্বাধিক অনুমোদিত ব্যাসার্ধ 50 000 মিটার। মনে রাখবেন যে যখন rankBy DISTANCE সেট করা হয়, তখন আপনাকে অবশ্যই একটি location নির্দিষ্ট করতে হবে কিন্তু আপনি একটি radius বা bounds নির্দিষ্ট করতে পারবেন না।
  • keyword ( ঐচ্ছিক ) — নাম, প্রকার এবং ঠিকানা, সেইসাথে গ্রাহক পর্যালোচনা এবং অন্যান্য তৃতীয়-পক্ষের সামগ্রী সহ কিন্তু সীমাবদ্ধ নয় এমন সমস্ত উপলব্ধ ক্ষেত্রের সাথে মিলিত হতে হবে।
  • minPriceLevel এবং maxPriceLevel ( ঐচ্ছিক ) — নির্দিষ্ট পরিসরের মধ্যে শুধুমাত্র সেই জায়গাগুলিতে ফলাফল সীমাবদ্ধ করে। বৈধ মান 0 (সবচেয়ে সাশ্রয়ী) থেকে 4 (সবচেয়ে ব্যয়বহুল) এর মধ্যে, অন্তর্ভুক্ত।
  • name বঞ্চিত। keyword সমতুল্য। এই ক্ষেত্রের মানগুলি keyword ক্ষেত্রের মানগুলির সাথে একত্রিত হয় এবং একই অনুসন্ধান স্ট্রিংয়ের অংশ হিসাবে পাস করা হয়।
  • openNow ( ঐচ্ছিক ) — একটি বুলিয়ান মান, যা নির্দেশ করে যে Places পরিষেবা শুধুমাত্র সেই জায়গাগুলিকে ফেরত দেবে যেগুলি কোয়েরি পাঠানোর সময় ব্যবসার জন্য খোলা থাকে৷ Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে না যদি আপনি এই প্যারামিটারটি আপনার ক্যোয়ারীতে অন্তর্ভুক্ত করেন। openNow কে false সেট করলে কোন প্রভাব নেই।
  • rankBy ( ঐচ্ছিক ) — ফলাফল তালিকাভুক্ত করার ক্রম নির্দিষ্ট করে। সম্ভাব্য মান হল:
    • google.maps.places.RankBy.PROMINENCE (ডিফল্ট)। এই বিকল্পটি তাদের গুরুত্বের উপর ভিত্তি করে ফলাফল বাছাই করে। র‍্যাঙ্কিং নির্দিষ্ট ব্যাসার্ধের মধ্যে বিশিষ্ট স্থানগুলিকে পছন্দ করবে কাছাকাছি জায়গাগুলির তুলনায় যা মেলে তবে সেগুলি কম বিশিষ্ট। Google-এর সূচীতে স্থানের র‍্যাঙ্কিং, বিশ্বব্যাপী জনপ্রিয়তা এবং অন্যান্য বিষয়গুলির দ্বারা বিশিষ্টতা প্রভাবিত হতে পারে। যখন google.maps.places.RankBy.PROMINENCE নির্দিষ্ট করা হয়, তখন radius পরামিতি প্রয়োজন।
    • google.maps.places.RankBy.DISTANCE এই বিকল্পটি নির্দিষ্ট location (প্রয়োজনীয়) থেকে তাদের দূরত্ব অনুসারে ক্রমবর্ধমান ক্রমে ফলাফল বাছাই করে। মনে রাখবেন যে আপনি RankBy.DISTANCE উল্লেখ করলে আপনি একটি কাস্টম bounds এবং/অথবা radius নির্দিষ্ট করতে পারবেন না। আপনি যখন RankBy.DISTANCE নির্দিষ্ট করেন, তখন এক বা একাধিক keyword , name বা type প্রয়োজন হয়।
  • type - নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফল সীমাবদ্ধ করে। শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে (যদি একাধিক প্রকার প্রদান করা হয়, প্রথম এন্ট্রি অনুসরণকারী সকল প্রকার উপেক্ষা করা হয়)। সমর্থিত প্রকারের তালিকা দেখুন।

ফলাফল অবজেক্ট এবং google.maps.places.PlacesServiceStatus প্রতিক্রিয়া হ্যান্ডেল করার জন্য আপনাকে nearbySearch() এ একটি কলব্যাক পদ্ধতিও পাস করতে হবে।

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

  var request = {
    location: pyrmont,
    radius: '500',
    type: ['restaurant']
  };

  service = new google.maps.places.PlacesService(map);
  service.nearbySearch(request, callback);
}

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      createMarker(results[i]);
    }
  }
}

উদাহরণ দেখুন

পাঠ্য অনুসন্ধান অনুরোধ

Google Places পাঠ্য অনুসন্ধান পরিষেবা হল একটি ওয়েব পরিষেবা যা একটি স্ট্রিং-এর উপর ভিত্তি করে স্থানগুলির একটি সেট সম্পর্কে তথ্য প্রদান করে — উদাহরণস্বরূপ "নিউ ইয়র্কের পিজা" বা "অটোয়ার কাছে জুতার দোকান"। পরিষেবাটি পাঠ্য স্ট্রিংয়ের সাথে মেলে এমন স্থানগুলির একটি তালিকা এবং সেট করা যেকোন অবস্থানের পক্ষপাতের সাথে প্রতিক্রিয়া জানায়৷ অনুসন্ধান প্রতিক্রিয়া স্থানগুলির একটি তালিকা অন্তর্ভুক্ত করবে। উত্তরে যে কোনো স্থান সম্পর্কে আরও তথ্যের জন্য আপনি একটি স্থানের বিবরণের অনুরোধ পাঠাতে পারেন।

PlacesService এর textSearch() পদ্ধতিতে একটি কল দিয়ে পাঠ্য অনুসন্ধান শুরু করা হয়।

service = new google.maps.places.PlacesService(map);
service.textSearch(request, callback);

এই পদ্ধতিটি নিম্নলিখিত ক্ষেত্রগুলির সাথে একটি অনুরোধ নেয়:

  • query ( প্রয়োজনীয় ) যে টেক্সট স্ট্রিংটিতে অনুসন্ধান করতে হবে, উদাহরণস্বরূপ: "রেস্তোরাঁ" বা "123 প্রধান রাস্তা"। এটি অবশ্যই একটি স্থানের নাম, ঠিকানা বা প্রতিষ্ঠানের বিভাগ হতে হবে। অন্য যেকোনো ধরনের ইনপুট ত্রুটি তৈরি করতে পারে এবং বৈধ ফলাফল ফেরত দেওয়ার নিশ্চয়তা নেই। স্থান পরিষেবা এই স্ট্রিং এর উপর ভিত্তি করে প্রার্থীর মিল ফিরিয়ে দেবে এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফলগুলি অর্ডার করবে। এই প্যারামিটারটি ঐচ্ছিক হয়ে যায় যদি type প্যারামিটারটি অনুসন্ধান অনুরোধেও ব্যবহার করা হয়।
  • ঐচ্ছিকভাবে:
    • openNow — একটি বুলিয়ান মান, যা নির্দেশ করে যে Places পরিষেবা শুধুমাত্র সেই জায়গাগুলিকে ফেরত দেবে যেগুলি কোয়েরি পাঠানোর সময় ব্যবসার জন্য খোলা থাকে। Google Places ডাটাবেসে খোলার সময় নির্দিষ্ট করে না এমন জায়গাগুলি ফেরত দেওয়া হবে না যদি আপনি এই প্যারামিটারটি আপনার ক্যোয়ারীতে অন্তর্ভুক্ত করেন। openNow কে false সেট করলে কোন প্রভাব নেই।
    • minPriceLevel এবং maxPriceLevel — নির্দিষ্ট মূল্য স্তরের মধ্যে শুধুমাত্র সেই জায়গাগুলিতে ফলাফল সীমাবদ্ধ করে। বৈধ মানগুলি 0 (সবচেয়ে সাশ্রয়ী) থেকে 4 (সবচেয়ে ব্যয়বহুল), অন্তর্ভুক্ত।
    • হয়:
      • bounds — একটি google.maps.LatLngBounds অবজেক্ট যে আয়তক্ষেত্রে সার্চ করতে হবে তা নির্ধারণ করে; বা
      • একটি location এবং একটি radius — আপনি একটি location এবং একটি radius পরামিতি পাস করে একটি নির্দিষ্ট বৃত্তের ফলাফলগুলিকে পক্ষপাতিত্ব করতে পারেন৷ এটি স্থান পরিষেবাকে সেই বৃত্তের মধ্যে ফলাফল দেখানো পছন্দ করার নির্দেশ দেবে৷ নির্ধারিত এলাকার বাইরের ফলাফল এখনও প্রদর্শিত হতে পারে। অবস্থানটি একটি google.maps.LatLng অবজেক্ট নেয়, এবং ব্যাসার্ধটি একটি সাধারণ পূর্ণসংখ্যা নেয়, যা বৃত্তের ব্যাসার্ধকে মিটারে উপস্থাপন করে। সর্বাধিক অনুমোদিত ব্যাসার্ধ 50 000 মিটার।
    • type - নির্দিষ্ট প্রকারের সাথে মেলে এমন জায়গায় ফলাফল সীমাবদ্ধ করে। শুধুমাত্র একটি প্রকার নির্দিষ্ট করা যেতে পারে (যদি একাধিক প্রকার প্রদান করা হয়, প্রথম এন্ট্রি অনুসরণকারী সকল প্রকার উপেক্ষা করা হয়)। সমর্থিত প্রকারের তালিকা দেখুন।

ফলাফল বস্তু এবং একটি google.maps.places.PlacesServiceStatus প্রতিক্রিয়া পরিচালনা করতে আপনাকে অবশ্যই একটি কলব্যাক পদ্ধতি পাঠাতে হবে textSearch() এ।

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

  var request = {
    location: pyrmont,
    radius: '500',
    query: 'restaurant'
  };

  service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      var place = results[i];
      createMarker(results[i]);
    }
  }
}

অনুসন্ধান প্রতিক্রিয়া

স্ট্যাটাস কোড

PlacesServiceStatus রেসপন্স অবজেক্টে অনুরোধের স্ট্যাটাস থাকে এবং কেন জায়গার অনুরোধ ব্যর্থ হয়েছে তা ট্র্যাক করতে সাহায্য করার জন্য ডিবাগিং তথ্য থাকতে পারে। সম্ভাব্য স্থিতি মান হল:

  • INVALID_REQUEST : এই অনুরোধটি অবৈধ ছিল৷
  • OK : প্রতিক্রিয়াটিতে একটি বৈধ ফলাফল রয়েছে।
  • OVER_QUERY_LIMIT : ওয়েবপৃষ্ঠাটি তার অনুরোধের কোটা অতিক্রম করেছে৷
  • REQUEST_DENIED : ওয়েবপৃষ্ঠাটিকে PlacesService ব্যবহার করার অনুমতি নেই৷
  • UNKNOWN_ERROR : একটি সার্ভার ত্রুটির কারণে PlacesService অনুরোধটি প্রক্রিয়া করা যায়নি৷ আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে।
  • ZERO_RESULTS : এই অনুরোধের জন্য কোন ফলাফল পাওয়া যায়নি।

স্থান অনুসন্ধান ফলাফল

findPlace() , nearbySearch() এবং textSearch() ফাংশন PlaceResult অবজেক্টের একটি অ্যারে প্রদান করে।

প্রতিটি PlaceResult অবজেক্টে নিম্নলিখিত বৈশিষ্ট্যগুলি অন্তর্ভুক্ত থাকতে পারে:

  • business_status স্থানটির কর্মক্ষম অবস্থা নির্দেশ করে, যদি এটি একটি ব্যবসা হয়। এতে নিম্নলিখিত মানগুলির মধ্যে একটি থাকতে পারে:
    • OPERATIONAL
    • CLOSED_TEMPORARILY
    • CLOSED_PERMANENTLY
    যদি কোন ডেটা বিদ্যমান না থাকে, business_status ফেরত দেওয়া হয় না।
  • formatted_address হল একটি স্ট্রিং যেখানে এই স্থানের মানুষের-পাঠযোগ্য ঠিকানা রয়েছে। formatted_address প্রপার্টি শুধুমাত্র একটি টেক্সট সার্চের জন্য ফেরত দেওয়া হয়।

    প্রায়শই এই ঠিকানাটি ডাক ঠিকানার সমতুল্য। উল্লেখ্য যে কিছু দেশ, যেমন ইউনাইটেড কিংডম, লাইসেন্সিং বিধিনিষেধের কারণে সত্যিকারের ডাক ঠিকানা বিতরণের অনুমতি দেয় না।

    ফরম্যাট করা ঠিকানা যৌক্তিকভাবে এক বা একাধিক ঠিকানা উপাদান নিয়ে গঠিত। উদাহরণস্বরূপ, ঠিকানা "111 8th Avenue, New York, NY" নিম্নলিখিত উপাদানগুলি নিয়ে গঠিত: "111" (রাস্তার নম্বর), "8th Avenue" (রুট), "New York" (শহর) এবং "NY" "(মার্কিন রাষ্ট্র)।

    ফরম্যাট করা ঠিকানাকে প্রোগ্রাম্যাটিকভাবে পার্স করবেন না। পরিবর্তে আপনার পৃথক ঠিকানা উপাদানগুলি ব্যবহার করা উচিত, যা এপিআই প্রতিক্রিয়া ফর্ম্যাট করা ঠিকানা ক্ষেত্র ছাড়াও অন্তর্ভুক্ত করে।

  • geometry : জায়গার জ্যামিতি-সম্পর্কিত তথ্য। এটা অন্তর্ভুক্ত:
    • location স্থানটির অক্ষাংশ এবং দ্রাঘিমাংশ প্রদান করে।
    • viewport এই জায়গাটি দেখার সময় মানচিত্রে পছন্দের ভিউপোর্টকে সংজ্ঞায়িত করে।
  • permanently_closed ( deprecated ) হল একটি বুলিয়ান পতাকা যা নির্দেশ করে যে জায়গাটি স্থায়ীভাবে বা অস্থায়ীভাবে বন্ধ হয়েছে কিনা (মান true )। permanently_closed ব্যবহার করবেন না। পরিবর্তে, ব্যবসার অপারেশনাল স্ট্যাটাস পেতে business_status ব্যবহার করুন।
  • plus_code ( ওপেন লোকেশন কোড এবং প্লাস কোড দেখুন) হল একটি এনকোড করা অবস্থানের রেফারেন্স, যা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি এলাকাকে প্রতিনিধিত্ব করে: একটি ডিগ্রীর 1/8000 তম ডিগ্রী 1/8000 তম (বিষুব রেখায় প্রায় 14 মি x 14 মি) বা ছোট। প্লাস কোডগুলি এমন জায়গায় রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি)।

    প্লাস কোডটি একটি গ্লোবাল কোড এবং একটি যৌগিক কোড হিসাবে ফর্ম্যাট করা হয়েছে:

    • global_code হল একটি 4 অক্ষরের এলাকা কোড এবং 6 অক্ষর বা দীর্ঘ স্থানীয় কোড (849VCWC8+R9)।
    • compound_code হল একটি 6 অক্ষর বা দীর্ঘ স্থানীয় কোড যার একটি স্পষ্ট অবস্থান (CWC8+R9, Mountain View, CA, USA)৷ প্রোগ্রাম্যাটিকভাবে এই বিষয়বস্তু পার্স করবেন না।
    সাধারণত, গ্লোবাল কোড এবং যৌগিক কোড উভয়ই ফেরত দেওয়া হয়। যাইহোক, যদি ফলাফলটি দূরবর্তী অবস্থানে থাকে (উদাহরণস্বরূপ, একটি মহাসাগর বা মরুভূমি) শুধুমাত্র বিশ্বব্যাপী কোড ফেরত দেওয়া যেতে পারে।
  • html_attributions : অ্যাট্রিবিউশনের একটি অ্যারে যা আপনাকে সার্চ ফলাফল প্রদর্শন করার সময় প্রদর্শন করা উচিত। অ্যারের প্রতিটি এন্ট্রিতে একটি একক অ্যাট্রিবিউশনের জন্য HTML পাঠ্য রয়েছে। দ্রষ্টব্য: এটি সমগ্র অনুসন্ধান প্রতিক্রিয়ার জন্য সমস্ত বৈশিষ্ট্যের সমষ্টি। প্রতিক্রিয়ার সমস্ত PlaceResult অবজেক্টে তাই অভিন্ন অ্যাট্রিবিউশন তালিকা রয়েছে।
  • icon একটি রঙিন 71px x 71px PNG আইকনের URL প্রদান করে।
  • icon_mask_base_uri একটি নন-রঙ্গিন আইকনের জন্য বেস URL প্রদান করে, .svg বা .png এক্সটেনশন বিয়োগ করে।
  • icon_background_color স্থানের বিভাগের জন্য ডিফল্ট HEX রঙের কোড প্রদান করে।
  • name : জায়গার নাম।
  • opening_hours নিম্নলিখিত তথ্য থাকতে পারে:
    • open_now একটি বুলিয়ান মান যা নির্দেশ করে যে স্থানটি বর্তমান সময়ে খোলা আছে কিনা (স্থান লাইব্রেরিতে অবচয় , মানচিত্র জাভাস্ক্রিপ্ট API, পরিবর্তে utc_offset_minutes ব্যবহার করুন)।
  • place_id হল একটি টেক্সচুয়াল আইডেন্টিফায়ার যা একটি স্থানকে অনন্যভাবে চিহ্নিত করে। স্থান সম্পর্কে তথ্য পুনরুদ্ধার করতে, স্থানের বিবরণ অনুরোধে এই শনাক্তকারীকে পাস করুন। একটি স্থান আইডি সহ একটি স্থানকে কীভাবে উল্লেখ করতে হয় সে সম্পর্কে আরও জানুন।
  • rating স্থানের রেটিং রয়েছে, 0.0 থেকে 5.0 পর্যন্ত, সমষ্টিগত ব্যবহারকারীর পর্যালোচনার উপর ভিত্তি করে।
  • types এই স্থানের জন্য প্রকারের একটি বিন্যাস (যেমন, ["political", "locality"] বা ["restaurant", "lodging"] )। এই অ্যারেতে একাধিক মান থাকতে পারে বা খালি হতে পারে। পূর্ব বিজ্ঞপ্তি ছাড়াই নতুন মান চালু করা যেতে পারে। সমর্থিত প্রকারের তালিকা দেখুন।
  • vicinity : রাস্তার নাম, রাস্তার নম্বর এবং এলাকা সহ স্থানের জন্য একটি সরলীকৃত ঠিকানা, কিন্তু প্রদেশ/রাজ্য, পোস্টাল কোড বা দেশ নয়। উদাহরণস্বরূপ, গুগলের সিডনি, অস্ট্রেলিয়া অফিসের vicinity মান রয়েছে 5/48 Pirrama Road, Pyrmont

অতিরিক্ত ফলাফল অ্যাক্সেস করা

ডিফল্টরূপে, প্রতিটি স্থান অনুসন্ধান প্রতিটি ক্যোয়ারীতে 20টি পর্যন্ত ফলাফল প্রদান করে। যাইহোক, প্রতিটি অনুসন্ধান তিনটি পৃষ্ঠা জুড়ে বিভক্ত 60টি ফলাফল দিতে পারে। PlaceSearchPagination অবজেক্টের মাধ্যমে অতিরিক্ত পৃষ্ঠা পাওয়া যায়। অতিরিক্ত পৃষ্ঠাগুলি অ্যাক্সেস করার জন্য আপনাকে অবশ্যই একটি কলব্যাক ফাংশনের মাধ্যমে PlaceSearchPagination অবজেক্টটি ক্যাপচার করতে হবে। PlaceSearchPagination অবজেক্টকে এভাবে সংজ্ঞায়িত করা হয়েছে:

  • hasNextPage একটি বুলিয়ান সম্পত্তি যা নির্দেশ করে যদি আরও ফলাফল পাওয়া যায়। true যখন একটি অতিরিক্ত ফলাফল পৃষ্ঠা আছে.
  • nextPage() একটি ফাংশন যা ফলাফলের পরবর্তী সেট ফিরিয়ে দেবে। একটি অনুসন্ধান চালানোর পরে, ফলাফলের পরবর্তী পৃষ্ঠাটি উপলব্ধ হওয়ার আগে আপনাকে অবশ্যই দুই সেকেন্ড অপেক্ষা করতে হবে।

ফলাফলের পরবর্তী সেট দেখতে, nextPage কল করুন। ফলাফলের পরবর্তী পৃষ্ঠা প্রদর্শনের আগে ফলাফলের প্রতিটি পৃষ্ঠা অবশ্যই প্রদর্শিত হবে। মনে রাখবেন যে প্রতিটি অনুসন্ধান আপনার ব্যবহারের সীমার বিপরীতে একক অনুরোধ হিসাবে গণনা করে।

নীচের উদাহরণটি দেখায় যে কিভাবে আপনার কলব্যাক ফাংশন পরিবর্তন করতে হয় PlaceSearchPagination অবজেক্ট ক্যাপচার করতে, যাতে আপনি একাধিক অনুসন্ধানের অনুরোধ ইস্যু করতে পারেন।

টাইপস্ক্রিপ্ট

// This example requires the Places library. Include the libraries=places
// parameter when you first load the API. For example:
// <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">

function initMap(): void {
  // Create the map.
  const pyrmont = { lat: -33.866, lng: 151.196 };
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      center: pyrmont,
      zoom: 17,
      mapId: "8d193001f940fde3",
    } as google.maps.MapOptions
  );

  // Create the places service.
  const service = new google.maps.places.PlacesService(map);
  let getNextPage: () => void | false;
  const moreButton = document.getElementById("more") as HTMLButtonElement;

  moreButton.onclick = function () {
    moreButton.disabled = true;

    if (getNextPage) {
      getNextPage();
    }
  };

  // Perform a nearby search.
  service.nearbySearch(
    { location: pyrmont, radius: 500, type: "store" },
    (
      results: google.maps.places.PlaceResult[] | null,
      status: google.maps.places.PlacesServiceStatus,
      pagination: google.maps.places.PlaceSearchPagination | null
    ) => {
      if (status !== "OK" || !results) return;

      addPlaces(results, map);
      moreButton.disabled = !pagination || !pagination.hasNextPage;

      if (pagination && pagination.hasNextPage) {
        getNextPage = () => {
          // Note: nextPage will call the same handler function as the initial call
          pagination.nextPage();
        };
      }
    }
  );
}

function addPlaces(
  places: google.maps.places.PlaceResult[],
  map: google.maps.Map
) {
  const placesList = document.getElementById("places") as HTMLElement;

  for (const place of places) {
    if (place.geometry && place.geometry.location) {
      const image = {
        url: place.icon!,
        size: new google.maps.Size(71, 71),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(17, 34),
        scaledSize: new google.maps.Size(25, 25),
      };

      new google.maps.Marker({
        map,
        icon: image,
        title: place.name!,
        position: place.geometry.location,
      });

      const li = document.createElement("li");

      li.textContent = place.name!;
      placesList.appendChild(li);

      li.addEventListener("click", () => {
        map.setCenter(place.geometry!.location!);
      });
    }
  }
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

জাভাস্ক্রিপ্ট

// This example requires the Places library. Include the libraries=places
// parameter when you first load the API. For example:
// <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">
function initMap() {
  // Create the map.
  const pyrmont = { lat: -33.866, lng: 151.196 };
  const map = new google.maps.Map(document.getElementById("map"), {
    center: pyrmont,
    zoom: 17,
    mapId: "8d193001f940fde3",
  });
  // Create the places service.
  const service = new google.maps.places.PlacesService(map);
  let getNextPage;
  const moreButton = document.getElementById("more");

  moreButton.onclick = function () {
    moreButton.disabled = true;
    if (getNextPage) {
      getNextPage();
    }
  };

  // Perform a nearby search.
  service.nearbySearch(
    { location: pyrmont, radius: 500, type: "store" },
    (results, status, pagination) => {
      if (status !== "OK" || !results) return;

      addPlaces(results, map);
      moreButton.disabled = !pagination || !pagination.hasNextPage;
      if (pagination && pagination.hasNextPage) {
        getNextPage = () => {
          // Note: nextPage will call the same handler function as the initial call
          pagination.nextPage();
        };
      }
    },
  );
}

function addPlaces(places, map) {
  const placesList = document.getElementById("places");

  for (const place of places) {
    if (place.geometry && place.geometry.location) {
      const image = {
        url: place.icon,
        size: new google.maps.Size(71, 71),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(17, 34),
        scaledSize: new google.maps.Size(25, 25),
      };

      new google.maps.Marker({
        map,
        icon: image,
        title: place.name,
        position: place.geometry.location,
      });

      const li = document.createElement("li");

      li.textContent = place.name;
      placesList.appendChild(li);
      li.addEventListener("click", () => {
        map.setCenter(place.geometry.location);
      });
    }
  }
}

window.initMap = initMap;
উদাহরণ দেখুন

নমুনা চেষ্টা করুন

স্থান বিবরণ

একটি এলাকার মধ্যে স্থানগুলির একটি তালিকা প্রদান করার পাশাপাশি, স্থান পরিষেবা একটি নির্দিষ্ট স্থান সম্পর্কে বিস্তারিত তথ্যও ফেরত দিতে পারে। একবার একটি স্থান অনুসন্ধানের প্রতিক্রিয়ায় একটি স্থান ফেরত দেওয়া হলে, তার স্থান আইডিটি সেই স্থান সম্পর্কে অতিরিক্ত বিবরণের অনুরোধ করতে ব্যবহার করা যেতে পারে, যেমন তার সম্পূর্ণ ঠিকানা, ফোন নম্বর, ব্যবহারকারীর রেটিং এবং পর্যালোচনা ইত্যাদি।

স্থান বিবরণ অনুরোধ

পরিষেবার getDetails() পদ্ধতিতে কল করে স্থানের বিবরণের জন্য অনুরোধ করা হয়েছে।

service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);

এই পদ্ধতিটি একটি অনুরোধ নেয়, যার মধ্যে পছন্দসই স্থানের placeId , এবং কোন ধরনের স্থানের ডেটা ফেরত দিতে হবে তা নির্দেশ করে। একটি স্থান আইডি সহ একটি স্থানকে কীভাবে উল্লেখ করতে হয় সে সম্পর্কে আরও জানুন।

এটি একটি কলব্যাক পদ্ধতিও নেয়, যা google.maps.places.PlacesServiceStatus প্রতিক্রিয়ার পাশাপাশি google.maps.places.PlaceResult অবজেক্টে পাস করা স্ট্যাটাস কোডটি পরিচালনা করতে হবে।

var request = {
  placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4',
  fields: ['name', 'rating', 'formatted_phone_number', 'geometry']
};

service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);

function callback(place, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    createMarker(place);
  }
}

উদাহরণ দেখুন

ক্ষেত্র (স্থানের বিবরণ)

fields পরামিতি স্ট্রিংগুলির একটি অ্যারে (ক্ষেত্রের নাম) নেয়।

প্রত্যাবর্তনের জন্য স্থানের ডেটা প্রকারের একটি অ্যারে নির্দিষ্ট করতে fields পরামিতি ব্যবহার করুন। যেমন: fields: ['address_components', 'opening_hours', 'geometry'] । যৌগিক মান নির্দিষ্ট করার সময় একটি বিন্দু ব্যবহার করুন। যেমন: opening_hours.weekday_text

ক্ষেত্রগুলি স্থানের বিশদ ফলাফলের সাথে সঙ্গতিপূর্ণ, এবং তিনটি বিলিং বিভাগে বিভক্ত: মৌলিক, যোগাযোগ এবং বায়ুমণ্ডল৷ বেসিক ফিল্ড বেস রেটে বিল করা হয়, এবং কোন অতিরিক্ত চার্জ লাগে না। যোগাযোগ এবং বায়ুমণ্ডল ক্ষেত্র একটি উচ্চ হারে বিল করা হয়. আরো তথ্যের জন্য মূল্য শীট দেখুন. অ্যাট্রিবিউশন ( html_attributions ) সবসময় প্রতিটি কলের সাথে ফেরত দেওয়া হয়, এটি অনুরোধ করা হয়েছে কিনা তা নির্বিশেষে।

মৌলিক

মৌলিক বিভাগে নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:
address_components , adr_address , business_status , formatted_address , geometry , icon , icon_mask_base_uri , icon_background_color , name , permanently_closed closed ( অপ্রচলিত ), photo , place_id , plus_code , type , utc_offset , url টাইপ t API), utc_offset_minutes , vicinity

যোগাযোগ

যোগাযোগের বিভাগে নিম্নলিখিত ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:
formatted_phone_number , international_phone_number , opening_hours , website

বায়ুমণ্ডল

বায়ুমণ্ডল বিভাগে নিম্নলিখিত ক্ষেত্রগুলি রয়েছে: price_level , rating , reviews , user_ratings_total

স্থান ক্ষেত্র সম্পর্কে আরো জানুন. স্থান ডেটার অনুরোধগুলি কীভাবে বিল করা হয় সে সম্পর্কে আরও তথ্যের জন্য, ব্যবহার এবং বিলিং দেখুন।

স্থান বিবরণ প্রতিক্রিয়া

স্ট্যাটাস কোড

PlacesServiceStatus প্রতিক্রিয়া অবজেক্টে অনুরোধের স্থিতি রয়েছে এবং কেন স্থানের বিবরণের অনুরোধ ব্যর্থ হয়েছে তা ট্র্যাক করতে সাহায্য করার জন্য ডিবাগিং তথ্য থাকতে পারে। সম্ভাব্য স্থিতি মান হল:

  • INVALID_REQUEST : এই অনুরোধটি অবৈধ ছিল৷
  • OK : প্রতিক্রিয়াটিতে একটি বৈধ ফলাফল রয়েছে।
  • OVER_QUERY_LIMIT : ওয়েবপৃষ্ঠাটি তার অনুরোধের কোটা অতিক্রম করেছে৷
  • NOT_FOUND স্থান ডেটাবেসে উল্লেখিত অবস্থানটি পাওয়া যায়নি৷
  • REQUEST_DENIED : ওয়েবপৃষ্ঠাটিকে PlacesService ব্যবহার করার অনুমতি নেই৷
  • UNKNOWN_ERROR : একটি সার্ভার ত্রুটির কারণে PlacesService অনুরোধটি প্রক্রিয়া করা যায়নি৷ আপনি আবার চেষ্টা করলে অনুরোধ সফল হতে পারে।
  • ZERO_RESULTS : এই অনুরোধের জন্য কোন ফলাফল পাওয়া যায়নি।

স্থান বিবরণ ফলাফল

একটি সফল getDetails() কল নিম্নলিখিত বৈশিষ্ট্য সহ একটি PlaceResult অবজেক্ট প্রদান করে:

  • address_components : এই ঠিকানায় প্রযোজ্য পৃথক উপাদান ধারণকারী একটি অ্যারে।

    প্রতিটি ঠিকানা উপাদান সাধারণত নিম্নলিখিত ক্ষেত্র ধারণ করে:

    • types[] একটি অ্যারে যা ঠিকানা উপাদানের ধরন নির্দেশ করে। সমর্থিত প্রকারের তালিকা দেখুন।
    • long_name হল জিওকোডার দ্বারা প্রত্যাবর্তিত ঠিকানা উপাদানটির সম্পূর্ণ পাঠ্য বিবরণ বা নাম।
    • short_name হল ঠিকানা উপাদানের জন্য একটি সংক্ষিপ্ত পাঠ্য নাম, যদি উপলব্ধ থাকে। উদাহরণস্বরূপ, আলাস্কা রাজ্যের একটি ঠিকানা উপাদানে 2-অক্ষরের ডাক সংক্ষেপ ব্যবহার করে "আলাস্কা" এর একটি long_name এবং "AK" এর একটি short_name থাকতে পারে।

    address_components[] অ্যারে সম্পর্কে নিম্নলিখিত তথ্যগুলি নোট করুন:

    • ঠিকানা উপাদানগুলির বিন্যাসে formatted_address চেয়ে বেশি উপাদান থাকতে পারে।
    • বিন্যাসে অগত্যা সমস্ত রাজনৈতিক সত্ত্বাকে অন্তর্ভুক্ত করে না যেগুলির মধ্যে একটি ঠিকানা রয়েছে, formatted_address এ অন্তর্ভুক্ত থাকা ছাড়া। একটি নির্দিষ্ট ঠিকানা রয়েছে এমন সমস্ত রাজনৈতিক সত্তা পুনরুদ্ধার করতে, আপনাকে অনুরোধের পরামিতি হিসাবে ঠিকানাটির অক্ষাংশ/দ্রাঘিমাংশ পাস করে বিপরীত জিওকোডিং ব্যবহার করা উচিত।
    • অনুরোধের মধ্যে প্রতিক্রিয়ার বিন্যাস একই থাকার নিশ্চয়তা দেওয়া হয় না। বিশেষ করে, address_components সংখ্যা অনুরোধ করা ঠিকানার উপর ভিত্তি করে পরিবর্তিত হয় এবং একই ঠিকানার জন্য সময়ের সাথে সাথে পরিবর্তন হতে পারে। একটি উপাদান অ্যারে অবস্থান পরিবর্তন করতে পারেন. উপাদানের ধরন পরিবর্তন হতে পারে। পরবর্তী প্রতিক্রিয়ায় একটি নির্দিষ্ট উপাদান অনুপস্থিত হতে পারে।
  • business_status স্থানটির কর্মক্ষম অবস্থা নির্দেশ করে, যদি এটি একটি ব্যবসা হয়। এতে নিম্নলিখিত মানগুলির মধ্যে একটি থাকতে পারে:
    • OPERATIONAL
    • CLOSED_TEMPORARILY
    • CLOSED_PERMANENTLY
    যদি কোন ডেটা বিদ্যমান না থাকে, business_status ফেরত দেওয়া হয় না।
  • formatted_address : এই জায়গাটির মানুষের পঠনযোগ্য ঠিকানা।

    প্রায়শই এই ঠিকানাটি ডাক ঠিকানার সমতুল্য। উল্লেখ্য যে কিছু দেশ, যেমন ইউনাইটেড কিংডম, লাইসেন্সিং বিধিনিষেধের কারণে সত্যিকারের ডাক ঠিকানা বিতরণের অনুমতি দেয় না।

    ফরম্যাট করা ঠিকানা যৌক্তিকভাবে এক বা একাধিক ঠিকানা উপাদান নিয়ে গঠিত। উদাহরণস্বরূপ, ঠিকানা "111 8th Avenue, New York, NY" নিম্নলিখিত উপাদানগুলি নিয়ে গঠিত: "111" (রাস্তার নম্বর), "8th Avenue" (রুট), "New York" (শহর) এবং "NY" "(মার্কিন রাষ্ট্র)।

    ফরম্যাট করা ঠিকানাকে প্রোগ্রাম্যাটিকভাবে পার্স করবেন না। পরিবর্তে আপনার পৃথক ঠিকানা উপাদানগুলি ব্যবহার করা উচিত, যা এপিআই প্রতিক্রিয়া ফর্ম্যাট করা ঠিকানা ক্ষেত্র ছাড়াও অন্তর্ভুক্ত করে।

  • formatted_phone_number : জায়গার ফোন নম্বর, নম্বরের আঞ্চলিক রীতি অনুযায়ী ফর্ম্যাট করা হয়েছে।
  • geometry : জায়গার জ্যামিতি-সম্পর্কিত তথ্য। এটা অন্তর্ভুক্ত:
    • location স্থানটির অক্ষাংশ এবং দ্রাঘিমাংশ প্রদান করে।
    • viewport এই জায়গাটি দেখার সময় মানচিত্রে পছন্দের ভিউপোর্টকে সংজ্ঞায়িত করে।
  • permanently_closed ( deprecated ) হল একটি বুলিয়ান পতাকা যা নির্দেশ করে যে জায়গাটি স্থায়ীভাবে বা অস্থায়ীভাবে বন্ধ হয়েছে কিনা (মান true )। permanently_closed ব্যবহার করবেন না। পরিবর্তে, ব্যবসার অপারেশনাল স্ট্যাটাস পেতে business_status ব্যবহার করুন।
  • plus_code ( ওপেন লোকেশন কোড এবং প্লাস কোড দেখুন) হল একটি এনকোড করা অবস্থানের রেফারেন্স, যা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক থেকে প্রাপ্ত, যা একটি এলাকাকে প্রতিনিধিত্ব করে: একটি ডিগ্রীর 1/8000 তম ডিগ্রী 1/8000 তম (বিষুব রেখায় প্রায় 14 মি x 14 মি) বা ছোট। প্লাস কোডগুলি এমন জায়গায় রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি)।

    প্লাস কোডটি একটি গ্লোবাল কোড এবং একটি যৌগিক কোড হিসাবে ফর্ম্যাট করা হয়েছে:

    • global_code হল একটি 4 অক্ষরের এলাকা কোড এবং 6 অক্ষর বা দীর্ঘ স্থানীয় কোড (849VCWC8+R9)।
    • compound_code হল একটি 6 অক্ষর বা দীর্ঘ স্থানীয় কোড যার একটি স্পষ্ট অবস্থান (CWC8+R9, Mountain View, CA, USA)৷ প্রোগ্রাম্যাটিকভাবে এই বিষয়বস্তু পার্স করবেন না।
    সাধারণত, গ্লোবাল কোড এবং যৌগিক কোড উভয়ই ফেরত দেওয়া হয়। যাইহোক, যদি ফলাফলটি দূরবর্তী অবস্থানে থাকে (উদাহরণস্বরূপ, একটি মহাসাগর বা মরুভূমি) শুধুমাত্র বিশ্বব্যাপী কোড ফেরত দেওয়া যেতে পারে।
  • html_attributions : এই স্থানের ফলাফলের জন্য অ্যাট্রিবিউশন টেক্সট দেখানো হবে।
  • icon : একটি ইমেজ রিসোর্সের URL যা এই জায়গার ধরনকে উপস্থাপন করতে ব্যবহার করা যেতে পারে।
  • international_phone_number আন্তর্জাতিক বিন্যাসে স্থানটির ফোন নম্বর রয়েছে। আন্তর্জাতিক বিন্যাসে দেশের কোড অন্তর্ভুক্ত থাকে এবং প্লাস (+) চিহ্নের সাথে উপসর্গ থাকে। উদাহরণস্বরূপ, Google-এর সিডনি, অস্ট্রেলিয়া অফিসের international_phone_number হল +61 2 9374 4000
  • name : জায়গার নাম।
  • utc_offset স্থান লাইব্রেরিতে অবচিত , মানচিত্র জাভাস্ক্রিপ্ট API, পরিবর্তে utc_offset_minutes ব্যবহার করুন।
  • utc_offset_minutes এই স্থানটির বর্তমান টাইমজোন UTC থেকে অফসেট করা মিনিটের সংখ্যা রয়েছে৷ উদাহরণ স্বরূপ, অস্ট্রেলিয়ার সিডনিতে দিনের আলো সংরক্ষণের সময় এটি হবে 660 (UTC থেকে +11 ঘন্টা), এবং ক্যালিফোর্নিয়ার স্থানগুলির জন্য দিবালোক সংরক্ষণ সময়ের বাইরে এটি হবে -480 (UTC থেকে -8 ঘন্টা)।
  • opening_hours নিম্নলিখিত তথ্য রয়েছে:
    • open_now ( প্লেসেস লাইব্রেরি, ম্যাপ জাভাস্ক্রিপ্ট এপিআই-এ অপ্রচলিত ; পরিবর্তে opening_hours.isOpen() ব্যবহার করুন। প্লেস বিশদ সহ isOpen কীভাবে ব্যবহার করবেন তা এই ভিডিওটি দেখুন।) একটি বুলিয়ান মান নির্দেশ করে যে স্থানটি বর্তমান সময়ে খোলা আছে কিনা।
    • periods[] হল একটি খোলার সময়কালের একটি অ্যারে যা সাত দিন জুড়ে, রবিবার থেকে শুরু হয়, কালানুক্রমিক ক্রমে। প্রতিটি সময়ের মধ্যে রয়েছে:
      • open মধ্যে দিন এবং সময়ের বস্তুর একটি জোড়া থাকে যেখানে স্থানটি কখন খোলা হয় তা বর্ণনা করে:
        • day একটি সংখ্যা 0-6 থেকে, সপ্তাহের দিনগুলির সাথে সম্পর্কিত, রবিবার থেকে শুরু হয়৷ উদাহরণস্বরূপ, 2 মানে মঙ্গলবার।
        • time মধ্যে 24-ঘন্টা hhmm ফর্ম্যাটে দিনের একটি সময় থাকতে পারে (মানগুলি 0000-2359 সীমার মধ্যে)। time স্থানের টাইমজোনে রিপোর্ট করা হবে.
      • close দিন এবং সময়ের বস্তুর একটি জোড়া থাকতে পারে যেখানে স্থানটি বন্ধ হয়ে যায়। দ্রষ্টব্য: যদি একটি স্থান সর্বদা খোলা থাকে, তাহলে প্রতিক্রিয়া থেকে close অংশটি অনুপস্থিত থাকবে। অ্যাপ্লিকেশানগুলি সর্বদা খোলার উপর নির্ভর করতে পারে একটি open সময় হিসাবে উপস্থাপিত হচ্ছে যেখানে 0 মান সহ day এবং 0000 মান সহ time , এবং কোন close নেই।
    • weekday_text হল সাতটি স্ট্রিংয়ের একটি অ্যারে যা সপ্তাহের প্রতিটি দিনের জন্য ফরম্যাট খোলার সময় উপস্থাপন করে। স্থানের বিশদ বিবরণের অনুরোধে যদি একটি language প্যারামিটার নির্দিষ্ট করা হয়, তাহলে স্থান পরিষেবা সেই ভাষার জন্য খোলার সময় যথাযথভাবে বিন্যাস করবে এবং স্থানীয়করণ করবে। এই অ্যারের উপাদানগুলির ক্রম language প্যারামিটারের উপর নির্ভর করে। কিছু ভাষা সপ্তাহ শুরু হয় সোমবারে আবার কিছু ভাষা শুরু হয় রবিবারে।
  • permanently_closed ( অবমূল্যায়িত ) একটি বুলিয়ান পতাকা যা নির্দেশ করে যে জায়গাটি স্থায়ীভাবে বা অস্থায়ীভাবে বন্ধ হয়ে গেছে কিনা (মূল্য true )। permanently_closed ব্যবহার করবেন না। পরিবর্তে, ব্যবসায়ের অপারেশনাল স্ট্যাটাস পেতে business_status ব্যবহার করুন।
  • photos[] : PlacePhoto অবজেক্টগুলির একটি অ্যারে। getUrl() পদ্ধতিতে একটি ফটো পেতে একটি PlacePhoto ব্যবহার করা যেতে পারে, বা আপনি নিম্নলিখিত মানগুলির জন্য অবজেক্টটি পরিদর্শন করতে পারেন:
    • height : পিক্সেলগুলিতে চিত্রের সর্বাধিক উচ্চতা।
    • width : পিক্সেলগুলিতে চিত্রের সর্বাধিক প্রস্থ।
    • html_attributions : এই জায়গার ফটো সহ প্রদর্শিত হবে অ্যাট্রিবিউশন পাঠ্য।
  • place_id : একটি পাঠ্য শনাক্তকারী যা কোনও স্থানকে অনন্যভাবে চিহ্নিত করে এবং স্থানের বিশদ অনুরোধের মাধ্যমে স্থান সম্পর্কে তথ্য পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে। কোনও স্থান আইডি সহ কোনও জায়গা কীভাবে রেফারেন্স করবেন সে সম্পর্কে আরও জানুন।
  • rating : সমষ্টিগত ব্যবহারকারী পর্যালোচনার ভিত্তিতে 0.0 থেকে 5.0 পর্যন্ত স্থানটির রেটিং।
  • পাঁচটি পর্যন্ত পর্যালোচনার একটি অ্যারে reviews । প্রতিটি পর্যালোচনা বিভিন্ন উপাদান নিয়ে গঠিত:
    • aspects[] PlaceAspectRating অবজেক্টগুলির একটি অ্যারে রয়েছে, যার প্রতিটি প্রতিষ্ঠানের একক বৈশিষ্ট্যের একটি রেটিং সরবরাহ করে। অ্যারেতে প্রথম অবজেক্টটিকে প্রাথমিক দিক হিসাবে বিবেচনা করা হয়। প্রতিটি PlaceAspectRating হিসাবে সংজ্ঞায়িত করা হয়:
      • যে দিকটি রেট করা হচ্ছে তার নাম type । নিম্নলিখিত প্রকারগুলি সমর্থিত: appeal , atmosphere , decor , facilities , food , overall , quality এবং service
      • 0 থেকে 3 পর্যন্ত এই বিশেষ দিকটির জন্য ব্যবহারকারীর রেটিং rating
    • author_name যে ব্যবহারকারীর নাম পর্যালোচনা জমা দিয়েছেন। বেনামে পর্যালোচনাগুলি "একটি গুগল ব্যবহারকারী" কে দায়ী করা হয়। যদি কোনও ভাষার প্যারামিটার সেট করা থাকে, তবে "একটি গুগল ব্যবহারকারী" শব্দটি স্থানীয়করণের স্ট্রিংটি ফিরিয়ে দেবে।
    • author_url ইউআরএল ব্যবহারকারীদের Google+ প্রোফাইলে, যদি পাওয়া যায় তবে।
    • language একটি আইইটিএফ ভাষা কোড ব্যবহারকারীর পর্যালোচনাতে ব্যবহৃত ভাষাটি নির্দেশ করে। এই ক্ষেত্রটিতে কেবল প্রধান ভাষা ট্যাগ রয়েছে, এবং দেশ বা অঞ্চলকে নির্দেশকারী গৌণ ট্যাগ নয়। উদাহরণস্বরূপ, সমস্ত ইংরেজী পর্যালোচনাগুলি 'এন' হিসাবে ট্যাগ করা হয়েছে, এবং 'এন-আউ' বা 'এন-ইউকে' এবং অন্যরকম নয়।
    • এই জায়গার জন্য ব্যবহারকারীর সামগ্রিক রেটিং rating । এটি 1 থেকে 5 অবধি পুরো সংখ্যা।
    • ব্যবহারকারীর পর্যালোচনা text । গুগল স্থানগুলির সাথে কোনও অবস্থান পর্যালোচনা করার সময়, পাঠ্য পর্যালোচনাগুলি al চ্ছিক হিসাবে বিবেচিত হয়; অতএব, এই ক্ষেত্রটি খালি দ্বারা হতে পারে।
  • এই জায়গার জন্য প্রকারের একটি অ্যারে types (যেমন, ["political", "locality"] বা ["restaurant", "lodging"] )। এই অ্যারে একাধিক মান থাকতে পারে বা খালি থাকতে পারে। পূর্বের বিজ্ঞপ্তি ছাড়াই নতুন মানগুলি চালু করা যেতে পারে। সমর্থিত ধরণের তালিকা দেখুন।
  • url : এই জায়গার জন্য অফিসিয়াল গুগল পৃষ্ঠার ইউআরএল। এটি গুগল-মালিকানাধীন পৃষ্ঠা যা জায়গা সম্পর্কে সর্বোত্তম উপলব্ধ তথ্য ধারণ করে। অ্যাপ্লিকেশনগুলিকে অবশ্যই এই পৃষ্ঠায় লিঙ্ক বা এম্বেড করতে হবে এমন কোনও স্ক্রিনে এম্বেড করতে হবে যা ব্যবহারকারীর কাছে জায়গা সম্পর্কে বিশদ ফলাফল দেখায়।
  • vicinity : রাস্তার নাম, রাস্তার নম্বর এবং লোকেশন সহ জায়গাটির জন্য একটি সরল ঠিকানা, তবে প্রদেশ/রাজ্য, ডাক কোড বা দেশ নয়। উদাহরণস্বরূপ, গুগলের সিডনি, অস্ট্রেলিয়া অফিসে 5/48 Pirrama Road, Pyrmont একটি vicinity মান রয়েছে। vicinity সম্পত্তিটি কেবল কাছের অনুসন্ধানের জন্য ফিরে আসে।
  • website এই জায়গার জন্য অনুমোদিত ওয়েবসাইট যেমন ব্যবসায়ের হোমপেজের তালিকা করে।

দ্রষ্টব্য: বহুমাত্রিক রেটিং সমস্ত অবস্থানের জন্য উপলব্ধ নাও হতে পারে। যদি খুব কম পর্যালোচনা থাকে তবে বিশদ প্রতিক্রিয়াতে হয় 0.0 থেকে 5.0 স্কেল (যদি উপলভ্য হয়) বা কোনও রেটিং মোটেই কোনও উত্তরাধিকারী রেটিং অন্তর্ভুক্ত থাকবে।

স্থান ওভারভিউ উপাদানটি ব্যবহার করুন

দ্রষ্টব্য: এই নমুনাটি একটি ওপেন সোর্স লাইব্রেরি ব্যবহার করে। লাইব্রেরি সম্পর্কিত সমর্থন এবং প্রতিক্রিয়া জন্য README দেখুন।

ওয়েব উপাদান চেষ্টা করুন। ভিজ্যুয়াল উপস্থাপনা সহ স্থান বিশদ পেতে স্থান ওভারভিউ ওয়েব উপাদানটি ব্যবহার করুন।

ব্যবহারকারীর দ্বারা প্রবেশ করা আকারের ক্ষেত্রের উপর ভিত্তি করে প্রদর্শিত স্থান ওভারভিউ উপাদানটির এক্স-ছোট, ছোট, মাঝারি, বৃহত এবং এক্স-লার্জ আকারের বিভিন্নতা প্রদর্শন চিত্র।
চিত্র 1: পাঁচটি পৃথক আকারের বৈচিত্র সহ বিশদ তথ্য রাখুন

একটি স্থান আইডি সঙ্গে একটি জায়গা উল্লেখ করা

একটি প্লেস আইডি একটি গুগল মানচিত্রে একটি জায়গার একটি অনন্য রেফারেন্স। ব্যবসায়ের, ল্যান্ডমার্কস, পার্ক এবং ছেদগুলি সহ বেশিরভাগ অবস্থানের জন্য প্লেস আইডি উপলব্ধ।

আপনার অ্যাপ্লিকেশনটিতে একটি প্লেস আইডি ব্যবহার করতে আপনাকে প্রথমে আইডিটি সন্ধান করতে হবে, যা কোনও স্থান অনুসন্ধান বা বিশদ অনুরোধের PlaceResult উপলব্ধ। তারপরে আপনি জায়গার বিশদটি সন্ধান করতে এই জায়গা আইডি ব্যবহার করতে পারেন।

গুগল ম্যাপস প্ল্যাটফর্মের পরিষেবার শর্তাদি বিভাগের ৩.২.৩ (খ) বিভাগে বর্ণিত ক্যাচিং নিষেধাজ্ঞাগুলি থেকে স্থান আইডিগুলি অব্যাহতিপ্রাপ্ত । অতএব আপনি পরে ব্যবহারের জন্য স্থান আইডি মানগুলি সঞ্চয় করতে পারেন। স্থান আইডি সংরক্ষণ করার সময় সেরা অনুশীলনের জন্য, প্লেস আইডি ওভারভিউ দেখুন।

var map;

function initialize() {
  // Create a map centered in Pyrmont, Sydney (Australia).
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -33.8666, lng: 151.1958},
    zoom: 15
  });

  // Search for Google's office in Australia.
  var request = {
    location: map.getCenter(),
    radius: '500',
    query: 'Google Sydney'
  };

  var service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

// Checks that the PlacesServiceStatus is OK, and adds a marker
// using the place ID and location from the PlacesService.
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    var marker = new google.maps.Marker({
      map: map,
      place: {
        placeId: results[0].place_id,
        location: results[0].geometry.location
      }
    });
  }
}

google.maps.event.addDomListener(window, 'load', initialize);

ফটো রাখুন

স্থান ফটো বৈশিষ্ট্য আপনাকে আপনার সাইটে উচ্চ মানের ফটোগ্রাফিক সামগ্রী যুক্ত করতে দেয়। ফটো পরিষেবাটি আপনাকে জায়গাগুলিতে সঞ্চিত কয়েক মিলিয়ন ফটো এবং Google+ স্থানীয় ডাটাবেসে অ্যাক্সেস দেয়। আপনি যখন কোনও স্থানের বিশদ অনুরোধ ব্যবহার করে স্থান তথ্য পাবেন, প্রাসঙ্গিক ফটোগ্রাফিক সামগ্রীর জন্য ফটো রেফারেন্সগুলি ফিরে আসবে। কাছাকাছি অনুসন্ধান এবং পাঠ্য অনুসন্ধানের অনুরোধগুলি প্রাসঙ্গিক হলে, প্রতি একক ফটো রেফারেন্সও ফেরত দেয়। ফটো পরিষেবাটি ব্যবহার করে আপনি তারপরে রেফারেন্সযুক্ত ফটোগুলি অ্যাক্সেস করতে পারেন এবং আপনার অ্যাপ্লিকেশনটির জন্য সর্বোত্তম আকারে চিত্রটি পুনরায় আকার দিতে পারেন।

PlacePhoto অবজেক্টগুলির একটি অ্যারে কোনও getDetails() , textSearch() বা nearbySearch() এর জন্য PlacesService বিরুদ্ধে করা অনুরোধের জন্য PlaceResult অবজেক্টের অংশ হিসাবে ফিরে আসবে।

দ্রষ্টব্য: প্রত্যাবর্তিত ফটোগুলির সংখ্যা অনুরোধের মাধ্যমে পরিবর্তিত হয়।

  • কাছাকাছি অনুসন্ধান বা একটি পাঠ্য অনুসন্ধান বেশিরভাগ PlacePhoto অবজেক্টে ফিরে আসবে।
  • একটি বিশদ অনুরোধ দশটি PlacePhoto অবজেক্ট পর্যন্ত ফিরে আসবে।

আপনি PlacePhoto.getUrl() পদ্ধতিতে কল করে এবং একটি বৈধ PhotoOptions অবজেক্টটি পাস করে সম্পর্কিত চিত্রের জন্য ইউআরএলটির জন্য অনুরোধ করতে পারেন। PhotoOptions অবজেক্ট আপনাকে চিত্রের সর্বাধিক পছন্দসই উচ্চতা এবং প্রস্থ নির্দিষ্ট করতে দেয়। আপনি যদি maxHeight এবং maxWidth উভয়ের জন্য কোনও মান নির্দিষ্ট করেন তবে মূল দিকটি অনুপাতটি বজায় রেখে ফটো পরিষেবাটি দুটি আকারের ছোটটিতে চিত্রটি পুনরায় আকার দেবে।

নিম্নলিখিত কোড স্নিপেট কোনও স্থান অবজেক্ট গ্রহণ করে এবং কোনও ফটো উপস্থিত থাকলে মানচিত্রে একটি চিহ্নিতকারী যুক্ত করে। ডিফল্ট মার্কার চিত্রটি ছবির একটি ছোট সংস্করণ দ্বারা প্রতিস্থাপন করা হয়।

function createPhotoMarker(place) {
  var photos = place.photos;
  if (!photos) {
    return;
  }

  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location,
    title: place.name,
    icon: photos[0].getUrl({maxWidth: 35, maxHeight: 35})
  });
}

ফটো পরিষেবা দ্বারা ফিরে আসা ফটোগুলি ব্যবসায়ের মালিক এবং ব্যবহারকারীর অবদানযুক্ত ফটো সহ বিভিন্ন অবস্থান থেকে উত্সাহিত করা হয়। বেশিরভাগ ক্ষেত্রে, এই ফটোগুলি অ্যাট্রিবিউশন ছাড়াই ব্যবহার করা যেতে পারে, বা চিত্রের অংশ হিসাবে প্রয়োজনীয় অ্যাট্রিবিউশন অন্তর্ভুক্ত থাকবে। তবে, যদি ফিরে আসা photo উপাদানটিতে html_attributions ক্ষেত্রে কোনও মান অন্তর্ভুক্ত থাকে তবে আপনি যেখানেই আপনি চিত্রটি প্রদর্শন করেন সেখানে আপনার অ্যাপ্লিকেশনটিতে অতিরিক্ত বৈশিষ্ট্য অন্তর্ভুক্ত করতে হবে।