改装2呼吁android谷歌地图Api不工作



我在android项目中使用改装,以便能够调用谷歌地图api并获得自动完成的地点建议。我正在为调用传递一个地址(类型为String参数(。ImproveCaller类的启动方法如下所示:

private val BASE_URL = "https://maps.googleapis.com/maps/"
fun start(address: String) {
val gson = GsonBuilder()
.setLenient()
.create()
val retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build()
val placeAutoCompleteAPI: PlaceAutoCompleteAPI =
retrofit.create(PlaceAutoCompleteAPI::class.java)
val call: Call<PredictionResponse?>? = placeAutoCompleteAPI.loadPredictions(address)
call?.enqueue(this)
}

PlacesAutoCompleteApi具有带有loadPredictions函数的http请求:

@GET("api/place/autocomplete/json?types=address&key=AIzaSyApUcl88FpB4xHH0HS9FW4WC4wHaJu3VVU")
fun loadPredictions(@Query("input") address: String?): Call<PredictionResponse?>?

但是,我无法从服务器获得响应。对于从服务器查询返回的数据类型,我使用了PredictionResponse和Prediction类。

代码或方法有什么问题?

提前感谢您,Lampros

我对editText使用位置自动完成,它的工作方式如下:

创建谷歌云账户并为自己获取一个API密钥(如果你想使用自动完成,你可能已经拥有了(。在那里您设置了API必须工作的程序包。

在清单中添加以下内容:

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />

分级使用

implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.libraries.places:places:2.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'

如果有人按下编辑文本,只有3行代码:

val fields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG, Place.Field.ADDRESS)
val intent = Autocomplete.IntentBuilder(AutocompleteActivityMode.OVERLAY, fields).build(this@AddPlaceActivity)
startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE)

如果不需要,可以删除lat和lng值。

最新更新