Как настроить Android Google Maps, чтобы отображать карту целиком (частично) один раз? - PullRequest
1 голос
/ 30 марта 2020

Я пытаюсь показать одну карту всего мира на android TV (API 29) и, наконец, с помощью app:liteMode="true" смог увидеть всю карту мой телевизионный вид (img)

  1. Не могли бы вы помочь мне настроить его так, чтобы была видна только зеленая область прямоугольника (или чуть больше без повтора)?
  2. можно ли удалить кнопки красного цвета площадь? причина в режиме app:liteMode="true"

MainActivity.kt

import android.app.Activity
import android.os.Bundle
import android.widget.Toast
import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.MapsInitializer
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.LatLngBounds
import com.google.android.gms.maps.model.MarkerOptions
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : Activity() {
    private lateinit var mMap: GoogleMap
    private val center = LatLng(.0, .0)
    private val mine = LatLngBounds(
        LatLng(-30.0,150.0), LatLng(30.0, -150.0)
    )
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        with(mapView) {
            // Initialise the MapView
            onCreate(null)
            // Set the map ready callback to receive the GoogleMap object
            getMapAsync{
                MapsInitializer.initialize(applicationContext)
                setMapLocation(it)
            }
        }
    }

    private fun setMapLocation(map : GoogleMap) {
        with(map) {
            moveCamera(CameraUpdateFactory.newLatLngZoom(center, 1f))
            addMarker(MarkerOptions().position(center))
            mapType = GoogleMap.MAP_TYPE_NORMAL
            setOnMapClickListener {
                Toast.makeText(this@MainActivity, "Clicked on map", Toast.LENGTH_SHORT).show()
            }
        }
    }

    override fun onResume() {
        super.onResume()
        mapView.onResume()
    }

    override fun onPause() {
        super.onPause()
        mapView.onPause()
    }

    override fun onDestroy() {
        super.onDestroy()
        mapView.onDestroy()
    }

    override fun onLowMemory() {
        super.onLowMemory()
        mapView.onLowMemory()
    }
}

activity_main. xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.google.android.gms.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="460dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:liteMode="true" />
</androidx.constraintlayout.widget.ConstraintLayout>

1 Ответ

0 голосов
/ 30 марта 2020

проверьте это для удаления красных кнопок области:

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.getUiSettings().setMapToolbarEnabled(false);

    // Do other staff
}

также проверьте этот ответ -> { ссылка }

Я надеюсь быть полезным :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...