2015-04-03 4 views
0

Я использую OpenLayers в своем проекте, но у меня проблема с изменением размера. Когда я открываю свою большую, большую карту, карта не вызывает проблемы, однако, когда я открываю свою карту в маленьком div, карта не изменяется сама по себе.OpenLayers Google Map Resize Issue

Я попробовал несколько вещей, чтобы решить эту проблему:


window.onresize = function() 
     { 
      setTimeout(function() { map.updateSize();}, 200); 
     } 

$(window).trigger('resize');


function resize() { 
     var div = $('#map'); 
     div.height(
     Math.max(div.height() + ($(window).height() - $('body').height()), 300) 
    ); 
     map.updateSize(); 
    } 

Я ВГА e также попытался обновить файл библиотеки.

http://trac.osgeo.org/openlayers/attachment/ticket/2828/openlayers-2828.patch

ответ

0

Попробуйте использовать этот алгоритм:

function reduce() { 
 
var mapDiv = document.getElementById("map"); 
 
console.log("Current size: "+mapDiv.style.width+ "/"+mapDiv.style.height); 
 
mapDiv.style.width = mapDiv.clientWidth - 10 + "px"; 
 
mapDiv.style.height = mapDiv.clientHeight - 10 + "px"; 
 
console.log("New size: "+mapDiv.style.width+ "/"+mapDiv.style.height);