【发布时间】:2019-11-29 06:04:40
【问题描述】:
这个话题似乎已经在 StackOverflow 上多次提出, 但它们都已经过时了。我再次询问要求是否发生了变化,以及它是否已成为付费服务。
我的应用使用带有标记的 Google 地图,一切正常。 API 密钥已包含在内,并且地图标记按预期更新。但是,我还想将地址插入地图标记中,并发现这是通过使用 GeoCoder 实现的。 我尝试了很多示例,但 SERVICE 都失败了NOT AVAILABLE 错误。这是 Ray Wenderlich 网站上的一个:
fun getAddress(latLng: LatLng): String {
val geocoder = Geocoder(this)
val addresses: List<Address>?
val address: Address?
var addressText = ""
try {
addresses = geocoder.getFromLocation(latLng.latitude, latLng.longitude, 1)
if (null != addresses && !addresses.isEmpty()) {
address = addresses[0]
for (i in 0 until address.maxAddressLineIndex) {
addressText += if (i == 0) address.getAddressLine(i) else "\n" + address.getAddressLine(i)
}
}
} catch (e: IOException) {
Log.e("GeoCoder", e.localizedMessage) // ==> throws "Service not Available"
}
return addressText
}
在我的 Google 开发者控制台中,我发现了一个未启用的 GeoCoding API。
Q1.这仅仅是将纬度/经度坐标转换为街道地址所必需的吗?
Q2.这是否意味着每次查找街道地址都需要按照定价表中的说明收费?
【问题讨论】:
标签: android google-maps kotlin google-geocoder reverse-geocoding