Итак, я пытаюсь получить слой стиля из загруженного стиля в mapbox GL, но он сохраняет возвращаемые неопределенные элементы. Я в конце своего ума.Проблемы с картами GL-слоев
Я пытаюсь получить слой подстилающего слоя для хранения в переменной слоев, чтобы я мог изменять его свойства. Например, его видимость.
Вот код:
var layers=map.getLayer('water');
changeinnerHTML(featuresWindow, JSON.stringify(layers, null, 1));
PS - я возвращаюсь к кодированию после многих лет. Я просто снова набросился на своих js.
PPS: Вот весь код, если вы заботитесь:
<script>
//Mapbox Access Token
mapboxgl.accessToken = 'pk.eyJ1IjoiYWtzaGF5a2h1cmFuYSIsImEiOiJjaWY3dXdkN3MxMzZ3czZsempwbWc0MnRoIn0.y7jHQWK5lONsJ_6u3EJSTg';
// Select html objects that constantly change into javascript variables. Henceforth known as elementVar
var featuresWindow = document.getElementById('features');
// GLOBAL FUNCTIONS : Functions that are used repeatedly
// Function to change inner HTML of div, span etc elements
function changeinnerHTML(elementVar, newvalue) {
elementVar.innerHTML = newvalue;
return null;
}
// Function to change colours.
function switchColor(myColor, layer) {
map.setPaintProperty(layer, 'fill-color', myColor);
}
// Intialise map
if (!mapboxgl.supported()) {
alert('Your browser does not support Mapbox GL!');
} else {
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/akshaykhurana/cihlwytjz001kb4kqu0b62xq7', //stylesheet location
minZoom: 9, //minimum zoom value
maxZoom: 16, //maximum zoom value
interactive: true
});
}
// Get some layers man.
var layers=map.getLayer();
changeinnerHTML(featuresWindow, JSON.stringify(layers, null, 1));
// Push information to sidebar on mouse hover
map.on('click', function(e) {
map.featuresAt(e.point, {
radius: 5
}, function(err, features) {
if (err) throw err;
changeinnerHTML(featuresWindow1, JSON.stringify(features, null, 2));
});
});
</script>