Я разрабатываю приложение для планшета Kiosk (очень большой экран) без GPS.
Мне не удается показать карту на этом планшете, карты остаются серыми с логотипом Google, но это работает на любом другом устройстве, даже с отключенным gps и без разрешения.
Что я должен сделать :
показать несколько маркеров в определенных местах, с различными значками, увеличить, чтобы сделать его нужным.
Опять же, это работает везде, пока устройство имеет GPS (вкл или выкл).
Я отключил все необходимые разрешения в манифесте, иначе приложение не будет установлено.
Я пробовал использовать статическую карту Google, но это кажется хорошим решением, поскольку статические карты не бесплатны, и мой клиент не готов платить.
Макет:
<com.google.android.gms.maps.MapView xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:uiScrollGestures="true"
map:mapType="normal"
map:uiCompass="false"
map:uiZoomGestures="true"
map:uiTiltGestures="true"
map:uiRotateGestures="true"/>
Код (добавляя только один маркер для примера):
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
view = inflater.inflate(R.layout.fragment_map, container, false)
val mapView : MapView = view.findViewById(R.id.map_view) as MapView
mapView.onCreate(savedInstanceState)
mapView.onResume()
try {
MapsInitializer.initialize(activity!!.applicationContext)
} catch (e: Exception) {
e.printStackTrace()
}
mapView.getMapAsync(this)
}
@Suppress("MissingPermission")
override fun onMapReady(googleMap: GoogleMap?) {
this.map = googleMap
this.map!!.isMyLocationEnabled = false
this.map!!.uiSettings.isMyLocationButtonEnabled = false
val builder = LatLngBounds.Builder()
val latLng = LatLng(latitude, longitude)
val icon = Utils.getBitmapFromVectorDrawable(context!!, R.drawable.ic_pin_hotel)
var bitmap = BitmapDescriptorFactory.fromBitmap(icon)
val marker = this.map!!.addMarker(
MarkerOptions().position(latLng).visible(true).anchor(0.5f, 0.6f).icon(bitmap)
)
builder.include(latLng)
val bounds: LatLngBounds = builder.build()
this.map?.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50))
}
Дело в том, что у меня пока нет доступа к устройству, поэтому его сложно отлаживать. Но мой клиент показал мне, что карта серая, только с логотипом Google.
Вот почему я спрашиваю себя, что я делаю неправильно, или если для показа карты без отображения местоположения пользователя требуется наличие gps.
Спасибо за вашу помощь