У меня есть карта с маркерами и кластерами. Я использовал решение из https://stackoverflow.com/a/16845714/2660362, чтобы адаптировать размер карты к показанным маркерам / кластерам. Затем я объединил пример учебника с полноэкранной функциональностью. Теперь было бы очень хорошо, если бы карта могла быть увеличена, когда я выхожу в полноэкранный режим. Есть функция, которая вызывается, но она не изменяет масштаб карты. Это возможно?
var map = L.map( 'map', {
center: [20.0, 5.0],
//minZoom: 1,
//zoom: 1,
fullscreenControl: true,
fullscreenControlOptions: {
position: 'topleft'
}
})
L.tileLayer( 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a', 'b', 'c']
}).addTo( map )
var myURL = jQuery( 'script[src$="talks.js"]' ).attr( 'src' ).replace( 'talks.js', '' )
var myIcon = L.icon({
iconUrl: myURL + 'images/pin24.png',
iconRetinaUrl: myURL + 'images/pin48.png',
iconSize: [29, 24],
iconAnchor: [9, 21],
popupAnchor: [0, -14]
})
var markerClusters = L.markerClusterGroup({maxClusterRadius:30});
for ( var i=0; i < markers.length; ++i )
{
var m = L.marker( [markers[i].lat, markers[i].lng], {icon: myIcon} )
.bindPopup( markers[i].name );
markerClusters.addLayer( m );
}
map.addLayer( markerClusters );
//map.fitBounds(markers.getBounds());
var bounds = L.latLngBounds(markers);
map.fitBounds(bounds);
// events are fired when entering or exiting fullscreen.
map.on('enterFullscreen', function(){
console.log('entered fullscreen');
bounds = L.latLngBounds(markers);
map.fitBounds(bounds);
});
map.on('exitFullscreen', function(){
console.log('exited fullscreen');
});