Google地图位置自动填充设置当前位置默认Android

时间:2018-03-22 10:16:51

标签: google-maps android-studio autocomplete google-places

当我点击自动完成时,是否可以将当前地址设置为默认字符串?非常像this post,但我找不到任何体面的答案。请帮忙。谢谢! :)

1 个答案:

答案 0 :(得分:1)

尽管已经过去了 3 年,但我还是决定回答,以防有人需要它。由于 startActivityForResult 已被弃用,我在此处采用了处理活动结果的新方法。当您创建 Intent 以打开自动完成活动时,您应该在构建它之前应用 setInitialQuery("Hawaii")。完整代码如下:

var resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
    if (result.resultCode == Activity.RESULT_OK) {
        // There are no request codes
        val data: Intent? = result.data

        data?.let {
            val place = Autocomplete.getPlaceFromIntent(data)
            makeToast(place.name.toString()) // <- Consume your result
        }
    }
}

private fun openSearchAutocomplete() {
    val fields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS, Place.Field.LAT_LNG)

    val intent = Autocomplete.IntentBuilder(
        AutocompleteActivityMode.OVERLAY, fields).setCountry("US") //United States
        .setInitialQuery("Hawaii") // <- set initial query here
        .build(this)
    resultLauncher.launch(intent)
}