Używam do testowania aplikacji leafletjs
. Muszę wystrzelić zdarzenie zoomout przy zmianie rozmiaru przeglądarki.Jak mogę zwolnić zdarzenie zmniejszania rozmiaru przeglądarki?
Oto moja przeglądarka kod resize:
(function(){
$(window).on("resize", resize);
function resize() {
"use strict";
if($(window).width() <= 765){
mapOptions.zoom = 5;
console.log(mapOptions.zoom);
}
}
})();
Ten kod jeśli pokazać mapę:
L.TopoJSON = L.GeoJSON.extend({
addData: function(jsonData) {
if (jsonData.type === "Topology") {
for (key in jsonData.objects) {
geojson = topojson.feature(jsonData, jsonData.objects[key]);
L.GeoJSON.prototype.addData.call(this, geojson);
}
} else {
L.GeoJSON.prototype.addData.call(this, jsonData);
}
}
});
var tiles = L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png");
var latlng = new L.LatLng(28.40, 84.15);
mapOptions={
dragging: false,
zoomControl: true,
scrollWheelZoom: false,
doubleClickZoom: false,
touchZoom: false,
attributionControl: false,
center: latlng,
zoom: 7,
layers: [tiles]
};
console.log(mapOptions.zoom + 'first');
map = L.map('map-nepal', mapOptions);
map.invalidateSize();
var topoLayer = new L.TopoJSON();
$.getJSON('js/map/districts.topo.json').done(addTopoData);
Co mam zrobić, to stworzyć globalną zmienną o nazwie mapOptions
. Najpierw inicjowana jest mapa z mapOptions.zoom = 7
, a po zmianie rozmiaru przeglądarki zmieniłem wartość mapOptions.zoom
na 6
. Wartość zmieniła się, ale nie ma wpływu na powiększenie mapy.