এই বিভাগটি Places Insights API-কে উদাহরণের অনুরোধের একটি সিরিজ কভার করে।
একটি বৃত্তের মধ্যে স্থান ফেরত
ট্রাফালগার স্কোয়ার, লন্ডনের 200 মিটার ব্যাসার্ধের মধ্যে সমস্ত রেস্তোরাঁয় ফিরে যান।
- অনুসন্ধান এলাকা হল একটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশ কেন্দ্রিক একটি বৃত্ত। এই বৃত্তের ব্যাসার্ধ 200 মিটার, যা অনুসন্ধান এলাকার আকার নির্ধারণ করে।
- অনুরোধ করা স্থানের ধরনটি হল রেস্তোরাঁ, এবং এটি
typeFilters
মধ্যেincludedTypes
ব্যবহার করে পাস করা হয়। -
INSIGHTS_COUNT
ব্যবহার করে গণনার অনুরোধ করা হয়েছে, এবং স্থানের আইডিগুলিINSIGHTS_PLACES
ব্যবহার করে অনুরোধ করা হয়েছে।
বিশ্রাম
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedTypes": "restaurant" } } }'
পাইথন (gRPC)
from google.maps import areainsights_v1 from google.maps.areainsights_v1.types import ( ComputeInsightsRequest, Filter, LocationFilter, TypeFilter, Insight ) from google.type import latlng_pb2 from google.oauth2 import service_account def get_area_insights(): # Initialize the client credentials = service_account.Credentials.from_service_account_file( 'path/to/service_account.json', scopes=['https://www.googleapis.com/auth/cloud-platform'] ) client = areainsights_v1.AreaInsightsClient( credentials=credentials ) # Create location filter with circle lat_lng = latlng_pb2.LatLng( latitude=51.508, longitude=-0.128 ) location_filter = LocationFilter( circle=LocationFilter.Circle( lat_lng=lat_lng, radius=200 ) ) # Create type filter type_filter = TypeFilter( included_types=["restaurant"] ) # Create the main filter filter = Filter( location_filter=location_filter, type_filter=type_filter ) # Create the request request = ComputeInsightsRequest( insights=[ Insight.INSIGHT_COUNT, Insight.INSIGHT_PLACES ], filter=filter ) try: # Make the request response = client.compute_insights(request=request) # Print results print(f"Total count: {response.count}") print("\nPlaces found:") for place in response.place_insights: print(f"Place ID: {place.place}") except Exception as e: print(f"Error occurred: {e}") if __name__ == "__main__": get_area_insights()
স্থানের ধরন বাদ দিন
আপনি গণনা থেকে স্থানের ধরন বাদ দিতে পারেন।
নিম্নলিখিত অনুরোধটি প্রথম উদাহরণের মতোই, কিন্তু typeFilters
excludedTypes
যোগ করে। আপনি includedTypes
এবং excludedTypes
জন্য একটি স্ট্রিং বা স্ট্রিংগুলির একটি অ্যারে ব্যবহার করতে পারেন।
এই উদাহরণে দুটি স্থানের ধরন বাদ দেওয়া হয়েছে: cafe
এবং bakery
, restaurant
গণনা থেকে।
বিশ্রাম
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedTypes": "restaurant", "excludedTypes": [ "cafe", "bakery" ] } } }'
পাইথন (gRPC)
from google.maps import areainsights_v1 from google.maps.areainsights_v1.types import ( ComputeInsightsRequest, Filter, LocationFilter, TypeFilter, Insight ) from google.type import latlng_pb2 from google.oauth2 import service_account def get_area_insights(): # Initialize the client with service account credentials = service_account.Credentials.from_service_account_file( 'path/to/service_account.json', scopes=['https://www.googleapis.com/auth/cloud-platform'] ) client = areainsights_v1.AreaInsightsClient( credentials=credentials ) # Create location filter with circle lat_lng = latlng_pb2.LatLng( latitude=51.508, longitude=-0.128 ) location_filter = LocationFilter( circle=LocationFilter.Circle( lat_lng=lat_lng, radius=200 ) ) # Create type filter with both included and excluded types type_filter = TypeFilter( included_types=["restaurant"], excluded_types=["cafe", "bakery"] ) # Create the main filter filter = Filter( location_filter=location_filter, type_filter=type_filter ) # Create the request request = ComputeInsightsRequest( insights=[ Insight.INSIGHT_COUNT, Insight.INSIGHT_PLACES ], filter=filter ) try: # Make the request response = client.compute_insights(request=request) # Print results print(f"Total count: {response.count}") print("\nPlaces found:") for place in response.place_insights: print(f"Place ID: {place.place}") except Exception as e: print(f"Error occurred: {e}") if __name__ == "__main__": get_area_insights()
প্রাথমিক প্রকার ব্যবহার করুন
এই উদাহরণটি প্রথম উদাহরণ থেকে অনুরোধটিকে পরিবর্তন করে শুধুমাত্র সেই জায়গাগুলিকে অন্তর্ভুক্ত করার জন্য যেখানে গণনায় একটি primaryType
restaurant
রয়েছে৷
বিশ্রাম
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"], "filter": { "locationFilter": { "circle": { "latLng": { "latitude": 51.508, "longitude": -0.128}, "radius": 200 } }, "typeFilter": { "includedPrimaryTypes": "restaurant" } } }'
পাইথন (gRPC)
from google.maps import areainsights_v1 from google.maps.areainsights_v1.types import ( ComputeInsightsRequest, Filter, LocationFilter, TypeFilter, Insight ) from google.type import latlng_pb2 from google.oauth2 import service_account def get_area_insights(): # Initialize the client with service account credentials = service_account.Credentials.from_service_account_file( 'path/to/service_account.json', scopes=['https://www.googleapis.com/auth/cloud-platform'] ) client = areainsights_v1.AreaInsightsClient( credentials=credentials ) # Create location filter with circle lat_lng = latlng_pb2.LatLng( latitude=51.508, longitude=-0.128 ) location_filter = LocationFilter( circle=LocationFilter.Circle( lat_lng=lat_lng, radius=200 ) ) # Create type filter with primary types type_filter = TypeFilter( included_primary_types=["restaurant"] ) # Create the main filter filter = Filter( location_filter=location_filter, type_filter=type_filter ) # Create the request request = ComputeInsightsRequest( insights=[ Insight.INSIGHT_COUNT, Insight.INSIGHT_PLACES ], filter=filter ) try: # Make the request response = client.compute_insights(request=request) # Print results print(f"Total count: {response.count}") print("\nPlaces found:") for place in response.place_insights: print(f"Place ID: {place.place}") except Exception as e: print(f"Error occurred: {e}") if __name__ == "__main__": get_area_insights()
কাস্টম বহুভুজ
এই উদাহরণটি দেখায় যে কীভাবে আপনার অনুসন্ধান এলাকা নির্ধারণ করতে একটি কাস্টম বহুভুজ ব্যবহার করতে হয়। মনে রাখবেন যে INSIGHTS_PLACES
নির্দিষ্ট করা 100টি স্থান আইডি ফেরত দেওয়ার জন্য যথেষ্ট ছোট এলাকায় অনুসন্ধানকে সীমাবদ্ধ করে। বৃহত্তর এলাকার জন্য, এই সীমাবদ্ধতা বাইপাস করতে INSIGHTS_COUNT
ব্যবহার করুন যাতে পরিষেবাটিকে পৃথক স্থানের আইডি ফেরত দেওয়ার প্রয়োজন না হয়৷
আগের মতই, ব্যবহৃত জায়গার ধরন হল restaurant
। এই উদাহরণটি আরও তিনটি ফিল্টার প্রবর্তন করে:
-
operatingStatus
: এই উদাহরণটি শুধুমাত্র কর্মক্ষম স্থান গণনা করে। -
priceLevel
: এই উদাহরণটি শুধুমাত্র সস্তা এবং মাঝারি দামের স্থান গণনা করে৷ -
ratingFilter
: এই উদাহরণটি শুধুমাত্র 4.0 এবং 5.0 এর মধ্যে পর্যালোচনা স্কোর সহ স্থানগুলিকে গণনা করে৷
বিশ্রাম
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": [ "INSIGHT_COUNT" ], "filter": { "locationFilter": { "customArea": { "polygon": { "coordinates": [ { "latitude": 37.776, "longitude": -122.666 }, { "latitude": 37.130, "longitude": -121.898 }, { "latitude": 37.326, "longitude": -121.598 }, { "latitude": 37.912, "longitude": -122.247 }, { "latitude": 37.776, "longitude": -122.666 } ] } } }, "typeFilter": { "includedTypes": "restaurant" }, "operatingStatus": [ "OPERATING_STATUS_OPERATIONAL" ], "priceLevels": [ "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE" ], "ratingFilter": { "minRating": 4.0, "maxRating": 5.0 } } }'
পাইথন (gRPC)
from google.maps import areainsights_v1 from google.maps.areainsights_v1.types import ( ComputeInsightsRequest, Filter, LocationFilter, TypeFilter, Insight, RatingFilter, OperatingStatus, PriceLevel ) from google.type import latlng_pb2 from google.oauth2 import service_account def get_area_insights(): # Initialize the client with service account credentials = service_account.Credentials.from_service_account_file( 'path/to/service_account.json', scopes=['https://www.googleapis.com/auth/cloud-platform'] ) client = areainsights_v1.AreaInsightsClient( credentials=credentials ) # Create coordinates for the polygon coordinates = [ latlng_pb2.LatLng(latitude=37.776, longitude=-122.666), latlng_pb2.LatLng(latitude=37.130, longitude=-121.898), latlng_pb2.LatLng(latitude=37.326, longitude=-121.598), latlng_pb2.LatLng(latitude=37.912, longitude=-122.247), latlng_pb2.LatLng(latitude=37.776, longitude=-122.666) # Closing point ] # Create custom area with polygon using the nested structure location_filter = LocationFilter( custom_area=LocationFilter.CustomArea( polygon=LocationFilter.CustomArea.Polygon(coordinates=coordinates) ) ) # Create type filter type_filter = TypeFilter( included_types=["restaurant"] ) # Create rating filter rating_filter = RatingFilter( min_rating=4.0, max_rating=5.0 ) # Create the main filter filter = Filter( location_filter=location_filter, type_filter=type_filter, operating_status=[OperatingStatus.OPERATING_STATUS_OPERATIONAL], price_levels=[ PriceLevel.PRICE_LEVEL_INEXPENSIVE, PriceLevel.PRICE_LEVEL_MODERATE ], rating_filter=rating_filter ) # Create the request request = ComputeInsightsRequest( insights=[Insight.INSIGHT_COUNT], filter=filter ) try: # Make the request response = client.compute_insights(request=request) # Print results print(f"Total count: {response.count}") except Exception as e: print(f"Error occurred: {e}") if __name__ == "__main__": get_area_insights()
ভৌগলিক এলাকা
এই উদাহরণটি অনুসন্ধান এলাকা সেট করতে একটি ভৌগলিক এলাকা স্থান আইডি ব্যবহার করে। এই জায়গার আইডিগুলিতে একটি জায়গার জ্যামিতি অন্তর্ভুক্ত থাকে, যেমন একটি শহর বা শহর। এখানে ব্যবহৃত স্থান আইডিটি হল ChIJiQHsW0m3j4ARm69rRkrUF3w
, যা ক্যালিফোর্নিয়ার মাউন্টেন ভিউ শহরের সাথে মিলে যায়।
Places Insights API-এ স্থান আইডি পাস করা অনুসন্ধান এলাকাটিকে ভৌগলিক এলাকার সীমানায় সেট করে। প্লেস আইডিটি place
ব্যবহার করে পাস করা হয়, places/ place_ID
ফরম্যাটে।
আপনি নিম্নলিখিত যে কোনও উপায়ে একটি ভৌগলিক এলাকার স্থান আইডি পেতে পারেন:
- জিওকোডিং API
- পাঠ্য অনুসন্ধান (নতুন)
- কাছাকাছি অনুসন্ধান (নতুন)
- ঠিকানা যাচাইকরণ API
- স্বয়ংসম্পূর্ণ রাখুন
বিশ্রাম
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \ --header 'X-Goog-Api-Key: API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "insights": [ "INSIGHT_COUNT" ], "filter": { "locationFilter": { "region": { "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w" } }, "typeFilter": { "includedTypes": [ "restaurant" ] } } }'
পাইথন (gRPC)
from google.maps import areainsights_v1 from google.maps.areainsights_v1.types import ( ComputeInsightsRequest, Filter, LocationFilter, TypeFilter, Insight ) from google.oauth2 import service_account def get_area_insights(): # Initialize the client with service account credentials = service_account.Credentials.from_service_account_file( 'path/to/service_account.json', scopes=['https://www.googleapis.com/auth/cloud-platform'] ) client = areainsights_v1.AreaInsightsClient( credentials=credentials ) # Create location filter with region location_filter = LocationFilter( region=LocationFilter.Region( place="places/ChIJiQHsW0m3j4ARm69rRkrUF3w" ) ) # Create type filter type_filter = TypeFilter( included_types=["restaurant"] ) # Create the main filter filter = Filter( location_filter=location_filter, type_filter=type_filter ) # Create the request request = ComputeInsightsRequest( insights=[Insight.INSIGHT_COUNT], filter=filter ) try: # Make the request response = client.compute_insights(request=request) # Print results print(f"Total count: {response.count}") except Exception as e: print(f"Error occurred: {e}") if __name__ == "__main__": get_area_insights()