透過集合功能整理內容
你可以依據偏好儲存及分類內容。
基本 Place Autocomplete 元件
Places UI Kit 的 Basic Place Autocomplete 元件可讓您新增個別 UI 元件,在使用者選取地點時傳回地點 ID。這個元件是全螢幕的封面,提供搜尋列供使用者輸入查詢。使用者輸入內容時,搜尋列下方會顯示自動完成結果清單。使用者輕觸地點時,系統只會將地點 ID 傳回給開發人員。這個元件可自訂。
Basic Place Autocomplete 元件提供下列自訂選項:清單密度,以及是否要加入位置圖示。使用 AutocompleteUICustomization
自訂元件。
您可以單獨使用基本地點自動完成元件,也可以搭配其他 Google Maps Platform API 和服務使用。
帳單
每次開啟元件並提出查詢時,系統都會向您收費。除非工作階段過期或從清單中選取地點,否則系統不會再次向你收費。
在應用程式中加入 Basic Autocomplete 元件
設定自動完成篩選器參數 (例如要傳回的類型、要限制結果的國家/地區、結果的區域座標、要求來源 (如適用) 來顯示距離資訊),就像使用 Place Autocomplete (新版) 時一樣,但不需要 Places UI Kit。如需完整操作說明和建立自動完成篩選器的程式碼範例,請參閱 Place Autocomplete (New) 說明文件。
建立自動完成篩選器後,請新增 UI 自訂項目。查看自訂選項和操作說明。
Kotlin
AutocompleteUiCustomization.create(
listDensity = AutocompleteListDensity.MULTI_LINE,
listItemIcon = AutocompleteUiIcon.noIcon(),
)
Java
AutocompleteUiCustomization.builder()
.listItemIcon(AutocompleteUiIcon.noIcon())
.listDensity(AutocompleteListDensity.MULTI_LINE)
.build()
查看完整範例。
自訂基本自動完成元件
清單密度
您可以選擇顯示兩行清單或多行清單。在 AutocompleteUICustomization
類別中,使用 AutocompleteListDensity
(TWO_LINE
或 MULTI_LINE
) 中的選項。如未指定清單密度,元件會顯示兩行清單。
位置圖示
您可以選擇是否要在結果清單中顯示預設地點圖示。在 AutocompleteUICustomization
類別中使用 AutocompleteUIIcon
中的選項 (listItemDefaultIcon
或 noIcon
)。
在基本自動完成元件中新增自訂項目
使用 AutocompleteUICustomization
類別自訂基本自動完成元件。
Kotlin
.setAutocompleteUiCustomization(
AutocompleteUiCustomization.create(
listDensity = AutocompleteListDensity.MULTI_LINE,
listItemIcon = AutocompleteUiIcon.noIcon(),
)
)
Java
.setAutocompleteUiCustomization(
AutocompleteUiCustomization.builder()
.listItemIcon(AutocompleteUiIcon.noIcon())
.listDensity(AutocompleteListDensity.MULTI_LINE)
.build()
)
範例
這個範例會建立自訂的「基本自動完成」元件。
Kotlin
val basicPlaceAutocompleteActivityResultLauncher:
ActivityResultLauncher<Intent> =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
result: ActivityResult ->
val intent = result.data
val place: Place? = BasicPlaceAutocomplete.getPlaceFromIntent(intent!!)
val status: Status? =
BasicPlaceAutocomplete.getResultStatusFromIntent(intent!!)
// ...
}
val autocompleteIntent: Intent =
BasicPlaceAutocomplete.createIntent(this) {
setInitialQuery("INSERT_QUERY_TEXT")
setOrigin(LatLng(10.0, 10.0))
// ...
setAutocompleteUiCustomization(
AutocompleteUiCustomization.create(
listDensity = AutocompleteListDensity.MULTI_LINE,
listItemIcon = AutocompleteUiIcon.noIcon(),
)
)
}
basicPlaceAutocompleteActivityResultLauncher.launch(autocompleteIntent)
Java
ActivityResultLauncher<Intent> basicPlaceAutocompleteActivityResultLauncher =
registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
Intent intent = result.getData();
if (intent != null) {
Place place =
BasicPlaceAutocomplete.getPlaceFromIntent(intent);
Status status =
BasicPlaceAutocomplete.getResultStatusFromIntent(intent);
//...
}
}
}
);
Intent basicPlaceAutocompleteIntent =
new BasicPlaceAutocomplete.IntentBuilder()
.setInitialQuery("INSERT_QUERY_TEXT")
.setOrigin(new LatLng(10.0, 10.0))
//...
.setAutocompleteUiCustomization(
AutocompleteUiCustomization.builder()
.listItemIcon(AutocompleteUiIcon.noIcon())
.listDensity(AutocompleteListDensity.MULTI_LINE)
.build())
.build(this);
basicPlaceAutocompleteActivityResultLauncher.launch(basicPlaceAutocompleteIntent);
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-17 (世界標準時間)。
[null,null,["上次更新時間:2025-08-17 (世界標準時間)。"],[],[],null,["Basic Place Autocomplete component\n\n\nThe Basic Place Autocomplete component of the Places UI Kit lets you add an individual UI component that returns a [place ID](/maps/documentation/places/android-sdk/place-id) when a user selects a place. The component is a full screen cover that provides a search bar for users to enter a query. As the user types, a list of autocomplete results will be shown below the search bar. When the user taps on a place, a place object with only place ID is returned to the developer. This component is customizable.\n\n\nThe Basic Place Autocomplete component has the following customization options: list density, and whether to include location icons. Use [`AutocompleteUICustomization`](/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/widget/model/AutocompleteUiCustomization) to customize the component.\n\n\nYou can use the Basic Place Autocomplete component independently or in conjunction with other Google Maps Platform APIs and services.\n\nBilling\n\n\nYou are billed each time the component is opened and a query is made. You won't be billed again for that session unless the session expires or a place is selected from the list.\n\nAdd the Basic Autocomplete component to your app\n\n\nSet the autocomplete filter parameters (for example, the types to return, the country to limit results to, the region coordinates for results, the origin of the request to display distance information, if available) as you would to use Place Autocomplete (New) without the Places UI Kit. See the [Place Autocomplete (New) documentation](/maps/documentation/places/android-sdk/place-autocomplete) for full instructions and [an example of the code to create an autocomplete filter](/maps/documentation/places/android-sdk/place-autocomplete#optional-parameters).\n\n\nOnce you've created your autocomplete filter, add your UI customizations. [See customization options and instructions.](/maps/documentation/places/android-sdk/basic-place-autocomplete#customize-the-basic-autocomplete-component) \n\nKotlin \n\n```kotlin\nAutocompleteUiCustomization.create(\n listDensity = AutocompleteListDensity.MULTI_LINE,\n listItemIcon = AutocompleteUiIcon.noIcon(),\n)\n```\n\nJava \n\n```java\n \nAutocompleteUiCustomization.builder()\n .listItemIcon(AutocompleteUiIcon.noIcon())\n .listDensity(AutocompleteListDensity.MULTI_LINE)\n .build()\n```\n\n\n[See the full example](/maps/documentation/places/android-sdk/basic-place-autocomplete#example).\n\nCustomize the Basic Autocomplete component\n\nList density\n\n\nYou can choose to either display a two-line list or a multiline list. Use the options in `AutocompleteListDensity` (`TWO_LINE` or `MULTI_LINE`) in the [`AutocompleteUICustomization`](/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/widget/model/AutocompleteUiCustomization) class. If you don't specify the list density, the component will display a two-line list.\n\nLocation icon\n\n\nYou can choose whether to display a default place icon on the results list. Use the options in `AutocompleteUIIcon` (`listItemDefaultIcon` or `noIcon`) in the [`AutocompleteUICustomization`](/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/widget/model/AutocompleteUiCustomization) class.\n\nAdd customizations to the Basic Autocomplete component\n\n\nUse the [`AutocompleteUICustomization`](/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/widget/model/AutocompleteUiCustomization) class to customize the Basic Autocomplete component. \n\nKotlin \n\n```kotlin\n.setAutocompleteUiCustomization(\n AutocompleteUiCustomization.create(\n listDensity = AutocompleteListDensity.MULTI_LINE,\n listItemIcon = AutocompleteUiIcon.noIcon(),\n )\n)\n```\n\nJava \n\n```java\n.setAutocompleteUiCustomization(\n AutocompleteUiCustomization.builder()\n .listItemIcon(AutocompleteUiIcon.noIcon())\n .listDensity(AutocompleteListDensity.MULTI_LINE)\n .build()\n)\n```\n\nExample\n\n\nThis example creates a custom Basic Autocomplete component. \n\nKotlin \n\n```kotlin\n val basicPlaceAutocompleteActivityResultLauncher:\n ActivityResultLauncher\u003cIntent\u003e =\n registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {\n result: ActivityResult -\u003e\n val intent = result.data\n val place: Place? = BasicPlaceAutocomplete.getPlaceFromIntent(intent!!)\n val status: Status? = \n BasicPlaceAutocomplete.getResultStatusFromIntent(intent!!)\n // ...\n }\n \n val autocompleteIntent: Intent =\n BasicPlaceAutocomplete.createIntent(this) {\n setInitialQuery(\"INSERT_QUERY_TEXT\")\n setOrigin(LatLng(10.0, 10.0))\n // ...\n \n setAutocompleteUiCustomization(\n AutocompleteUiCustomization.create(\n listDensity = AutocompleteListDensity.MULTI_LINE,\n listItemIcon = AutocompleteUiIcon.noIcon(),\n )\n )\n }\n \n basicPlaceAutocompleteActivityResultLauncher.launch(autocompleteIntent)\n```\n\nJava \n\n```java\n ActivityResultLauncher\u003cIntent\u003e basicPlaceAutocompleteActivityResultLauncher =\n registerForActivityResult(\n new ActivityResultContracts.StartActivityForResult(),\n new ActivityResultCallback\u003cActivityResult\u003e() {\n @Override\n public void onActivityResult(ActivityResult result) {\n Intent intent = result.getData();\n if (intent != null) {\n Place place =\n BasicPlaceAutocomplete.getPlaceFromIntent(intent);\n Status status =\n BasicPlaceAutocomplete.getResultStatusFromIntent(intent);\n //...\n }\n }\n }\n );\n \n Intent basicPlaceAutocompleteIntent =\n new BasicPlaceAutocomplete.IntentBuilder()\n .setInitialQuery(\"INSERT_QUERY_TEXT\")\n .setOrigin(new LatLng(10.0, 10.0))\n //...\n \n .setAutocompleteUiCustomization(\n AutocompleteUiCustomization.builder()\n .listItemIcon(AutocompleteUiIcon.noIcon())\n .listDensity(AutocompleteListDensity.MULTI_LINE)\n .build())\n .build(this);\n \n basicPlaceAutocompleteActivityResultLauncher.launch(basicPlaceAutocompleteIntent);\n```"]]