У меня есть карта с 4 городами, использующими Leaflet. Mouseover и Mouseout работают нормально, но мне бы хотелось иметь таймер, который автоматически фокусируется на каждом городе по очереди каждые 5 или 10 секунд. Я пытался найти в документации способ найти все многоугольники на карте и затем бесконечно влиять на них oop, но я не могу получить к ним доступ по отдельности, чтобы применять функции для выделения и сброса стилей.
$.getJSON('./data/mymap.json', function (geojson) {
var geojsonLayer = new L.GeoJSON(geojson, {
style: function () {
return {
color: 'blue'
}
},
onEachFeature: function (feature, layer) {
layer.on('mouseover', function () {
this.setStyle({
color: 'green'
});
document.getElementById("mapdetails").innerText = layer.feature.properties.name;
});
layer.on('mouseout', function () {
geojsonLayer.resetStyle(this);
document.getElementById("mapdetails").innerText = '';
});
layer.on('click', function () {
mymap.fitBounds(arrayBounds);
});
}
}).addTo(mymap);
});
function highlightLayer(layerID) {
mymap._layers['name'+layerID].setStyle(highlight); }
var highlight = {
'color': '#333333',
'weight': 2,
'opacity': 1 };
$(document).ready(function() {
var layerGroup = L.LayerGroup([polygon]);
for (var i in this._layers) {
if (this._layers[i].options.name == 'Mytown') {
console.log('found');
}
}