Places SDK for Android 支援現有的 Place Details。如果您熟悉現有的 Places SDK for Android,新版 Place Details 會進行以下變更:
使用新的定價模式。如需所有 API 的定價資訊,請參閱 Places SDK for Android (新版)。
您必須呼叫
Places.initializeWithNewPlacesApiEnabled()
方法,才能初始化應用程式。如要進一步瞭解如何選取 Places API 服務,請參閱「設定 Google Cloud 專案」。必須使用欄位遮蓋功能。您必須指定要在回應中傳回哪些欄位。系統不會傳回預設欄位清單。如果省略這個清單,方法會傳回錯誤。
以下各節將說明其他變更。
存取新的地點類型
每個地點都可能與一或多個類型值相關聯。Android 版 Places SDK 3.3.0 以上版本新增許多類型值。如需完整清單,請參閱「擴充地點類型」。
Place.getPlaceTypes()
方法會傳回類型值,做為字串值清單。傳回的值取決於您使用的 Places SDK for Android 版本:
Places SDK for Android (新版):傳回「Place Types (新版)」中顯示的「Table A」和「Table B」所定義的字串,包括在 3.3.0 版中新增的所有地點類型。
Places SDK for Android:傳回
Place.Types
定義的列舉,但不包含 3.3.0 以上版本新增的新類型。
存取地點評論
Places SDK for Android (新版) 新增了 Review
類別,其中包含地點的評論。Place
物件最多可包含五則評論。
Review
類別也可以包含出處註明和作者出處註明。如果您在應用程式中顯示評論,則必須一併顯示任何出處資訊或作者出處資訊。詳情請參閱「顯示評論」。
詳情請參閱歸因說明文件。
存取地點名稱語言代碼
現有的 Place.getName()
方法會傳回包含地點名稱的文字字串。如要使用地點名稱填入 Place
物件,您必須在 Place Details 要求的欄位清單中加入 Place.Field.DISPLAY_NAME
。
Place
物件現在包含名稱字串的語言代碼。如要使用語言代碼填入 Place
物件,您必須:
在要求的欄位清單中加入
Place.Field.DISPLAY_NAME
。這個值會將回應設為在Place
物件中加入地點名稱和語言代碼。呼叫
PlacesClient.fetchPlace()
。PlacesClient.findCurrentPlace()
不支援語言代碼欄位。使用
Place.getNameLanguageCode()
方法存取Place
物件中的語言代碼欄位。
設定區域代碼
Places SDK for Android (新版) 會將區域代碼要求參數新增至 Place Details。區域代碼用於設定回應格式,並指定為 兩位數 CLDR 代碼值。這個參數也會對搜尋結果產生偏差效果。沒有預設值。您必須啟用新 SDK 才能設定區域代碼。
如果回應中的地址欄位國家/地區名稱與區域代碼相符,系統就會從地址中省略國家/地區代碼。
大多數 CLDR 代碼與 ISO 3166-1 代碼相同,但有一些例外情況。舉例來說,英國的 ccTLD 是「uk」(.co.uk),而 ISO 3166-1 代碼則是「gb」(技術上代表「大不列顛與北愛爾蘭聯合王國」實體)。這個參數可能會影響適用法律的結果。
要求範例
如需完整範例,請參閱「Place Details (新版)」。