Dịch vụ Tự động hoàn thành (Mới) là một API iOS trả về đề xuất địa điểm để phản hồi yêu cầu. Trong yêu cầu, hãy chỉ định chuỗi tìm kiếm văn bản và giới hạn địa lý kiểm soát khu vực tìm kiếm.
Dịch vụ Tự động hoàn thành (Mới) có thể so khớp toàn bộ từ và chuỗi con của thông tin đầu vào, phân giải tên địa điểm, địa chỉ và dấu cộng mã. Do đó, ứng dụng có thể gửi truy vấn với tư cách người dùng để cung cấp đề xuất địa điểm nhanh chóng.
Đề xuất về địa điểm là các địa điểm, chẳng hạn như doanh nghiệp, địa chỉ và các điểm của sở thích, dựa trên chuỗi văn bản đã nhập và vùng tìm kiếm được chỉ định.
Ví dụ: bạn gọi API bằng cách sử dụng làm đầu vào một chuỗi chứa một phần thông tin do người dùng nhập, "Spagh", với khu vực tìm kiếm được giới hạn trong phạm vi Thành phố New York. Sau đó, câu trả lời chứa danh sách đề xuất địa điểm khớp với nội dung tìm kiếm và tìm kiếm, chẳng hạn như nhà hàng có tên là "Cafe Spaghetti", cùng với thông tin chi tiết về địa điểm.
Đề xuất địa điểm được trả về được thiết kế để hiển thị cho người dùng để để họ có thể chọn địa điểm mong muốn. Bạn có thể tạo Thông tin chi tiết về địa điểm (Mới) yêu cầu tải thêm thông tin về bất kỳ đề xuất địa điểm nào được trả về.
Yêu cầu tự động hoàn thành (Mới)
Tạo yêu cầu tự động hoàn thành bằng cách gọi một phương thức trên
GMSPlaceClient
.
Bạn có thể chuyển các thông số trong
GMSAutocompleteRequest
. Phản hồi cung cấp đề xuất Tự động hoàn thành trong một
GMSAutocompletePlaceSuggestion
.
Khoá API và tham số query
là bắt buộc. Bạn cũng có thể bao gồm
GMSAutocompleteSessionToken
để liên kết các yêu cầu với một phiên thanh toán và
GMSAutocompleteFilter
để áp dụng cho các kết quả.
Để biết thêm thông tin về các thông số bắt buộc và không bắt buộc, hãy xem phần thông số trong tài liệu này.
Swift
let token = GMSAutocompleteSessionToken() let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051) let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.types = [kGMSPlaceTypeRestaurant] filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds) let request = GMSAutocompleteRequest(query:"Spagh") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137); CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023); GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.types = @[ kGMSPlaceTypeRestaurant ]; filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
GooglePlacesSwift
let center = (37.3913916, -122.0879074) let northEast = (37.388162, -122.088137) let southWest = (37.395804, -122.077023) let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest) let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias) let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): // Handle suggestions. case .failure(let placesError): // Handle error. }
Câu trả lời tự động hoàn thành (Mới)
Tính năng Tự động hoàn thành trả về một mảng gồm tối đa năm
GMSAutocompleteSuggestion
thực thể. Mảng này chứa:
placeID
types
: Các loại áp dụng cho địa điểm này.distanceMeters
: Khoảng cách từ điểm khởi hành.attributedFullText
: Văn bản đầy đủ của đề xuất mà con người có thể đọc được.attributedPrimaryText
: Văn bản chính của đề xuất mà con người có thể đọc được.attributedSecondaryText
: Văn bản phụ có thể đọc được của đề xuất.structuredFormat
: Tên cụ thể và văn bản phân biệt, như thành phố hoặc .
Thông số bắt buộc
truy vấn
Chuỗi văn bản mà bạn muốn tìm kiếm. Chỉ định từ đầy đủ và chuỗi con, vị trí tên, địa chỉ và mã cộng. Chiến lược phát hành đĩa đơn Dịch vụ Tự động hoàn thành (Mới) trả về kết quả trùng khớp đề xuất dựa trên chuỗi này và sắp xếp các kết quả dựa trên mức độ liên quan đã cảm nhận của chúng.
Thông số tùy chọn
loại
Một địa điểm chỉ có thể có một loại chính duy nhất trong các loại Bảng
A hoặc Bảng
B liên kết với thuộc tính đó.
Ví dụ: loại chính có thể là mexican_restaurant
hoặc steak_house
.
Theo mặc định, API trả về tất cả địa điểm dựa trên tham số input
,
bất kể giá trị loại chính được liên kết với địa điểm là gì. Giới hạn kết quả
thuộc một loại chính hoặc loại chính nhất định bằng cách truyền phương thức
Tham số types
.
Sử dụng tham số này để chỉ định tối đa 5 giá trị loại từ Bảng A hoặc Bảng T. Địa điểm phải khớp một trong các giá trị loại chính được chỉ định để đưa vào phản hồi.
Yêu cầu sẽ bị từ chối kèm theo lỗi INVALID_REQUEST
nếu:
- Có hơn 5 loại được chỉ định.
- Mọi loại không nhận dạng được đều được chỉ định.
quốc gia
Chỉ bao gồm kết quả từ danh sách các khu vực chỉ định, được chỉ định dưới dạng mảng tối đa 15 ccTLD (miền cấp cao nhất) miền") 2 ký tự. Nếu bỏ qua, không có hạn chế nào được áp dụng cho câu trả lời. Ví dụ: để giới hạn các khu vực ở Đức và Pháp:
Swift
let filter = GMSAutocompleteFilter() filter.countries = ["DE", "FR"]
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.countries = @[ @"DE", @"FR" ];
GooglePlacesSwift
let filter = AutocompleteFilter(countries: ["DE", "FR"])
Nếu bạn chỉ định cả locationRestriction
và countries
, kết quả sẽ là
nằm trong khu vực giao nhau của hai chế độ cài đặt.
inputOffset
Độ lệch ký tự Unicode dựa trên 0 cho biết vị trí con trỏ trong
input
. Vị trí con trỏ có thể ảnh hưởng đến cụm từ gợi ý mà hệ thống trả về. Nếu
trống, độ dài mặc định là input
.
Vị tríBias hoặc locationRestriction (Hạn chế vị trí)
Bạn có thể chỉ định locationBias
hoặc locationRestriction
, nhưng không thể chỉ định cả hai để xác định
khu vực tìm kiếm. Hãy xem locationRestriction
khi bạn xác định khu vực
kết quả phải nằm trong và locationBias
khi chỉ định khu vực mà
kết quả phải gần nhưng có thể ở bên ngoài khu vực đó.
locationBias
chỉ định một khu vực cần tìm kiếm. Vị trí này thể hiện là thiên kiến, có nghĩa là có thể trả về các kết quả liên quan đến vị trí cụ thể, bao gồm kết quả nằm ngoài khu vực chỉ định.locationRestriction
chỉ định một khu vực cần tìm kiếm. Kết quả bên ngoài vùng đã chỉ định sẽ không được trả về.
Chỉ định vùng locationBias
hoặc locationRestriction
dưới dạng hình chữ nhật
khung nhìn hoặc hình tròn.
Hình tròn được xác định bởi tâm và bán kính tính bằng mét. Bán kính phải là
từ 0,0 đến 50000,0. Giá trị mặc định là 0,0. Cho
locationRestriction
, bạn phải đặt bán kính thành một giá trị lớn hơn 0.
Nếu không, yêu cầu sẽ không trả về kết quả nào.
Ví dụ:
Swift
let center = CLLocationCoordinate2DMake(40.730610, -73.935242) let radius = 1000.0 filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242); radius = 1000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
GooglePlacesSwift
let center = CLLocationCoordinate2DMake(40.477398, -74.259087) let bias = CircularCoordinateRegion(center: center, radius: 1000.0) let filter = AutocompleteFilter(coordinateRegionBias: bias)
Hình chữ nhật là một khung nhìn vĩ độ – kinh độ được biểu thị bằng hai đường chéo
đối diện low
và high
điểm. Khung nhìn được coi là một khu vực đóng,
nghĩa là nó bao gồm cả ranh giới của nó. Giới hạn vĩ độ phải nằm trong khoảng từ -90 đến
Bao gồm 90 độ và giới hạn kinh độ phải nằm trong khoảng từ -180 đến 180
độ:
- Nếu
low
=high
, khung nhìn chỉ bao gồm một điểm duy nhất đó. - Nếu
low.longitude
>high.longitude
, phạm vi kinh độ bị đảo ngược (giá trị khung nhìn vượt qua đường kinh độ 180 độ). - Nếu
low.longitude
= -180 độ vàhigh.longitude
= 180 độ, khung nhìn bao gồm tất cả kinh độ. - Nếu
low.longitude
= 180 độ vàhigh.longitude
= -180 độ, phạm vi kinh độ trống.
Cả low
và high
đều phải được điền và không được điền vào hộp được đại diện
trống. Khung nhìn trống dẫn đến lỗi.
Ví dụ: khung nhìn này bao quanh hoàn toàn Thành phố New York:
Swift
let high = CLLocationCoordinate2DMake(40.921628, -73.700051) let low = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceRectangularLocationOption(high, low)
Objective-C
CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087); CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051); GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceRectangularLocationOption(high, low);
GooglePlacesSwift
let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087) let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051) let filter = AutocompleteFilter(coordinateRegionBias: bias)
nguồn gốc
Điểm gốc để tính khoảng cách theo đường thẳng đến
điểm đến (được trả về dưới dạng distanceMeters
). Nếu giá trị này bị bỏ qua,
khoảng cách theo đường thẳng sẽ không được trả về. Phải được chỉ định là vĩ độ và
kinh độ:
Swift
let filter = GMSAutocompleteFilter() filter.origin = CLLocation(latitude: 37.395804, longitude: -122.077023)
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];
GooglePlacesSwift
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
regionCode
Mã khu vực dùng để định dạng phản hồi, được chỉ định là ccTLD ("cấp cao nhất") miền") 2 ký tự. Hầu hết các mã ccTLD (miền cấp cao nhất theo mã quốc gia) đều giống với mã ISO 3166-1, trong đó một số ngoại lệ đáng chú ý. Ví dụ: ccTLD (miền cấp cao nhất theo mã quốc gia) của Vương quốc Anh là "uk" (.co.uk) trong khi mã ISO 3166-1 của trang web là "gb" (về mặt kỹ thuật cho thực thể " Vương quốc Anh và Bắc Ireland").
Nếu bạn chỉ định mã vùng không hợp lệ, API sẽ trả về INVALID_ARGUMENT
. Tuỳ theo luật hiện hành, thông số này có thể ảnh hưởng đến kết quả.
sessionToken
Mã thông báo phiên là các chuỗi do người dùng tạo để theo dõi Lệnh gọi Tự động hoàn thành (Mới) dưới dạng "phiên". Tính năng Tự động hoàn thành (Mới) sử dụng mã thông báo phiên để nhóm các giai đoạn truy vấn và lựa chọn của người dùng tự động hoàn thành tìm kiếm thành một phiên riêng biệt cho mục đích thanh toán. Để biết thêm thông tin, hãy xem Phiên mã thông báo.
Ví dụ về tính năng Tự động hoàn thành (Mới)
Sử dụng locationLimition (Hạn chế vị trí) và locationBias (Bias)
Tự động hoàn thành (Mới) sử dụng xu hướng IP theo mặc định là
kiểm soát khu vực tìm kiếm. Với xu hướng IP, API sử dụng địa chỉ IP của
làm sai lệch kết quả. Bạn có thể tuỳ ý sử dụng locationRestriction
hoặc
locationBias
(nhưng không phải cả hai) để chỉ định
một khu vực để tìm kiếm.
Giới hạn vị trí chỉ định khu vực cần tìm kiếm. Kết quả nằm ngoài phạm vi được chỉ định sẽ không được trả về. Ví dụ sau đây sử dụng quy tắc hạn chế về vị trí để giới hạn yêu cầu hạn chế vị trí hình tròn có bán kính 5000 mét ở giữa tại San Francisco:
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArrayG<MSAutocompleteSuggestion * >* results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
GooglePlacesSwift
let center = (37.775061, -122.419400) let radius = 5000.0 let restriction = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionRestriction: restriction) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
Với thiên vị về vị trí, vị trí được coi là một thiên kiến, có nghĩa là các kết quả xung quanh vị trí được chỉ định có thể được trả về, bao gồm cả các kết quả nằm ngoài phạm vi . Ví dụ tiếp theo thay đổi yêu cầu trước đó để sử dụng tính năng sai lệch vị trí:
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
GooglePlacesSwift
let center = (37.775061, -122.419400) let radius = 5000.0 let bias = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionBias: bias) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
Các hình thức sử dụng
Sử dụng tham số loại để hạn chế kết quả từ một yêu cầu thuộc một như được liệt kê trong Bảng A và Bảng T. Bạn có thể chỉ định một gồm tối đa 5 giá trị. Nếu bỏ qua, hàm sẽ trả về tất cả các loại.
Ví dụ sau đây chỉ định chuỗi truy vấn "Bóng đá" và sử dụng các loại
để giới hạn kết quả cho các cơ sở thuộc loại
"sporting_goods_store"
:
Swift
let token = GMSAutocompleteSessionToken() let filter = GMSAutocompleteFilter() filter.types = ["sporting_goods_store"] let request = GMSAutocompleteRequest(query:"Soccer") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.types = @[ "sporting_goods_store" ]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
GooglePlacesSwift
let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ]) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
Sử dụng nguồn gốc
Khi bạn đưa tham số origin
vào yêu cầu, được chỉ định là
vĩ độ và kinh độ, API sẽ bao gồm khoảng cách theo đường thẳng
từ điểm gốc đến đích đến trong phản hồi. Phản hồi trả về
khoảng cách là distanceMeters
.
Ví dụ sau đặt điểm khởi hành là trung tâm của San Francisco:
Swift
let token = GMSAutocompleteSessionToken() let origin = CLLocation(latitude: 37.7749, longitude: -122.4194) let filter = GMSAutocompleteFilter() filter.origin = origin let request = GMSAutocompleteRequest(query:"Amoeba") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArrayG<MSAutocompleteSuggestion * >* results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
GooglePlacesSwift
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194)) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
Phân bổ
Bạn có thể dùng tính năng Tự động hoàn thành (Mới) mà không cần bản đồ. Nếu bạn hiển thị một bản đồ, đó phải là bản đồ của Google. Khi bạn hiển thị các đề xuất từ dịch vụ Tự động hoàn thành (Mới) không có bản đồ, bạn phải bao gồm biểu trưng của Google được hiển thị cùng dòng với cụm từ tìm kiếm trường/kết quả. Để biết thêm thông tin, hãy xem phần Hiển thị biểu trưng Google và thuộc tính.