首页 > 解决方案 > 如何从 Places AutoComplete Fragment 的结果返回中获取相应的 LatLon

问题描述

我正在使用 Places AutocompleteFragment 来获取地名、地址和 LatLng,如下所示:

tvWhereDestination.setOnClickListener {

        // Set the fields to specify which types of place data to return.
        val fields: List<Place.Field> = asList(
            Place.Field.ID,
            Place.Field.NAME,
            Place.Field.ADDRESS,
            Place.Field.LAT_LNG
        )


        val intent = Autocomplete.IntentBuilder(
            AutocompleteActivityMode.FULLSCREEN, fields
        ).setCountry("US")
            .build(this)
        startActivityForResult(intent, AUTOCOMPLETE_REQUEST_CODE_DESTINATION)
    }

问题:

我无法从结果返回中得到相应的纬度和经度,如下所示:

结果返回:

val place = Autocomplete.getPlaceFromIntent(data!!)

place.latLng.toString() 将显示: lat/lng: (x.xxxxxxx,xxx.xxxxxxx)

我试过 place.latLng!!latitude 但它会显示语法错误。

有没有人能够获得各自的纬度/经度?

更新:
在 gradle 中,我添加了:
应用插件:'com.android.application'
implementation 'com.google.android.gms:play-services-maps:17.0.0'

但我仍然无法从 Place.latLng 获得相应的 Lat 和 Lng

谢谢

标签: androidkotlingoogleplacesautocomplete

解决方案


我认为这些是字段名称:

place.latLng.latitude
place.latLng.longitude

推荐阅读