Search code examples
androidkotlincoordinatesgoogle-places

Why does place.latLng return null?


Call on place.latLng which calls getLatLng() under the hood, on Place's object returns null and not the coordinates.

autocompleteFragment.setOnPlaceSelectedListener(object : 
PlaceSelectionListener {
        override fun onPlaceSelected(place: Place) {
            Toast.makeText(this@MainActivity, "" + place.latLng.toString(), Toast.LENGTH_LONG)
                .show()
        }

        override fun onError(status: Status) {
            Toast.makeText(this@MainActivity, "" + status.statusMessage, Toast.LENGTH_SHORT)
                .show()
        }

    })

Solution

  • I forgot to add Place.Field.LAT_LNG to the place fields array.

    Before:
        var placeFields = listOf(
                Place.Field.ID,
                Place.Field.NAME,
                Place.Field.ADDRESS,
            )
    After: 
    
        var placeFields = listOf(
                Place.Field.ID,
                Place.Field.NAME,
                Place.Field.ADDRESS,
                Place.Field.LAT_LNG
            )
    

    When you specify the array:

    autocompleteFragment.setPlaceFields(placeFields)