Stay organized with collections Save and categorize content based on your preferences.
PlacesService classgoogle.maps.places.PlacesService
class
Contains methods related to searching for places and retrieving details about a place.
Access by calling const {PlacesService} = await google.maps.importLibrary("places")
.
See Libraries in the Maps JavaScript API.
PlacesService
PlacesService(attrContainer)
attrContainer
: HTMLDivElement|Map
Creates a new instance of the PlacesService
that renders attributions in the specified container.
findPlaceFromPhoneNumber
findPlaceFromPhoneNumber(request, callback)
request
: FindPlaceFromPhoneNumberRequest
callback
: function(Array<PlaceResult> optional, PlacesServiceStatus): void
Return Value: None
Retrieves a list of places based on a phone number. In most cases there should be just one item in the result list, however if the request is ambiguous more than one result may be returned. The
PlaceResult
s passed to the callback are subsets of a full
PlaceResult
. Your app can get a more detailed
PlaceResult
for each place by calling
PlacesService.getDetails
and passing the
PlaceResult.place_id
for the desired place.
findPlaceFromQuery
findPlaceFromQuery(request, callback)
request
: FindPlaceFromQueryRequest
callback
: function(Array<PlaceResult> optional, PlacesServiceStatus): void
Return Value: None
Retrieves a list of places based on a query string. In most cases there should be just one item in the result list, however if the request is ambiguous more than one result may be returned. The
PlaceResult
s passed to the callback are subsets of a full
PlaceResult
. Your app can get a more detailed
PlaceResult
for each place by calling
PlacesService.getDetails
and passing the
PlaceResult.place_id
for the desired place.
getDetails
getDetails(request, callback)
request
: PlaceDetailsRequest
callback
: function(PlaceResult optional, PlacesServiceStatus): void
Return Value: None
Retrieves details about the place identified by the given placeId
.
nearbySearch
nearbySearch(request, callback)
request
: PlaceSearchRequest
callback
: function(Array<PlaceResult> optional, PlacesServiceStatus, PlaceSearchPagination optional): void
Return Value: None
Retrieves a list of places near a particular location, based on keyword or type. Location must always be specified, either by passing a
LatLngBounds
, or
location
and
radius
parameters. The
PlaceResult
s passed to the callback are subsets of the full
PlaceResult
. Your app can get a more detailed
PlaceResult
for each place by sending a
Place Details requestpassing the
PlaceResult.place_id
for the desired place. The
PlaceSearchPagination
object can be used to fetch additional pages of results (null if this is the last page of results or if there is only one page of results).
textSearch
textSearch(request, callback)
request
: TextSearchRequest
callback
: function(Array<PlaceResult> optional, PlacesServiceStatus, PlaceSearchPagination optional): void
Return Value: None
Retrieves a list of places based on a query string (for example, "pizza in New York", or "shoe stores near Ottawa"). Location parameters are optional; when the location is specified, results are only biased toward nearby results rather than restricted to places inside the area. Use textSearch
when you want to search for places using an arbitrary string, and in cases where you may not want to restrict search results to a particular location. The PlaceSearchPagination
object can be used to fetch additional pages of results (null if this is the last page of results or if there is only one page of results).
google.maps.places.PlaceDetailsRequest
interface
A Place details query to be sent to the PlacesService
.
placeId
Type: string
The Place ID of the Place for which details are being requested.
fields optional
Type: Array<string> optional
Fields to be included in the details response,
which will be billed for. If no fields are specified or
['ALL']
is passed in, all available fields will be returned and billed for (this is not recommended for production deployments). For a list of fields see
PlaceResult
. Nested fields can be specified with dot-paths (for example,
"geometry.location"
).
language optional
Type: string optional
A language identifier for the language in which details should be returned. See the
list of supported languages.
region optional
Type: string optional
A region code of the user's region. This can affect which photos may be returned, and possibly other things. The region code accepts a
ccTLD ("top-level domain")two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, the United Kingdom's ccTLD is "uk" (
.co.uk
) while its ISO 3166-1 code is "gb" (technically for the entity of "The United Kingdom of Great Britain and Northern Ireland").
sessionToken optional
Type: AutocompleteSessionToken optional
Unique reference used to bundle the details request with an autocomplete session.
FindPlaceFromQueryRequest interfacegoogle.maps.places.FindPlaceFromQueryRequest
interface
A find place from text search request to be sent to PlacesService.findPlaceFromQuery
.
fields
Type: Array<string>
Fields to be included in the response,
which will be billed for. If
['ALL']
is passed in, all available fields will be returned and billed for (this is not recommended for production deployments). For a list of fields see
PlaceResult
. Nested fields can be specified with dot-paths (for example,
"geometry.location"
).
query
Type: string
The request's query. For example, the name or address of a place.
language optional
Type: string optional
A language identifier for the language in which names and addresses should be returned, when possible. See the
list of supported languages.
locationBias optional
Type: LocationBias optional
The bias used when searching for Place. The result will be biased towards, but not restricted to, the given
LocationBias
.
PlaceSearchRequest interfacegoogle.maps.places.PlaceSearchRequest
interface
A Place search query to be sent to the PlacesService
.
bounds optional
Type: LatLngBounds|LatLngBoundsLiteral optional
The bounds within which to search for Places. Both location
and radius
will be ignored if bounds
is set.
keyword optional
Type: string optional
A term to be matched against all available fields, including but not limited to name, type, and address, as well as customer reviews and other third-party content.
language optional
Type: string optional
A language identifier for the language in which names and addresses should be returned, when possible. See the
list of supported languages.
location optional
Type: LatLng|LatLngLiteral optional
The location around which to search for Places.
maxPriceLevel optional
Type: number optional
Restricts results to only those places at the specified price level or lower. Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. Must be greater than or equal to minPrice
, if specified.
minPriceLevel optional
Type: number optional
Restricts results to only those places at the specified price level or higher. Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. Must be less than or equal to maxPrice
, if specified.
nameoptional
Deprecated: Use keyword
instead.
Type: string optional
Equivalent to keyword
. Values in this field are combined with values in the keyword
field and passed as part of the same search string.
openNow optional
Type: boolean optional
Restricts results to only those places that are open right now.
radius optional
Type: number optional
The distance from the given location within which to search for Places, in meters. The maximum allowed value is 50 000.
rankBy optional
Type: RankBy optional
Default: RankBy.PROMINENCE
Specifies the ranking method to use when returning results. Note that when rankBy
is set to DISTANCE
, you must specify a location
but you cannot specify a radius
or bounds
.
type optional
Type: string optional
Searches for places of the given type. The type is translated to the local language of the request's target location and used as a query string. If a query is also provided, it is concatenated to the localized type string. Results of a different type are dropped from the response. Use this field to perform language and region independent categorical searches. Valid types are given
here.
TextSearchRequest interfacegoogle.maps.places.TextSearchRequest
interface
A text search request to be sent to the PlacesService
.
bounds optional
Type: LatLngBounds|LatLngBoundsLiteral optional
Bounds used to bias results when searching for Places (optional). Both location
and radius
will be ignored if bounds
is set. Results will not be restricted to those inside these bounds; but, results inside it will rank higher.
language optional
Type: string optional
A language identifier for the language in which names and addresses should be returned, when possible. See the
list of supported languages.
location optional
Type: LatLng|LatLngLiteral optional
The center of the area used to bias results when searching for Places.
query optional
Type: string optional
The request's query term. For example, the name of a place ('Eiffel Tower'), a category followed by the name of a location ('pizza in New York'), or the name of a place followed by a location disambiguator ('Starbucks in Sydney').
radius optional
Type: number optional
The radius of the area used to bias results when searching for Places, in meters.
region optional
Type: string optional
A region code to bias results towards. The region code accepts a
ccTLD ("top-level domain")two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, the United Kingdom's ccTLD is "uk" (
.co.uk
) while its ISO 3166-1 code is "gb" (technically for the entity of "The United Kingdom of Great Britain and Northern Ireland").
type optional
Type: string optional
Searches for places of the given type. The type is translated to the local language of the request's target location and used as a query string. If a query is also provided, it is concatenated to the localized type string. Results of a different type are dropped from the response. Use this field to perform language and region independent categorical searches. Valid types are given
here.
RankBy constantsgoogle.maps.places.RankBy
constants
Ranking options for a PlaceSearchRequest.
Access by calling const {RankBy} = await google.maps.importLibrary("places")
.
See Libraries in the Maps JavaScript API.
DISTANCE
Ranks place results by distance from the location. PROMINENCE
Ranks place results by their prominence. PlacesServiceStatus constants
google.maps.places.PlacesServiceStatus
constants
The status returned by the PlacesService
on the completion of its searches. Specify these by value, or by using the constant's name. For example, 'OK'
or google.maps.places.PlacesServiceStatus.OK
.
Access by calling const {PlacesServiceStatus} = await google.maps.importLibrary("places")
.
See Libraries in the Maps JavaScript API.
INVALID_REQUEST
This request was invalid. NOT_FOUND
The place referenced was not found. OK
The response contains a valid result. OVER_QUERY_LIMIT
The application has gone over its request quota. REQUEST_DENIED
The application is not allowed to use the PlacesService
. UNKNOWN_ERROR
The PlacesService
request could not be processed due to a server error. The request may succeed if you try again. ZERO_RESULTS
No result was found for this request.
google.maps.places.PlaceSearchPagination
interface
An object used to fetch additional pages of Places results.
PlaceResult interfacegoogle.maps.places.PlaceResult
interface
Defines information about a Place.
Propertiesaddress_components optional
Type: Array<GeocoderAddressComponent> optional
The collection of address components for this Place’s location. Only available with
PlacesService.getDetails
.
adr_address optional
Type: string optional
The representation of the Place’s address in the
adr microformat. Only available with
PlacesService.getDetails
.
aspects optional
Type: Array<PlaceAspectRating> optional
The rated aspects of this Place, based on Google and Zagat user reviews. The ratings are on a scale of 0 to 30.
business_status optional
Type: BusinessStatus optional
A flag indicating the operational status of the Place, if it is a business (indicates whether the place is operational, or closed either temporarily or permanently). If no data is available, the flag is not present in search or details responses.
formatted_address optional
Type: string optional
The Place’s full address.
formatted_phone_number optional
Type: string optional
The Place’s phone number, formatted according to the
number's regional convention. Only available with
PlacesService.getDetails
.
geometry optional
Type: PlaceGeometry optional
The Place’s geometry-related information.
html_attributions optional
Type: Array<string> optional
Attribution text to be displayed for this Place result. Available html_attributions
are always returned regardless of what fields
have been requested, and must be displayed.
icon optional
Type: string optional
URL to an image resource that can be used to represent this Place’s category.
icon_background_color optional
Type: string optional
Background color for use with a Place's icon. See also
PlaceResult.icon_mask_base_uri
.
icon_mask_base_uri optional
Type: string optional
A truncated URL to an icon mask. Access different icon types by appending a file extension to the end (i.e. .svg
or .png
).
international_phone_number optional
Type: string optional
The Place’s phone number in international format. International format includes the country code, and is prefixed with the plus (+) sign. Only available with
PlacesService.getDetails
.
name optional
Type: string optional
The Place’s name. Note: In the case of user entered Places, this is the raw text, as typed by the user. Please exercise caution when using this data, as malicious users may try to use it as a vector for code injection attacks (See
http://en.wikipedia.org/wiki/Code_injection).
opening_hours optional
Type: PlaceOpeningHours optional
Defines when the Place opens or closes.
permanently_closedoptional
Deprecated: permanently_closed
is deprecated as of May 2020 and will be turned off in May 2021. Use PlaceResult.business_status
instead as permanently_closed
does not distinguish between temporary and permanent closures.
Type: boolean optional
A flag indicating whether the Place is closed, either permanently or temporarily. If the place is operational, or if no data is available, the flag is absent from the response.
photos optional
Type: Array<PlacePhoto> optional
Photos of this Place. The collection will contain up to ten
PlacePhoto
objects.
place_id optional
Type: string optional
A unique identifier for the Place.
plus_code optional
Type: PlacePlusCode optional
Defines Open Location Codes or "
plus codes" for the Place.
price_level optional
Type: number optional
The price level of the Place, on a scale of 0 to 4. Price levels are interpreted as follows:
0
: Free1
: Inexpensive2
: Moderate3
: Expensive4
: Very Expensiverating optional
Type: number optional
A rating, between 1.0 to 5.0, based on user reviews of this Place.
reviews optional
Type: Array<PlaceReview> optional
A list of reviews of this Place. Only available with
PlacesService.getDetails
.
types optional
Type: Array<string> optional
An array of
types for this Place(for example,
["political", "locality"]
or
["restaurant", "establishment"]
).
url optional
Type: string optional
URL of the official Google page for this place. This is the Google-owned page that contains the best available information about the Place. Only available with
PlacesService.getDetails
.
user_ratings_total optional
Type: number optional
The number of user ratings which contributed to this Place’s
PlaceResult.rating
.
utc_offsetoptional
Deprecated: utc_offset
is deprecated as of November 2019. Use PlaceResult.utc_offset_minutes
instead. See https://goo.gle/js-open-now
Type: number optional
The offset from UTC of the Place’s current timezone, in minutes. For example, Sydney, Australia in daylight savings is 11 hours ahead of UTC, so the
utc_offset
will be
660
. For timezones behind UTC, the offset is negative. For example, the
utc_offset
is
-60
for Cape Verde. Only available with
PlacesService.getDetails
.
utc_offset_minutes optional
Type: number optional
The offset from UTC of the Place’s current timezone, in minutes. For example, Sydney, Australia in daylight savings is 11 hours ahead of UTC, so the
utc_offset_minutes
will be
660
. For timezones behind UTC, the offset is negative. For example, the
utc_offset_minutes
is
-60
for Cape Verde. Only available with
PlacesService.getDetails
.
vicinity optional
Type: string optional
The simplified address for the Place, including the street name, street number, and locality, but not the province/state, postal code, or country. For example, Google's Sydney, Australia office has a vicinity value of
"48 Pirrama Road, Pyrmont"
. Only available with
PlacesService.getDetails
.
website optional
Type: string optional
The authoritative website for this Place, such as a business' homepage. Only available with
PlacesService.getDetails
.
PlaceAspectRating interfacegoogle.maps.places.PlaceAspectRating
interface
Deprecated: This interface is no longer used.
Defines information about an aspect of the place that users have reviewed.
Propertiesrating
Type: number
The rating of this aspect. For individual reviews this is an integer from 0 to 3. For aggregated ratings of a place this is an integer from 0 to 30.
type
Type: string
The aspect type. For example, "food"
, "decor"
, "service"
, or "overall"
.
google.maps.places.BusinessStatus
constants
The operational status of the Place, if it is a business, returned in a PlaceResult (indicates whether the place is operational, or closed either temporarily or permanently). Specify these by value, or the constant's name (example: 'OPERATIONAL'
or google.maps.places.BusinessStatus.OPERATIONAL
).
Access by calling const {BusinessStatus} = await google.maps.importLibrary("places")
.
See Libraries in the Maps JavaScript API.
google.maps.places.PlaceGeometry
interface
Defines information about the geometry of a Place.
Propertieslocation optional
Type: LatLng optional
The Place’s position.
viewport optional
Type: LatLngBounds optional
The preferred viewport when displaying this Place on a map. This property will be
null
if the preferred viewport for the Place is not known. Only available with
PlacesService.getDetails
.
PlaceOpeningHours interfacegoogle.maps.places.PlaceOpeningHours
interface
Defines information about the opening hours of a Place.
Properties open_nowoptional
Deprecated: open_now
is deprecated as of November 2019. Use the PlaceOpeningHours.isOpen
method from a PlacesService.getDetails
result instead. See https://goo.gle/js-open-now
Type: boolean optional
Whether the Place is open at the current time.
periods optional
Type: Array<PlaceOpeningHoursPeriod> optional
Opening periods covering for each day of the week, starting from Sunday, in chronological order. Days in which the Place is not open are not included. Only available with
PlacesService.getDetails
.
weekday_text optional
Type: Array<string> optional
An array of seven strings representing the formatted opening hours for each day of the week. The Places Service will format and localize the opening hours appropriately for the current language. The ordering of the elements in this array depends on the language. Some languages start the week on Monday while others start on Sunday. Only available with
PlacesService.getDetails
. Other calls may return an empty array.
PlaceOpeningHoursPeriod interfacegoogle.maps.places.PlaceOpeningHoursPeriod
interface
Defines structured information about the opening hours of a Place. Note: If a Place is always open, the close
section will be missing from the response. Clients can rely on always-open being represented as an open
period containing day
with value 0
and time
with value "0000"
, and no close
.
google.maps.places.PlaceOpeningHoursTime
interface
Defines when a Place opens or closes.
Propertiesday
Type: number
The days of the week, as a number in the range [0
, 6
], starting on Sunday. For example, 2
means Tuesday.
hours
Type: number
The hours of the
PlaceOpeningHoursTime.time
as a number, in the range [
0
,
23
]. This will be reported in the Place’s time zone.
minutes
Type: number
The minutes of the
PlaceOpeningHoursTime.time
as a number, in the range [
0
,
59
]. This will be reported in the Place’s time zone.
time
Type: string
The time of day in 24-hour "hhmm" format. Values are in the range ["0000"
, "2359"
]. The time will be reported in the Place’s time zone.
nextDate optional
Type: number optional
The timestamp (as milliseconds since the epoch, suitable for use with
new Date()
) representing the next occurrence of this PlaceOpeningHoursTime. It is calculated from the
PlaceOpeningHoursTime.day
of week, the
PlaceOpeningHoursTime.time
, and the
PlaceResult.utc_offset_minutes
. If the
PlaceResult.utc_offset_minutes
is
undefined
, then
nextDate
will be
undefined
.
PlacePlusCode interfacegoogle.maps.places.PlacePlusCode
interface
Defines Open Location Codes or "plus codes" for a Place. Plus codes can be used as a replacement for street addresses in places where they do not exist (where buildings are not numbered or streets are not named).
Propertiesglobal_code
Type: string
A
plus codewith a 1/8000th of a degree by 1/8000th of a degree area. For example,
"8FVC9G8F+5W"
.
compound_code optional
Type: string optional
A
plus codewith a 1/8000th of a degree by 1/8000th of a degree area where the first four characters (the area code) are dropped and replaced with a locality description. For example,
"9G8F+5W Zurich, Switzerland"
. If no suitable locality that can be found to shorten the code then this field is omitted.
PlacePhoto interfacegoogle.maps.places.PlacePhoto
interface
Represents a photo element of a Place.
Propertiesheight
Type: number
The height of the photo in pixels.
html_attributions
Type: Array<string>
Attribution text to be displayed for this photo.
width
Type: number
The width of the photo in pixels.
MethodsgetUrl
getUrl([opts])
opts
: PhotoOptions optional
Return Value: string
Returns the image URL corresponding to the specified options.
PhotoOptions interfacegoogle.maps.places.PhotoOptions
interface
Defines photo-requesting options.
PropertiesmaxHeight optional
Type: number optional
The maximum height in pixels of the returned image.
maxWidth optional
Type: number optional
The maximum width in pixels of the returned image.
PlaceReview interfacegoogle.maps.places.PlaceReview
interface
Represents a single review of a place.
Propertieslanguage
Type: string
An IETF language code indicating the language in which this review is written. Note that this code includes only the main language tag without any secondary tag indicating country or region. For example, all the English reviews are tagged as 'en'
rather than 'en-AU' or 'en-UK'.
profile_photo_url
Type: string
A URL to the reviwer's profile image.
relative_time_description
Type: string
A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country. For example "a month ago"
.
text
Type: string
The text of a review.
time
Type: number
Timestamp for the review, expressed in seconds since epoch.
aspectsoptional
Deprecated: This field is no longer available.
Type:Array<PlaceAspectRating> optional
The aspects rated by the review. The ratings on a scale of 0 to 3.
author_url optional
Type: string optional
A URL to the reviewer's profile. This will be undefined
when the reviewer's profile is unavailable.
rating optional
Type: number optional
The rating of this review, a number between 1.0 and 5.0 (inclusive).
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-09 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-09 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4