Places SDK for Android 支援地點詳細資料 (舊版)。如果您熟悉 Places SDK for Android (舊版),「Place Details (New)」會進行下列變更:
採用新的定價模式。如要瞭解所有 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 (新版):傳回地點類型 (新版)中表 A 和表 B 定義的字串,包括 3.3.0 版新增的所有地點類型。
Places SDK for Android:傳回
Place.Types
定義的列舉,不包含 3.3.0 以上版本新增的型別。
存取地點評論
Android 版 Places SDK (新版) 新增了 Review
類別,其中包含地點的評論。Place
物件最多可包含 5 則評論。
Review
類別也可以包含出處和作者出處。如果應用程式會顯示評論,則也須顯示任何出處或作者出處資訊。詳情請參閱「顯示評論」。
詳情請參閱出處資訊說明文件。
存取地點名稱語言代碼
在 Places SDK for Android (舊版) 中,Place.getName()
方法會傳回包含地點名稱的文字字串。如要使用地點名稱填入 Place
物件,您必須在地點詳細資料要求的欄位清單中加入 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 (新版)」。