"results" : [
{
"geometry" : {
"location" : {
"lat" : ,
"lng" :
},
"viewport" : {
"northeast" : {
"lat" : ,
"lng" :
},
"southwest" : {
"lat" : ,
"lng" :
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id" : " ",
"name" : "Singapore",
"photos" : [
{
"height" : 853,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/108093408089432966223\"\u003eAdam Bolt\u003c/a\u003e"
],
"photo_reference" : "CmRaAAAARrX6eoqFZJfB_kjT44C4B0aGaFV2eHZ2JzNay6BcwZRuSzK-Y1JYjOqE7s1RzUjzV_HwEuf98r5S4TRb6lUHMN2HRQq15iKLn0q2H7PxT9cERbsNeFAePMxoiUWhmgRBEhDqLn9Cft5o2sZ_YLvXxkw8GhRAW1ppgq9nxsA1nKOpls7HJxfIPw",
"width" : 1280
}
],
"place_id" : "",
"reference" : "",
"scope" : "GOOGLE",
"types" : [ "locality", "political" ],
"vicinity" : "Singapore"
}
Сверху json Я пытаюсь отобразить фотографию, имя и окрестности в горизонтальном окне повторного просмотра на картах. Успешно отображаем имя и окрестности. Но как получить фото и отобразить в режиме просмотра изображений в горизонтальном виде переработчика в действии. в моей активности карты я получаю имя и окрестности, подобные этому
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_places_map)
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
val mapFragment = supportFragmentManager
.findFragmentById(R.id.map) as SupportMapFragment
mapFragment.getMapAsync(this)
recyclerview = findViewById<RecyclerView>(R.id.rvplaces)
recyclerview.layoutManager =
LinearLayoutManager(this.applicationContext, RecyclerView.HORIZONTAL, false)
NearbyplacesArrayList = ArrayList()
}
inner class PlacesRequest : AsyncTask<String , Int,JSONArray> (){
override fun doInBackground(vararg params: String?): JSONArray {
val url = URL(params[0])
val httpURLConnection = url.openConnection() as HttpURLConnection
httpURLConnection.requestMethod = "GET"
httpURLConnection.connect()
val result = httpURLConnection.inputStream.bufferedReader().readText()
val jsonObject = JSONObject(result)
nextToken = if (jsonObject.has("next_page_token"))
jsonObject.getString("next_page_token")
else ""
return jsonObject.getJSONArray("results")
}
override fun onPostExecute(result: JSONArray?) {
super.onPostExecute(result)
requestCount++
for(i in 0 until result!!.length()){
val jsonObject = result.getJSONObject(i)
var list: placesModel = placesModel(jsonObject.getString("name"),jsonObject.getString("vicinity"))
NearbyplacesArrayList.add(list)
adapter = PlacesAdapter(NearbyplacesArrayList, applicationContext)
recyclerview.adapter = adapter
}
}
}
Может ли кто-нибудь помочь мне, как получить фотографию и отобразить изображение в виде изображения recylcerview. Ожидаемый вывод
Донетис, кстати. получил вывод.
var placearray = jsonObject.getJSONArray("photos")
if(placearray == null){
getphoto = URL (jsonObject.getString("icon"))
}else {
for (j in 0 until placearray!!.length()) {
var place = placearray.getJSONObject(j)
var placeref: String = place.getString("photo_reference")
getphoto =
URL("https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=$placeref&key=")
var list: placesModel = placesModel(
getphoto,
jsonObject.getString("name"),
jsonObject.getString("vicinity")
)