Sigo los siguientes pasos:
Paso 1: actualice el repositorio de Google en Android SDK Manager.
Paso 2: Copie el texto json:
https://developers.google.com/maps/documentation/android-api/styling y colóquelo en un archivo llamado style.txt.
Paso 3
Sub MapFragment1_Ready
gmap = MapFragment1.GetMap
rp.CheckAndRequest (rp.PERMISSION_ACCESS_FINE_LOCATION)
Dim jo como JavaObject = gmap
Estilo tenue como JavaObject
style.InitializeNewInstance ("com.google.android.gms.maps.model.MapStyleOptions", Array (File.ReadString (File.DirAssets, "style.txt")))
Log (jo.RunMethod ("setMapStyle", Array (style))) 'devuelve True si tiene éxito
End Sub
He copiado el siguiente texto en un archivo Styles.txt que puse en los Activos:
// Copyright 2020 Google LLC
//
// Con licencia de Apache License, Versión 2.0 (la "Licencia");
// no puede utilizar este archivo excepto de conformidad con la Licencia.
// Puede obtener una copia de la licencia en
//
//
http://www.apache.org/licenses/LICENSE-2.0
//
// A menos que lo exija la ley aplicable o se acuerde por escrito, el software
// distribuido bajo la Licencia se distribuye "TAL CUAL",
// SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
// Consulte la Licencia para conocer el idioma específico que rige los permisos y
// limitaciones de la licencia.
paquete com.example.styledmap;
importar android.content.res.Resources;
importar android.os.Bundle;
importar android.util.Log;
importar androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MapStyleOptions;
/ **
* Un mapa con estilo que usa estilos JSON de un recurso sin procesar.
* /
MapsActivityRaw de clase pública extiende AppCompatActivity
implementa OnMapReadyCallback {
Cadena final estática privada TAG = MapsActivityRaw.class.getSimpleName ();
@Anular
protected void onCreate (Bundle SavedInstanceState) {
super.onCreate (SavedInstanceState);
// Recupera la vista de contenido que representa el mapa.
setContentView (R.layout.activity_maps_raw);
// Obtenga SupportMapFragment y regístrese para la devolución de llamada
// cuando el mapa esté listo para usarse.
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager ()
.findFragmentById (R.id.map);
mapFragment.getMapAsync (esto);
}
/ **
* Manipula el mapa cuando está disponible.
* La API invoca esta devolución de llamada cuando el mapa está listo para usarse.
* /
@Anular
public void onMapReady (GoogleMap googleMap) {
tratar {
// Personaliza el estilo del mapa base usando un objeto JSON definido
// en un archivo de recursos sin procesar.
éxito booleano = googleMap.setMapStyle (
MapStyleOptions.loadRawResourceStyle (
esto, R.raw.style_json));
si (! éxito) {
Log.e (TAG, "Error al analizar el estilo");
}
} captura (Resources.NotFoundException e) {
Log.e (TAG, "No se encuentra el estilo. Error:", e);
}
// Coloca la cámara del mapa cerca de Sydney, Australia.
googleMap.moveCamera (CameraUpdateFactory.newLatLng (nuevo LatLng (-34, 151)));
}
}
Ejecuto este código:
[CODE lang = "b4x" title = "test"]
but the map is diurnal