val geocoder = Geocoder(context, Locale.getDefault())
val addresses = geocoder.getFromLocation(latitude, longitude, 1)
val title = addresses[0]?.getAddressLine(0)
val placesClient = Places.createClient(context)
val latLng = LatLng(latitude, longitude)
val request = FindCurrentPlaceRequest.newInstance(listOf(Place.Field.NAME))
placesClient.findCurrentPlace(request)
.addOnSuccessListener { response ->
val place = response.placeLikelihoods[0].place
val title = place.name
}
val url = "https://nominatim.openstreetmap.org/reverse?lat=$latitude&lon=$longitude&format=json"
val request = Request.Builder().url(url).build()
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val jsonResponse = response.body()?.string()
val jsonObject = JSONObject(jsonResponse)
val title = jsonObject.getString("display_name")
}
override fun onFailure(call: Call, e: IOException) {
// Handle failure
}
})
val geocoding = MapboxGeocoding.builder()
.accessToken("YOUR_ACCESS_TOKEN")
.query(Point.fromLngLat(longitude, latitude))
.build()
geocoding.enqueueCall(object : Callback<GeocodingResponse> {
override fun onResponse(call: Call<GeocodingResponse>, response: Response<GeocodingResponse>) {
val title = response.body()?.features()?.get(0)?.placeName()
}
override fun onFailure(call: Call<GeocodingResponse>, throwable: Throwable) {
// Handle failure
}
})