[英]Google Maps API - Autocomplete Suggestions are missing some locations/places
我們在 Rails 應用程序中使用 Google Maps 的 API 和 VueJS 前端。
我認為上述任何一項都不重要,因為我已經檢查了瀏覽器中的 URL JSON 響應並且它缺少位置。 它似乎適用於城市名稱、郵政編碼 - 但它顯示的建議與我在谷歌日歷中輸入位置字段時顯示的建議不同。
請求 URL(移除了明顯的令牌/身份驗證密鑰):-
https://maps.googleapis.com/maps/api/place/autocomplete/json?types=geocode&input=Ritz%20London
回復:-
{
"predictions" : [
{
"description" : "Ritz Parade, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 0
},
{
"length" : 6,
"offset" : 13
}
],
"place_id" : "EhdSaXR6IFBhcmFkZSwgTG9uZG9uLCBVSyIuKiwKFAoSCbu6Pcob",
"reference" : "EhdSaXR6IFBhcmFkZSwgTG9uZG9uLCBVSyIuKiwKFAoSCbu6PcobEnZIEbPVf1MZfE",
"structured_formatting" : {
"main_text" : "Ritz Parade",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 0
}
],
"secondary_text" : "London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 0
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz Parade"
},
{
"offset" : 13,
"value" : "London"
},
{
"offset" : 21,
"value" : "UK"
}
],
"types" : [ "route", "geocode" ]
}
],
"status" : "OK"
}
倫敦的實際 Ritz Hotel 沒有顯示在這里,但它清楚地顯示在我的 Google 日歷位置搜索中。
我目前無法訪問我們的 API 控制台,但可以想象這是一個需要在 API 控制台中打開的設置,或者作為我們請求中的附加參數傳遞? 還是我找錯地方了?
執行相同的搜索並使用establishment
作為types
參數會返回您可能想要的結果。
根據類型文檔:
establishment
指示 Place Autocomplete 服務僅返回業務結果。
請求types=establishment
: https://maps.googleapis.com/maps/api/place/autocomplete/json?types=establishment&input=Ritz%20London&language=en&key=your_api_key_here
{
"predictions" : [
{
"description" : "The Ritz London, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 4
},
{
"length" : 6,
"offset" : 29
}
],
"place_id" : "ChIJV8gP0ykFdkgRFEAEHoE1YVk",
"reference" : "ChIJV8gP0ykFdkgRFEAEHoE1YVk",
"structured_formatting" : {
"main_text" : "The Ritz London",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 4
}
],
"secondary_text" : "Piccadilly, London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 12
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "The Ritz London"
},
{
"offset" : 17,
"value" : "Piccadilly"
},
{
"offset" : 29,
"value" : "London"
},
{
"offset" : 37,
"value" : "UK"
}
],
"types" : [ "lodging", "restaurant", "food", "point_of_interest", "establishment" ]
},
{
"description" : "Ritz, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 0
},
{
"length" : 6,
"offset" : 6
}
],
"place_id" : "ChIJ1wd5z6gFdkgRUdbMn3pMiKM",
"reference" : "ChIJ1wd5z6gFdkgRUdbMn3pMiKM",
"structured_formatting" : {
"main_text" : "Ritz",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 0
}
],
"secondary_text" : "London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 0
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz"
},
{
"offset" : 6,
"value" : "London"
},
{
"offset" : 14,
"value" : "UK"
}
],
"types" : [ "laundry", "point_of_interest", "establishment" ]
},
{
"description" : "Ritz London Cigars, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 11,
"offset" : 0
}
],
"place_id" : "ChIJa_Ih9V8FdkgRfNt8eaSIXuw",
"reference" : "ChIJa_Ih9V8FdkgRfNt8eaSIXuw",
"structured_formatting" : {
"main_text" : "Ritz London Cigars",
"main_text_matched_substrings" : [
{
"length" : 11,
"offset" : 0
}
],
"secondary_text" : "Piccadilly, London, UK"
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz London Cigars"
},
{
"offset" : 20,
"value" : "Piccadilly"
},
{
"offset" : 32,
"value" : "London"
},
{
"offset" : 40,
"value" : "UK"
}
],
"types" : [ "point_of_interest", "store", "establishment" ]
},
{
"description" : "Hiro Miyoshi at The Ritz London, The Ritz, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 11,
"offset" : 20
}
],
"place_id" : "ChIJcXuw6tkFdkgR89PgYYTudzU",
"reference" : "ChIJcXuw6tkFdkgR89PgYYTudzU",
"structured_formatting" : {
"main_text" : "Hiro Miyoshi at The Ritz London",
"main_text_matched_substrings" : [
{
"length" : 11,
"offset" : 20
}
],
"secondary_text" : "The Ritz, Piccadilly, London, UK"
},
"terms" : [
{
"offset" : 0,
"value" : "Hiro Miyoshi at The Ritz London"
},
{
"offset" : 33,
"value" : "The Ritz"
},
{
"offset" : 43,
"value" : "Piccadilly"
},
{
"offset" : 55,
"value" : "London"
},
{
"offset" : 63,
"value" : "UK"
}
],
"types" : [
"beauty_salon",
"hair_care",
"spa",
"point_of_interest",
"store",
"establishment"
]
},
{
"description" : "Ritz Restaurant, King Street, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 0
},
{
"length" : 6,
"offset" : 30
}
],
"place_id" : "ChIJOVU94EkOdkgRqhr357HTODs",
"reference" : "ChIJOVU94EkOdkgRqhr357HTODs",
"structured_formatting" : {
"main_text" : "Ritz Restaurant",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 0
}
],
"secondary_text" : "King Street, London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 13
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz Restaurant"
},
{
"offset" : 17,
"value" : "King Street"
},
{
"offset" : 30,
"value" : "London"
},
{
"offset" : 38,
"value" : "UK"
}
],
"types" : [
"cafe",
"restaurant",
"food",
"point_of_interest",
"store",
"establishment"
]
}
],
"status" : "OK"
}
在同一文檔頁面上:
如果未指定任何內容,則返回所有類型。 通常只允許使用一種類型。 例外是您可以安全地混合地理編碼和機構類型,但請注意,這與不指定類型具有相同的效果。
沒有指定types
的請求: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Ritz%20London&language=en&key=your_api_key_here
{
"predictions" : [
{
"description" : "The Ritz London, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 4
},
{
"length" : 6,
"offset" : 29
}
],
"place_id" : "ChIJV8gP0ykFdkgRFEAEHoE1YVk",
"reference" : "ChIJV8gP0ykFdkgRFEAEHoE1YVk",
"structured_formatting" : {
"main_text" : "The Ritz London",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 4
}
],
"secondary_text" : "Piccadilly, London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 12
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "The Ritz London"
},
{
"offset" : 17,
"value" : "Piccadilly"
},
{
"offset" : 29,
"value" : "London"
},
{
"offset" : 37,
"value" : "UK"
}
],
"types" : [ "lodging", "restaurant", "food", "point_of_interest", "establishment" ]
},
{
"description" : "Ritz, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 0
},
{
"length" : 6,
"offset" : 6
}
],
"place_id" : "ChIJ1wd5z6gFdkgRUdbMn3pMiKM",
"reference" : "ChIJ1wd5z6gFdkgRUdbMn3pMiKM",
"structured_formatting" : {
"main_text" : "Ritz",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 0
}
],
"secondary_text" : "London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 0
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz"
},
{
"offset" : 6,
"value" : "London"
},
{
"offset" : 14,
"value" : "UK"
}
],
"types" : [ "laundry", "point_of_interest", "establishment" ]
},
{
"description" : "Ritz London Cigars, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 11,
"offset" : 0
}
],
"place_id" : "ChIJa_Ih9V8FdkgRfNt8eaSIXuw",
"reference" : "ChIJa_Ih9V8FdkgRfNt8eaSIXuw",
"structured_formatting" : {
"main_text" : "Ritz London Cigars",
"main_text_matched_substrings" : [
{
"length" : 11,
"offset" : 0
}
],
"secondary_text" : "Piccadilly, London, UK"
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz London Cigars"
},
{
"offset" : 20,
"value" : "Piccadilly"
},
{
"offset" : 32,
"value" : "London"
},
{
"offset" : 40,
"value" : "UK"
}
],
"types" : [ "point_of_interest", "store", "establishment" ]
},
{
"description" : "Hiro Miyoshi at The Ritz London, The Ritz, Piccadilly, London, UK",
"matched_substrings" : [
{
"length" : 11,
"offset" : 20
}
],
"place_id" : "ChIJcXuw6tkFdkgR89PgYYTudzU",
"reference" : "ChIJcXuw6tkFdkgR89PgYYTudzU",
"structured_formatting" : {
"main_text" : "Hiro Miyoshi at The Ritz London",
"main_text_matched_substrings" : [
{
"length" : 11,
"offset" : 20
}
],
"secondary_text" : "The Ritz, Piccadilly, London, UK"
},
"terms" : [
{
"offset" : 0,
"value" : "Hiro Miyoshi at The Ritz London"
},
{
"offset" : 33,
"value" : "The Ritz"
},
{
"offset" : 43,
"value" : "Piccadilly"
},
{
"offset" : 55,
"value" : "London"
},
{
"offset" : 63,
"value" : "UK"
}
],
"types" : [
"beauty_salon",
"hair_care",
"spa",
"point_of_interest",
"store",
"establishment"
]
},
{
"description" : "Ritz Parade, London, UK",
"matched_substrings" : [
{
"length" : 4,
"offset" : 0
},
{
"length" : 6,
"offset" : 13
}
],
"place_id" : "EhdSaXR6IFBhcmFkZSwgTG9uZG9uLCBVSyIuKiwKFAoSCbu6PcobEnZIEbPVf1MZfEocEhQKEgnz8xe3Wxt2SBEKsgA5eS6RSQ",
"reference" : "EhdSaXR6IFBhcmFkZSwgTG9uZG9uLCBVSyIuKiwKFAoSCbu6PcobEnZIEbPVf1MZfEocEhQKEgnz8xe3Wxt2SBEKsgA5eS6RSQ",
"structured_formatting" : {
"main_text" : "Ritz Parade",
"main_text_matched_substrings" : [
{
"length" : 4,
"offset" : 0
}
],
"secondary_text" : "London, UK",
"secondary_text_matched_substrings" : [
{
"length" : 6,
"offset" : 0
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Ritz Parade"
},
{
"offset" : 13,
"value" : "London"
},
{
"offset" : 21,
"value" : "UK"
}
],
"types" : [ "route", "geocode" ]
}
],
"status" : "OK"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.