我知道有一些话题,但我仍然没有管理它。
$(document).ready(function(){
var map = L.map('map',{
center:[30.0,0.0],
zoom: 2,
});
L.tileLayer('http://{s}.tiles.mapbox.com/v3/mboucas.ilm9bh3m/{z}/{x}/{y}.png', {
attribution: '',
maxZoom: 18
}).addTo(map);
var markers = new L.MarkerClusterGroup();
var points_rand = L.geoJson(points, {
onEachFeature: function (feature, layer)
{
var marker = L.marker(feature.geometry.coordinates);
markers.addLayer(marker);
}
});
map.addLayer(markers);
map.fitBounds(markers.getBounds());
$("#map").hide();
$("#buttonmap").click(function(){
$("#map").slideDown();
map.invalidateSize(false);
map.fitBounds(markers.getBounds());
});
$(".container").hover(function(){
},function(){
if($("#map").css("display")=="block")
{
$("#map").slideUp();
}
});
});
我已经尝试了一切
map.invalidateSize()
和
L.Util.requestAnimFrame(map.invalidateSize, map, false, map._container)
和
setTimeout(function(){ map.invalidateSize()}, 400)
无效。
帮帮我PLZ
感谢您的帮助。
答案 0 :(得分:3)
我有类似的问题,试试这个:
map._onResize();
这将强制调整地图的大小。