首页 > 解决方案 > 地点 ID 在新地点 API 可能性中返回 null

问题描述

我已经实现了新的 Place API,下面给出了我最近的地点列表方法。

private fun getNearestPlaceList(placesClient: PlacesClient) {
        val placeFields = Arrays.asList(Place.Field.NAME)
        val request = FindCurrentPlaceRequest.builder(placeFields).build()
        placesClient.findCurrentPlace(request).addOnSuccessListener { response ->
            placeList.clear()
            for (placeLikelihood in response.placeLikelihoods) {
                if(!placeLikelihood.place.id.isNullOrEmpty() && !placeLikelihood.place.name.isNullOrEmpty()){
                    var placeModel = PlaceModel(placeName = placeLikelihood.place.name!!, placeId = placeLikelihood.place.id!!)
                    placeList.add(placeModel)
                }
            }
            setAdapter(placeList)
        }.addOnFailureListener { exception ->
            if (exception is ApiException) {
                Log.e(TAG, "Place not found: " + exception.statusCode)
            }
        }
    }

在这个地方Likelihood.place.id 总是返回null。任何人都知道,我们如何从可能性中获取地点 ID?

标签: androidgoogle-mapsgoogle-maps-api-3google-places-api

解决方案


你正在使用

val placeFields = Arrays.asList(Place.Field.NAME)

Place.Field.ID如果要返回 ID ,则需要包括在内。


推荐阅读